<SEC-DOCUMENT>0001104659-22-109460.txt : 20221018
<SEC-HEADER>0001104659-22-109460.hdr.sgml : 20221018
<ACCEPTANCE-DATETIME>20221018060147
ACCESSION NUMBER:		0001104659-22-109460
CONFORMED SUBMISSION TYPE:	20-F/A
PUBLIC DOCUMENT COUNT:		146
CONFORMED PERIOD OF REPORT:	20211231
FILED AS OF DATE:		20221018
DATE AS OF CHANGE:		20221018

FILER:

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

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

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

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

      <!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 10.1.0.3 -->
      <!-- Based on: iXBRL 1.1 -->
      <!-- Created on: 10/17/2022 3:55:12 AM -->
      <!-- iXBRL Library version: 1.0.8263.24741 -->
      <!-- iXBRL Service Job ID: b6cd5d11-b621-4922-8735-bbaff6a57417 -->

  <html xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:csiq="http://www.canadiansolar.com/20211231" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2022" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type" /><title></title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" xs:nil="true" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" name="us-gaap:CommitmentsAndContingencies" id="Hidden_zww4TAs6OEyiOwRiTgyI_w"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" xs:nil="true" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" name="us-gaap:CommitmentsAndContingencies" id="Hidden_K3XoJX5gMka1mTB59x0vtA"></ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityCentralIndexKey" id="Tc_Kq_iotwbzkymnXsv64CSyA_2_1">0001375877</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:DocumentFiscalYearFocus" id="Tc_Mr0b3n0gf0y5kSRIW_huHQ_4_1">2021</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:DocumentFiscalPeriodFocus" id="Tc_64C4SqyURUGN6PDivH5QfQ_5_1">FY</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:AmendmentFlag" id="Tc_1DzwDlvAhUKxekXdvEI10Q_6_1">true</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Hidden_ncmtLQ21g0i0Arsak-vouA">http://fasb.org/us-gaap/2022#OtherLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Hidden_VDAI33rdrkq8RnhfP8kqmw">http://fasb.org/us-gaap/2022#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="INF" name="us-gaap:CommonStockSharesIssued" id="Hidden_sZdLkM1Z00-00trEJjGt0Q">64022678</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_H4-bMIJmJUqusAGdH7D2RA">59820384</ix:nonFraction><ix:nonNumeric contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Hidden_HBHGmGHHfEuos-2dVi7JDg">http://fasb.org/us-gaap/2022#OtherLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Hidden_MtGyIV6DrU6RTTlWhUYIsw">http://fasb.org/us-gaap/2022#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_VhH9XirZJkyfoLzJaJm5xw" decimals="2" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" id="Hidden_Jr39bvl8CE2bMzeF44OEAw">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_pBiMMYTmDU22N895wwtESA" decimals="2" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" id="Hidden_Pyyjx1zI8kO4D61SSBFmuQ">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_YXmKrmgltUCvnp2haUAW6A" decimals="2" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" id="Hidden_s6guRBZwY0a5JU31YszosA">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_cR7FQksyA0-o3dL-8YbZXA" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_Ey00aiZep0GXxJPNhu1HBQ">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_2T2etnnrVE2LqeixSu0euQ" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_4sM7dC303U-rDLJPitklYw">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_AFwb896X3EeF1nreEDKDdg" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_2SBtbUuh90KAl6S4tIVWFg">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_5y5ULIA4DkCdkOMAuAiFEw" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_uZRAdK2de0yrx7QzcsLRbg">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_J_30WxZ97UO_v2deVXT7Bg" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_V4XzS5gLHEWS80P7cJ0Xug">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_DDp1zaQ110-EovbwyGqUjQ" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_2xtSB5FnAUCY7QAo-o34YA">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_lSlebNmusUOATx0pjkIxSg" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_bbbGH3k4I0mssVfGb6vGxw">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_PsgHX_YooEef3UvnVoTcuA" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_VF6GP2lX5EyCxofIsyy3Yg">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_CjiNgghbrkKIbzZi4WPyoQ" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_SyseSaG11UeZvOMJVZ1gwQ">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_5FavrH0kqEWnICagYp434A" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_9AmCOjSZzES-jsrRU1jZDg">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_jPFf4pKpe0eTbOGrV41MoQ" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_VErkGVmC20aIsFVi88JVNA">0.20</ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Z33jNDUCPk6_j20WJv2ufw" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Hidden_tRh4ksMz2UOesLNzdD09kQ">P1Y</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_jp9sPweq4ESjrX-EOOIvYg" decimals="2" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" id="Hidden_Lf8efQ4fgkqF2AE8deQC3Q">0.25</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_fOZ4Qa-tVkW-SzzhdVKrPg">59820384</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_07SkRc04MEW6zu9Uni0FdA">64022678</ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="csiq-20211231.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_tqb2FK_Qj0OeXzBvnA3cNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_i4h0_eHldk2t3KNrfgjOjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalProjectHoldingLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember_DYb0czy0b0SWbKVCGUWAnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:TechnologyCsiNewEnergyZhejiangCoLtdMember</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_SuzhouSanysolarMaterialsTechnologyCoLtdMember_achEREHdvEOvlRdwhTf8Rg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuzhouSanysolarMaterialsTechnologyCoLtdMember</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_RecurrentEnergyLlcMember_wiTjLQilZkaSQgC4oSCUWg"><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: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_FieldfareArgentinaS.r.l.Member_7KafbnOtmkC_J91TEpTSkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FieldfareArgentinaS.r.l.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiWaferLuoyangCoLtdMember_RZg-Az3N4Ued1uvbBQZ_Bg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiWaferLuoyangCoLtdMember</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_CSISolarNewEnergySuzhouCoLtdMember_qlN2bTycCkWatWhw8BSuag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CSISolarNewEnergySuzhouCoLtdMember</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_CsiSolarManufacturingFuningCoLtdMember_bFVjgHxopkGFqrMwd4SJyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarManufacturingFuningCoLtdMember</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_CsiNewEnergyHoldingCo.LtdMember_aozydgQ_T0695nR5G1BnrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiNewEnergyHoldingCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_V9THTzoFa0uRpTIhOU_tDA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesJiaxingCoLtdMember</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_CsiModulesDafengCoLtdMember_wk4SkUnjekqTwal-7A6k3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</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_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member_PcU81H7kUkylO9CfkxQVxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiEnergyProjectTechnologySuzhouCo.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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiElectricitySalesJiangsuCo.Ltd.Member_rC05HQgYlEu1qGzGpm3Aqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiElectricitySalesJiangsuCo.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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_RHyvukqN5EeK_XFAommL3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchangCoLtdMember</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_CsiCellsCo.Ltd.Member_FMDPs5BsMkGWiyS110TB9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiCellsCo.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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsCo.Ltd.Member_uLAHdiji70KZ0lNrBksYeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsCo.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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_K7MFHdOdTkiK4EQwsmzB2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangsuTeguNewMaterialTechnologyCoLtdMember</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_ChangshuTlianCo.Ltd.Member_BxwdTQlaEESKMMfjkrgUFg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangshuTlianCo.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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_KGn43hoLPUi3GMi1F21q0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</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_CanadianSolarUkProjectsLtdMember_cb2RuziMWUiYu4qtqSQwug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkProjectsLtdMember</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_CanadianSolarUkLtdMember__heS167FXkyvtQFyZwBrxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkLtdMember</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_CanadianSolarSunenergyBaotouCo.Ltd.Member_VZZFWnOHj0qEUJrXMZcNWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember></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_CanadianSolarSsesCanadaInc.Member_xr1-hO41pUixsPOwgdhRiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSsesCanadaInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSouthEastAsiaPteLtdMember_oVI2rxtTMkW-GCl6Hj_d-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSouthEastAsiaPteLtdMember</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_CanadianSolarSolutionsIncMember_37C33xvdq0q6UT3exlTTXw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</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_CanadianSolarProjectKKMember_7_RfAMx2ikuv4vUCm7H1lw"><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-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_CanadianSolarOAndMOntarioIncMember_EGJWYOzKvECx7wAcEwFPUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarOAndMOntarioIncMember</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_CanadianSolarNewEnergyHoldingCompanyLimitedMember_pDd1eUUCV0eW0gjf7osQgQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNewEnergyHoldingCompanyLimitedMember</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_CanadianSolarNetherlandCooperativeUaMember_ptGwFyjcn065PlxKcxEH9A"><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: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_CanadianSolarManufacturingVietnamCo.LtdMember_8ZthnZ99AU65eD288cDZFg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_OG-peTBP0UyTXn5-q9rnxA"><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></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_CanadianSolarManufacturingLuoyangIncMember_Z-IU3gmZxEi7U7anGtuRrg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingLuoyangIncMember</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_CanadianSolarManufacturingChangshuInc.Member_M4bem92xgEWhEysG0k7DEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_RvFJCl4Ik0Kmz9om3Z7PYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</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_CanadianSolarInvestmentManagementPtyLtdMember_NWc7rhX4TUKBu_L7Wx7P5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInvestmentManagementPtyLtdMember</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_CanadianSolarInternationalProjectHoldingLimitedMember_K_PgpWOv706N8toXp410ew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalProjectHoldingLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_3EDSlOqkRUeV2uzrzj3P2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_h3NQqmaPBUaebk5Px8RO_w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingapore1Pte.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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_0vTPLaPJDUG3f_v6L-fLJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</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_CanadianSolarConstructionAustraliaPtyLtdMember_r8qx7ymk9kKBMu1B-riEnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarConstructionAustraliaPtyLtdMember</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_rmptUuTCGUG6oiztZfPFug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</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_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember_pO_nzoslzE6uIAAXkJftaQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember</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_5_27_2021_To_5_27_2021_yBbVfX4M3UWc9NQ7IpGQSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></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_3_1_2020_To_3_31_2020_TgZICfn6hEy3hqrBJ86-zw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-03-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_1_31_2020_wgb-SEYTMk-03JBLWkCUZw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2019_To_12_31_2019_qRZDr0ef7UOSKDkb0ueK_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></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_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S8MP3ARTm0qp3g41yO5QiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_5z_uSD2qAkaDDIULyoERZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LeadingInstitutionalInvestorsAndStrategicPartnersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YZImHl_s5k2N7FJBnt2rqw"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_3_5_2021_To_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_Cpu-VJy4ZE-Maoq6e5jM8A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-05</xbrli:startDate><xbrli:endDate>2021-03-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_LAlzLsbg20ezlsE9g9r6TA"><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_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_4Sqifx5Mh0SuhtS4MpE3Iw"><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_50Rvn_EMokmwxR64cR5SSQ"><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_qY-XeaYWuUKCuXTxDDtKBw"><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_td_9e07pu0OzNodH-a-x2w"><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_Va2HcDRF_UeR0zTVT1MZrw"><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_umuq4OaVVk-LJQ9ugt63mA"><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_YTKQZI_RJUGPjDViw59KmQ"><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__-ObamsmikqfLjIgHCzeOg"><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_WpHjOnW6bkiEo74ttdLUpg"><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_-sFcBXfVkEucup3UTK22lg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_DQdj51c9-ESyryXo9oA5tQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_hI33H2tOQUWrWgZPtXpQIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_V8azuFbEDkqu-vk6w20eTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bgOHWUfYk02tSDCpIFfCDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_hTp4ySjj0k-gnAuyejj-zA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_PJUjWnPnX0iW6gp8BM6gsA"><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_l0PfX9AkekmXplghvvyGqA"><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_wWqS1nP4E0m5tNSDPdY5AQ"><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_KLKKRa2i20KgKdbx4bzQ6A"><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uah-L9BZ102s0WRNhUq2vg"><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_p6Lpuu7N-U-xwKZ5fs-FWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_itahHxtTc0y08hLwjrxP9g"><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="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_0xADt5H0X0WqyNWDyC3JJQ"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_A0PbjptT40qA1djr0E_bCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AyfQqXj0OEuY59P6o6pN8w"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2010_s3G9vuVMLEKbL1Z0MxJUeA"><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_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_JJPbs518SUanV96zQTpuGg"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_3McteKMMD0qH9XmLnK0FYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_IBS93TUtfkCxSHzbkIqO5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2021_NIDZlaYFMkadD_qI5h0k_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_jp9sPweq4ESjrX-EOOIvYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_Ba4F7CshTkedjY241WQqng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eE4SLBxJQ06ddZ7dQ-gIHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Z33jNDUCPk6_j20WJv2ufw"><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>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_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_E7NIB9nvqEGtpcO-tbnOdw"><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>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_ShippingAndHandlingMember_b1w-2BN5HUy07gaU0yZ9_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_G9RAwZ7w5kW7SPxzwvMdzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_ieSbl89XCUSV6clFD-_WRA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_jPFf4pKpe0eTbOGrV41MoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_-Tf3W_DQ2E6DpqxzDDMEgw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasISolarRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_lSlebNmusUOATx0pjkIxSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_PsgHX_YooEef3UvnVoTcuA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eA7NYPRbYU2MWcA3iUEhnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_F5tVuICzikOs2U7m2K3bYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_OIuG-oANvkO3JZ1qQ790ZQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldingsLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember__0hvYQboPUa6qYbdybVe7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_cR7FQksyA0-o3dL-8YbZXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_2T2etnnrVE2LqeixSu0euQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_5FavrH0kqEWnICagYp434A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasVSolarRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_CjiNgghbrkKIbzZi4WPyoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIvSolarRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_a4P3xlujpkmjnVKA6ug8Ug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasISolarRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_hxiFXzTO2EO6qLw26P4lTQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_zpqkGc2DHUOgzXxVyxDNHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_5y5ULIA4DkCdkOMAuAiFEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba9RenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_0vF19LuyikKPBGkXvs22-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba3RenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_AFwb896X3EeF1nreEDKDdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaba4EnergiasRenovveisS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_EVTi4Gc5UEitPB1M_IqFZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_J_30WxZ97UO_v2deVXT7Bg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_DDp1zaQ110-EovbwyGqUjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_2sBVBL5VQ0iTOQ91u13Zdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_n0oxhOtnnUKkSVJrNu4pMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_IxgwTu5MGEGmsqW43dExCQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_mF_xRt7pkkOFXbsZdwOsew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_x6lJFWJKIU-mQKpfcvAqPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba9RenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_1kRO4YQ_m0Kc7nDZl1ypkQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba3RenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_rjBlvytdyEeIsveGirR6Vw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaba4EnergiasRenovveisS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_MbVasNWrskKhUHTyvTDkPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:EtSolutionsSouthAfricaOnePtyMember</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_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ZjURteT3yUenk-XpI1O1Yg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_dzF_rcrg4UiN2pjm0cNswQ"><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_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__dxh-hXug0Kv6Mf7i-oDSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_xZtmy427aUKvoNbTgF7TWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_goAn8WflEEmaIplAfD1fBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_zAX-wpHoOkm_5LC1t9loKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_peQqG8-OlE-ZWdJ0e8ZpQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_d2DSZWhyakma-X6rZNGLwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_7rOIARiEWUSIivTqK3cIEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_R5PE2AAQnkGaCQj2kNdwHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_TxhYFdH_hEOqJoRFhWJg3Q"><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_DmuxOebKG0SJDwi3Pi4CXw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kcEA_3b1nEe83mUCC3S1ew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__fOxEYDmE0Wyb8c_RaSG7A"><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_ltgvwZgl6kqVBxR9oYKwwg"><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_8FGrK9tKT0KIijm-8CXkEA"><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_7F96sK53PkSFbnk-mC_6lg"><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_UwvZkTWoZECweW-yP0UtLw"><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_FOkgPZSJ-U26y7EBr3D8LQ"><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_-8Ixlb30SkyGFX14q0srWg"><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_FRHfS_PpL02knINtBrjUcw"><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_qLEhN3JSmUi-_L5amFdAwg"><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_ounkEYS5MU-j742yyGpkuA"><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_TH_3-PjaagcgEipiqXmhN535g"><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_PK_3lQh_Gvy70eKmIJIkSFoLA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_CfFX0--CQEyO6REezT5ERw"><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_yjxkrx7Zv0-cUEwil_4d-A"><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_KR_lJrYExlW_UWZlFccwHZBXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</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_dz7Hu8fc6kmv86IP5IcaQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_6blmn5-u_EWa4J8JZ8zjpw"><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_GB_xn8PghuykUKW5xlIFyVIUQ"><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_MaBvpEpqNU6cH6uKxO-wNQ"><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_iabk5z2X4UGye1o22t_JBA"><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_F7GFkec1O0qY4xEV01WwGQ"><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_0WNWq8-3dUSuOgpslu_t1w"><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_CY_NRBrDEC_rU-g6JcBM8tWFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CY</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_yvOhb2HZTEKp7gYLoITaGw"><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_CA_ifyXKIojZk-rAYAT5VeIeA"><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_2Z7XNnRkpk-oZuobLNfAEQ"><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_zVOIiX1A_k-Fq-7wnYraqQ"><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_R271JHSniEiwqf9ulABpjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_l71XJMFKWUCgIe9B_Tngww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_wIaNeQbxTkq9vO40IGTwHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_RpK33S0yw0ejhXDpUMlgZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_79M2RwvBWUGMmil6ZOAwcQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Pxi5U7zL2EiSTRr96OyEBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_e-ac77NIhUe2vSgPG9LegQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_QQPCBlw0VEKw7OBsPVZddw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_rrU8t1CnrUiy5c47fTJ_xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_OqrCmk5C4ES1gpMtPWVPlg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_EQ6Ya3FbsEGlM5F_mk1TAg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_P6G7rbv1KUmIZKReZmYi_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_STamKgI5KkG_yFYWkdlGxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_J0UO1kdQEkCk_W85pXZqwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_frMQ_n69CEOUNNQmgaVHVg"><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>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_EuropeMember_d14FNsQhBEqSJ-ccwDkKUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_AsiaMember_COpLvZuVL0Kegh20hCJIFA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_E_I5ixiw50uOs3QnD1PkMA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_pDi1VqZjH0OqNDZGnPPvNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_avmO5iJrnk2dvNofLnJbpQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_AmericaMember_vkFvMoPbokmS4E6dQiAcqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ZA_-YgFz3p-sUOgbhrjldy9RA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_VN_O9q9uO35JkWPi7CeIN9qog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_US_obwjyyWI20m-ie9jxNJOkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TH_o7iSOZFaaUyOuPR6-MXDqQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_PK_kg1qWE1xR06nh35rvWMTzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_NL_4V6S4bw-Vk6BG7Q5qci5Kw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_MX_sjYVxLgwYE2-2wivQ9bj0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_KR_s-mY1aHxq0y_jPzkER6Kuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_JP_J0i7mi7680-SNEt-SRVzLA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_IN_8HBUNAu91kGHNpD9skQ--g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_GB__0X9Jn6aXEqUUUsUnpyWlA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_FR_J2YUr7mV5UaY1hWBc1dZUw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ES_z15IRQI69kaBW8OT4y7IyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_DE_LtHima8Y8EWu7VERlRaNcw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CZ_9DEo53GbQkCubC064jn0Jw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CY_QHWoCddDXEmY5qy5US4srw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CN__yjfL-zxs0i3ZF-G-U4yyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CA_Y_7sZhfQJE-zek2UtAat5Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_BR_h_YsQ2mGYES4oD0Suw8umw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AU_t8fS0Ch970qncTfbcB7Q5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AE_FgwyIB6BbU2erbMiYl11cg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_UtRGT9yYcEK3LOZ9qcTI4w"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_l52SeNDL4kCfpGSsK_MIBA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_gltzHARFf0-8RAQrVXEAiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__buqhCfzBEq4nwC7ZlybqA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_N2KxbgY51ECHEiBfa7X29A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_1LVd4QPHDkOCmCY6PJ4XfA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_OCFHpCZGQkOzU-OhL62V3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_FxMWBZ9S-06E6QiEQAsoCQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_CYYxEYxwe0WFH859XsqU8Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_DlOM8CDZMkmeFN4M71aOUA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_epCDBGs1gUGU06ER_5AB9Q"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_3kavcihnPEOS9MW1xFNXKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_SnqdvI77aUio2uP6sv4lfw"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_AsiaMember_p9DYRhnbUUaEcN2QRprCBQ"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_LfEFSvPEY0SbGruHIe6UCA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_E5KDnSPpy0m8jrwPjS5Ogw"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_2WEn1xKGe02Y4WoJOtttzA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_AmericaMember_K9aecb82RESpJ1KDUEQ_LA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ZA_MyaPGY3R1UWQc9LoIN5Ypg"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_VN_lH6vEXweRk-VY70kZNSO2w"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_US_kcl7GL-cgk2NoUoQfKKeMA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_TH_CevHWHCX6EWhibZThSlL1Q"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_PK_p5H5rYm01EK96gO4jbcOMg"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_NL_wokvyHKHNk2-cFPOz8DzuA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_MX_n3yUK3QNj02spee39W3QXQ"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_KR_XdyHYRK8tkCBv8v7TiN5XQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</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_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_JP_syVhu28sdkm6570zavXdLQ"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_IN_025A0qQJt0WZlHdFHIncUQ"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_GB_DDsRIq6HtkGXzLTGSuG1yQ"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_FR__MKZbggBPEi9tNH5b3Mszw"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ES_FT6PFbwExUSXEwZgaYGlFg"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_DE_69IbvdmTfUyIcQdPjmPXZA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CZ_W-4sW9wC7ECstQma09LzlA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CY_WQyr5kI250WUzcsEew8xpw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CY</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_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CN_ffSQq4msWUq2YE6vSSHe9w"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CA_P1p8fPWAJk-9GI8rGq6a1A"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_BR_sMYgLjlD006TduaR85q2CA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AU_7SAuLRbnHUi5qiB1_pgcoQ"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AE_zmM5XiDgv0O8mDIbrFXu4w"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_l7TNx2shO0694Z4FOLL2MQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-11-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_RjM6SdTi80m47MM-P_rBMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RzhyAfNrqEykhHJI_Ff0-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RztR_BtH6U2nJivkjpJvRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_a2_kny-ZgEOjn965789wGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>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_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ddLx-L-AiE-seQ4kH9l2tA"><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: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_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_aRGwl5_gLEu_KkmxmQfGNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>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_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_DTcWRA7NPkOydiyHSSKmAw"><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: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_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_6EcpkoepsEe8pgQMrxysWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>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_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember__y5lntMS9UqAvn-5W61lHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>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_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_4sd2jhr1CEOg9hobXiaNQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_kV1zWAeWvEeVEqMZw5mogw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_UoYBzaTdSU-qdqiX4VYRvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_WUmGBvWKMkaBlt8gdsNiFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_z77O0eoBz0-YeUKRFxNMAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_huHdn6rGrES9kDGhkA7zXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_-FM8yzjTPU2U8c69ax-n_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_6HIB3VlG6Em1adFmZxDSUw"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_A8jAP0LWfEOPT25iutk66w"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_e4ksN3XW6UuxGTrGHnRcNg"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dNbDeMD4HkKSp1_pKmfuUQ"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_H6GQ4xmxwEyeecDferH5jA"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KHu_sbSbNEKbY2JngZ0BEw"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_TU3FSqXFvUSMFMMjnpHfaQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_yCA4MEB17E21mkFx-hMCoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_mPxLydfwSUS88XOXKZ-ujA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VGai6N_0CkqgbuFCOW6oFg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-09-01</xbrli:startDate><xbrli:endDate>2020-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_O9B-vl1P30qBieeFTysfIg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</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_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_CAOyA5KI50-WJi9PDkIBWg"><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>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_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ytrnuOWe9k-4pqxQnXLegQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</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_CanadianSolarSunenergyJiaxingCo.LtdMember_kQB-djhflUWo1A_Fv4UBYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_h9l9SUNsf0iCgw7gtS9a0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-05</xbrli:startDate><xbrli:endDate>2021-03-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_K6UnWxB_YEmH_A-OWTCS4g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-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_A56AHUScQ0eenbpf51sinQ"><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_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_vlmqd1Ta4Ei7OrKojW9nzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_GrantMember_XEb9CBo4nUqOn31P8X7STg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_jxXOkndr90K_G60fa4kK9Q"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__Ap7ax5W7EK88lAOqwFluQ"><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="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__KR_9vw_uEyqcZL6VwQ73A"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_choycYnP-k-7cxsVxR1z0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:SeriesOfIndividuallyImmaterialCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_vYuCIls3x06juvq0UpbAgQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_TH_pL_mtBZ17kObDk71r0912Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_MX_-B0524S91U2e_xI_KptfDA"><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:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_JP_5TgPNpsLWEqwtV7kFtrNNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CN_Vv9ECZXhBUqVSqaiYdNv7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CA_16gKn3wFiUGP98TbNxlINw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BR_xqu7C1q3nUGlt1e8bzYhQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AU_sq20Djqv0UK02ctkHcDcpQ"><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:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AR_mOizzBcYDUeY7_Sw4QH0mA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_hPStx7B-oUqpOt-829sB_A"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_US_DFdlzqFh9k2WxcLG2vckyw"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_TH_C5t0OHERH06MxOiv9qX_Bw"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_MX_FNReTwoNKkWtT6lsA2Ct2g"><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:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_JP_LVfByFK54UuYea7EzoYHpw"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_CN_xD--h0hBtEWjZeXt1dVZaA"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_CA_fsiivO6aTUyasL-XrVoDeg"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_BR_ncq-bwAny0C3movTaO2GWA"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_AU_Pv54haYrZEOOOcGrymBAtg"><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:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_AR_IBPjEDW7yk-ehceVg8LGYg"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_OwnershipAxis_csiq_CanadianSolarMember_qOH3oMlSzkKECsf4ZCOzog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CanadianSolarMember_uLKXVXzo7EyPhuOKasog9g"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Lc2hbF38FkKdvj0BErOFiA"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_HWID1THM1EGllC3oajhKGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_On1nXgaKx06eXWTe8-NyXQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:HorusSolarS.a.DeCapitalVariableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_-zJWEog1M0yehDRrYOL62Q"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_vPdJhM_tVUW-1_7r-ycEpw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_DRVkejT-HUqvBMMQ3fNAIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_zOFbBprUrUGY8rwoWeAq9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_BtAWqe6MiESMmXXMetgJ-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_l6A5P82JtEe3WfB_SRTpkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:WorkingCapitalFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_uy2tDu5PRkOToO2aOQy84w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_Mu9HX167IU2niK97OnGCeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_2kQ-mKKmTke2K6A9v1gyYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:WorkingCapitalFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_YhZlUnWfVESR2FRwiMXvHg"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_g9thuX8JTE6AThgixMUOjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember></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_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_gXpW8PxfJkO1h1L-CEJJUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_W3nlEBCVNk-ip0Je6xKdbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_fvuMNystbkm54xuEPrXFbQ"><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:UseRightsMember</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_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_isxfdeEcvUyoIh4HbkYtfg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>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_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_oKqpTsuAeUSlSEhOGPyIKA"><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:UseRightsMember</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_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_fR0lrTcZD0qmDZrKdg6OMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>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_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_cmfqGEnIBkmpZXBiPOJG5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_awYlA3Z1R0Ov3l257vb9Zg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_kl32AtrNhUqJBbWIHcfnnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_zawpYAh-P0-PmyHGn0d09w"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AmmuiOtJ3kG2WVH-TKc70Q"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_zXU4iMNy1UyqZInwrQRxow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_-DEh7xZa1kSPfVao5fo6wA"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JVHkhMNPkUSeo8Snu_VgsA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_Jop9wKV2nUWA13cAO31NKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroIRenewableEnergyS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_q41oDN9fPkSm17kfZYv6bA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_VhH9XirZJkyfoLzJaJm5xw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_9xSPrZGqtE-xVn0RHd2AUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_pBiMMYTmDU22N895wwtESA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_YXmKrmgltUCvnp2haUAW6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_FO_z5VqmBE-vN_DhG_eM-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_Rn8Ovx5w7kCM45SUAXks4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_7GEjb6I4nUmUf288tBIYEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JushengSuzhouSolarTechCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_P7aBSBn9f0GA3-hrPD7sTQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_jjjBXuIm1k6Jpt9u44w4cw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JushengSuzhouSolarTechCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_dmVGokYJwES-hEnT1rV3HQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_DPNQNTQZi0-K9xkRAMdfcg"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_j3iyoVICHEO0fNLF37P4OQ"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavrasSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_M_SsCt1A_UGLgDWI8TmNjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_a0QTEi6hekeHPuw_3-Hd7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</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_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1kXLRU8usUyF-Wud3dkXKQ"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_0hIAHSGJc06TGUtE91Kr5Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2015-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_beIHe0YC5E2IwM2Q1js5pQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_7n6qXdFcG0edKu-LHefTHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sB54lBUBbk-0JrNATsIbYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_W9Lufsae7ESRBkF5t872yA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_dh51yB4xQE-qrGALjQD36A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_hy9LXXCss0-n-dN8aTEwDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_azeMWygeSkGGFmhr2WCjtw"><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_Uk6nWU03SUOyPZ-gAbXG5Q"><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_aJa7efIEBE6XFgrNQRpckA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZdZrkK_bNUa_lD63ryM5qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_4E73SSWE6EaMoTQfEqHSAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_pOy0KZxhJUijWIhxYXMWVQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_llairrzg9kqdJwN6tyAMYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_2C8fcSjMSkSPPe9hew5OTw"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_2Hv_NQbIEk-OzvRXFu7rTg"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_k5FdJZJTQE6R9o9Ez-V4-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tOPsYRzvuku7j6hgsPIKVQ"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_z6oG1VEGYke7c-PjvMSzdQ"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ylpZg90LHk2zZiR3H2XEPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_hf5NGKDBpk2DJoKbVbsXEQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7C7tlO2W6k-xf2WTdGPQ-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_4FWVVmlT5UuA0CAFPFqgBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_-JW98uUv70qHAwAPzcN8SQ"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_aXaYQ-GGW0CxRUjHUbg8fA"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_kLzxw1pQMkmxx6Li_rtfTw"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_b3l8cSbYEU6Vh4Z9XdPP9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RRMsT1YOEUK0V4sv2xF34A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_lHr8ufMChECO4U9Jus6uiA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_3GXLY-8k50SIHiuXb19lQg"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_tItpqhiGNku2EFLZ-L5B_w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></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_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_BIXrp1saoE6tItdXhzte-w"><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_hqXUcsguAUGtuMeOGEU0Fg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_qPVLDnfmBUeHudH6xqb48g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_wTn2tvhBNkWzDJdK2D085Q"><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_kD5xv81kAkevPJ7hC9Kz4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202004Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember_jSU1pJ5frka_aeStj9NjTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202004Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2021_To_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bLUGEiEC3U6MotjtmLk4ew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</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_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_aUfnUcGUyUKE224FJqeGwA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_PyKnPSYlJ0OgZupPPItelQ"><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_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_HMemPwh2dUC1uU3BDI5_qQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_DghxPgZC3U2aDHINY81HdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_sRfPiB6HOUea9322YBIc8A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_CQz9aYoigUOXY2YQfiJLQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_Yp0h0VLO1kyhPd2laRNnXw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:AzumaKofujiDaiichiHatsudenshoG.k.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_QnJcDuRnN0qQ4mshUIcLxQ"><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_Lk33d0wmkUOf604JayASmA"><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_thnJXXgtjUKzYqPbUNTzoQ"><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_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w"><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_JkRKHAFxjkaQOtdb47DL4g"><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_JP_Bp73lXxPp0KE4ondMp-wZg"><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_CbqdABqQtUu35QBcOh8nrA"><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_aibNVaUiY0aiy309eLSR_Q"><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_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_2CrNmrFwa0W-9cI04555vw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_y7rdLKDMzUWWV9BCmLWXnA"><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_B0s766eFTkO3q-LoZL14Rw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_FO5MJcP4O0GDffwYtuZ2NA"><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-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_i_8gtFGcD0ixbpZCGc_LGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</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_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_UYQZdkvKbE6nysGhvjMsZw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</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_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_disP1NReJE60KKYXewwHrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_hGJzyZAl1EyArdM16LuAZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_g27esvantEmJMcwiOmQJlQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_96rt145tuku5BCo-ttooCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</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_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hocUE_CKR0-8Kn9OLxkuhA"><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_zHNZ8v0ba0CRcLslWy2xSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cMIz4rA9TU2JOchZShgAzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_vsFrU3n1oUWFZFVF98mncQ"><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ZwWUeo1uYEa046CeJ5XdKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw"><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="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_5Q6sXUhYekmYmO6DNCd4cQ"><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_Ev3jp0kuv0eRIQPS0pGq0g"><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>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_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw"><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>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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_wusFvHH9RkmWQDwNEa0H-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_QM-PwdE6rUCTWMZNnOhN0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_98hftRRMOkChq2Wao8Nmbw"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Dn26cC9s_UuMJ1xEJrGk4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_4T_NCYEy5UybEiqn8Q0tPw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_bf7Q7pXEPEC5G2Zs8iTang"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_HpSRES9v6Eq5rxIfbUS_MA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_e0_G-9mSx0ebqaJdY_0Knw"><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Q4VpPoQ9bUygy0-qu8hMsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jJzZxlUtbkK06QdhQvx-eQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9heE3Xy2TUWrHfIcrVsU1g"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_J_1YYATexU2mCgsmLZ-G3g"><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>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_AllowanceForAdvancesToSuppliersMember_SXh7c36LUU6pmxQDXofBiQ"><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>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_ij3rWr6yvUiHPpuavngDfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_W_fJ8AvjlEGpNIoLk_ydbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_RyGOuak2hUG2Vk9Wwaw2Hw"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_sY12ZlW3GUuVNWRhjtCJ2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierCMember_DRYi3nBre02_MxOTX0njxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierBMember_sDODvgHt50W6Uypj93Fo6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_4a8GjbskAUyY7X6coVBiGA"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ"><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_ohPEQsVfAUKj5tlbi8vHRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_BB0jA9ShtUWzt2hZf5lgeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TVcCP7v8-0WN-njQoNHJpQ"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_4dMixeIV0k2MxTCQ_xANYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</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_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ukvolv_-z0-rusmhvRXrBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</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_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_hmfRew07WEWAEfUcnYMpLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_8qBCfaIMt02j9DdASJvJwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg"><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_AllowanceForOtherReceivablesMember_QueGe8e5EEGlINdWVqJp6A"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BM0VLg1Dgky_h60ZAGRnyQ"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg"><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>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_NL0LmfYfqkiZV1IATUfOyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_DDvJyNTjwUymyvPm2FEHmQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_9y9FZLXcVEysruByGFEoZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember><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_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Iof7ixIH206pnDUM37XZOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_rmZFTOhOLUm4_ylu-LxAfA"><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_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x3ozolcCaky22YAYuHQBBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_x4H_mnzlN0yVZF2ueX4mrQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_D-h256mGCUeWbYfDZB3eYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-C2tmKDmH02lpXkXqpKMzA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_3KvATZByD0qH5-DH83BCSw"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_TeVEUvCXQUSWU6WK7q2iEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_11_30_2023__tY0T467tUiQCpIpuxU5lA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_RF-Ll5VBzku100Bzq0cPKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:OtherPayablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_tFDCQkmzn06EILalpnxGNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:OtherPayablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_OX69uvUvgEeRUX95Lq8__Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectMember</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_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_3kWoO7oXNESnMI9VcRKVWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_vF3dX8aG10S00S82cjWQZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_tN6QA7tF-Ee1plzQX-LjGA"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_qq6RWunVjUGoxXVpQJnlzg"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_RTTvZip9J0CqODHRumDZWQ"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2009-05-31</xbrli:startDate><xbrli:endDate>2009-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_qszmqmVASUqm3TyrG99g5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_msGwISC8g0mhJoxNV27H5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZnTfdOios0yc36OAiM-GpQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ICk9WQ5oxkqGuH3smD0YnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_tNIQz0WB60iZW9nWEmc0Gw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vRfS3XBzHEGsNMx9irKSfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_3yDVwDhOBkKcKdcPGe8AVQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_9j2lvICjj0urOFn22UNdZw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">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_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_GTbDK5MgXESCwt9YN-gcbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_czqor8-loU-G_U5pdxyy1Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_dRZAO1sV20S4WkUQ88cB1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zL5NfHVEEU-YC8MaoZhUnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zAg4m3NL5EOix_5aNdOQIw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA"><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>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_RdB8_mX8I0aRThF6LoZEMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetyThreeInitialPowerCapacityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>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_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_ERgYShn35EirU9mKfM7MTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetySevenPercentInitialPowerCapacityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>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_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_Ec21EHB2RU-MwsuUQ_ExbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:EightyPercentInitialPowerCapacityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_fpPmUFuuzEeHCLqzq0AOgQ"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw"><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>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_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_UZMRejQrk0uYZLlw1I1EOA"><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-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_yeL6uPWqSEeLdkCTaaFyiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PVROSTaWdEqqi7Cswhmi5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_5_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_859O9c9_LUqZ6m1wYcPFjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-09-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_p0KXTUKynUC9yPKkGU_G9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-10-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_IPOMember_EtcHhHkAzkKCJrGDDM9deA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-10-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_PrQ9s49HoUuMYOhDU8gRoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-01</xbrli:startDate><xbrli:endDate>2020-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_QPXBOu5fkUaxFeGjzZH6sQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FEMhfvtnmEmeODvi6CHTEA"><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_4_1_2021_To_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_NcheskuvekWV2WdPDcctKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</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_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_i488skE_xEmAisD_7I1pfQ"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_v3HEqwcoVEanEqlajCmjtg"><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_M1sdGG3FFEqvfpT9WGyf-A"><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_XEVHaMJlRUeCkD-fWxHyDQ"><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_tgyoirmWtk-Yzh2d7Dx-iQ"><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_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_1erpeQTVM0mH9pZ0_UovNg"><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_k-LN7EUcf06SYFU0AvTvsA"><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_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_tB_cCzPJ3U27dGCGFNeWRQ"><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_12_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_JMK5gHEv-kqfMl0sybmDmg"><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-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_RD6usPMsok-LgQvQDkbiOw"><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_uXCklUTuz0KRwgJp4_zFyQ"><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_iV0GKhDQ50WpZTdhDC5qHg"><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_83EddPiNb0KeWAB2PIyNUw"><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_kl9R2V6Ok0WmHZbWd8-jYA"><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_GeGE9Rl5X0-C0YSi5EM00g"><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_77OFDK5PyE2HC-7XNQ3LYw"><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_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_dyLRn9cGgkSDOgUwq4l0ug"><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_YH0a47-rO0GI9viQdlNIbw"><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_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_B3drILgsUUiZB2zJ05mwzQ"><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_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_sNmkbdiWWEKZWa3LyMN7RA"><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_veaxoUMR6k6Y6UJhpOtoAQ"><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_4Z2WfiCUzUmLFSmFx2XyZA"><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_tUmxDeaXcUa0_Td237Uj_Q"><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_XMD9znkGZE-2pYtGa7zCiA"><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_gfLuiJznQky21NGFTqFCGQ"><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_aDTQ3qXSTUKEk-1QTSVKVw"><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_4Ep0SzwFZkG1QF4qZA1vAw"><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_yrxXnv6ioES4wTpVfho81w"><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_5y3IE6XXnkqcDTIa2Mt_aw"><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_EZtvWLvCH0yqRvvYbsMGtQ"><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_HEaQkQL2nUuMsEkKLQKTjQ"><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_H-0yy-o1K0uK3isCGzVm2g"><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_1_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_oW8tlBjnc06Z1L7u5MJu5w"><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-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_YD91rwU1YEqq9SKaMxiVOg"><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_buK8SSWF90y6uBuwvEEMiw"><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_hA29IY2fZE26Ymmp8BaF8w"><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_ntafGUPF5kq4fQZeHZR9Wg"><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_w1r4RtFROE2L6zlFtM_lbg"><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_oXiRkKYQt0eXgub5HqA3eg"><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_t0SpRdeuQES6fNeXz7nE0A"><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_HJB61ojXhEmaKUcPG0tCpw"><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_r56JCLFno0mrwTuThxCe_g"><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_ZtSglFbby0u-42xoXxYVXA"><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_aXD9_33fcE6XHGyiQv0jMw"><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_3y68_iezHk-3_3ekb3vDpw"><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_fJntDOic5kyMSpGDy4Falw"><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_0U4IKU64J0WTHuQOm7DLKQ"><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_iyVAkjPf20SvecMiq2r4dw"><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_QUs7y4anYkGNI-P-v32Pxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2012-11-30</xbrli:startDate><xbrli:endDate>2012-11-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"><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_-WSKZ97mxEeMfwBA7EOaSQ"><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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_h9VfsIsTT0SP5VsfIckMCw"><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>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_StandardSolarModuleMember_dsxCKPJzZE-OeR3xGjFvdQ"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-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_10S7_yXU_U2d9vSAEUFtfw"><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_u4ewgYH0BE2Wq1uPmMJI4w"><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_90a37v7dmkecjda4XpxLpw"><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_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pb_m7XcgckioBDX9qMhLHQ"><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_sT_wZDSuDEmx4AhA9puF8g"><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_I_hTj64L206pRLv-Ckzwfw"><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_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zBDEvqqtLUCLq3e4B-MWvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyAcquisitionCo.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_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_skUu6z-cqkWCpsARnuNTcw"><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_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_CGiVcTmlfk65XL9sEuGeJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_cUe_nDpciUajswTjUtFLvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_kHG1_D5IVEGRIaTcl-Az4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_FG_WhmnkckSXzhsDuquQKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_8wnU3WkfsESCuIr0MZFQ4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_cYpYM63dL0-Xjy1PhCfLkw"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_6GQGH0x61E6qqcBodyAe8Q"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_9ZS48Y7kskWdsocvERooUA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_JAEK0QVSQkqd4axxHbZBsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</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_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_irOQK5ye9kCbxUMINrw3bA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_LN_u_am-AUu6UKaJ1mjUvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2016_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_fLoXV8FNc0mrp65mOByRgg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:VN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_djZgLka68EilGq2UylzGDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_yEkSdsHwrkGvZ2U009rdiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchangCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiCellsCo.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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_6XAyIwHVx0CvXe7hoc9sAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_5NfNTPDEdEyYMxTCiyQmsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchangCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_NgDk0xAAPEWrdShd8yHuIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_bZ3OUS7aTEKOi3hgmjSecQ"><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>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_k_rsqBR470aFy23qbWlHyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_HxVhzGxNi0K3W9tmJpy6Mw"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_I7GFRMg3CkmpUa04YRiLkg"><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>2020-07-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_QewE84cjEUq0inbSJlh9Wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_6_30_2020_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_bsz1DT4brk6DN5zvX7cU0Q"><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>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_dRHthf-xNkehrkhUto-76Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_0xmc3gQZ9Uu8zeFyiRe9zg"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA"><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>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_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></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_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_fQyfCMvPBEKvSyDTy2ck1w"><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_f1gDpC_tKUSv8JwJEFsADQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_RllKoaVR-UaCItjksEPnNg"><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_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_c5usO8WML0SuBgfm2wCpcw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</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_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ysFsDqf0TUa393F1bFQMow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</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_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_ffqGOHYbFEO3lmbyWzY08g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</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_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_aDAFYcJcC060ov2KS-jGbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-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_uPzxIlNQa0apfrCorfacCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-09-16</xbrli:startDate><xbrli:endDate>2020-09-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_GBCPyE9sVUa3iGvXMTJFhA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_X43EbEm7qEScbvhbxzRvhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_QSSPj3Od906zLM2S_hheuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2010_To_9_30_2010_aDjHad5NhkKa41D5WWigvg"><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_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_5nMu5JmPPEGyXPr53dPdTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_M3hmQbgtcECe-E6VsdKttA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YtP8-VOPtE-XDf6Ux3KVQA"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"><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="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_BqGJfzSJp0S8t-SIU8qo0w"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"><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_R76ptFo6AU-TJ6jI3aM-1w"><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:unit id="Unit_Standard_D_AKaH3pVAHUCsfp7wE-X4MA"><xbrli:measure>csiq:D</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_THB_gtUN5SeDzE-Mb6_3THBBTQ"><xbrli:measure>iso4217:THB</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_AUD_aYlja-s--0aCbuIQJhwE5A"><xbrli:measure>iso4217:AUD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_segment_NAiIxuXylEqsd465xrxefg"><xbrli:measure>csiq:segment</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_ZAR_rcQw20Gy9Em_eji0n-H-MA"><xbrli:measure>iso4217:ZAR</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_JPY_shares_98G2KJ8ZqkGANWGgBqIkfg"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:JPY</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw"><xbrli:measure>csiq:item</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg"><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_Institution_wep2g2lCNUqkNn8TlaitpQ"><xbrli:measure>csiq:Institution</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg"><xbrli:measure>iso4217:CNY</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg"><xbrli:measure>iso4217:JPY</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_BRL_Do1ENKwgw0SkuRPbv1VTDA"><xbrli:measure>iso4217:BRL</xbrli:measure></xbrli:unit><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_S5a1W9pmN0-OtC8KDVgdtw_6_2" toRefs="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_ENwu0NDLXEmlkvJxSCQDVQ_6_4" toRefs="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_rnszWEG6S06lzv2yYfYzng_34_2" toRefs="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_8BEi7EaAGEWKESCyu1RWyw_34_20" toRefs="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_JIqHu9BHDkOwyVJBu0enpw_34_4" toRefs="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_pDBEgKzeH0ajYcSw7R3KEw_34_16" toRefs="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_5yTP4XZQ3ECxbGMbd2qwbg_11_2" toRefs="_c812df11_1930_48b4_a924_940063f42121" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_GkLiSuByCE-3khtNaF_0zg_11_6" toRefs="_c812df11_1930_48b4_a924_940063f42121" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_unRH5y90xUWDThsobwLR6w_11_20" toRefs="_c812df11_1930_48b4_a924_940063f42121" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_ahiNTBLPO0CfXG-PqyQLGw_11_16" toRefs="_c812df11_1930_48b4_a924_940063f42121" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_2sCnxKc8LUyFvNd_TaEfsg_11_8" toRefs="_c812df11_1930_48b4_a924_940063f42121" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_hTyApOcOXEqLtFWdMwt5ew_20_2" toRefs="_aa8fbfc8_f3e5_42a2_886e_2925410e4782" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_sFTfTl3ebUCbYuaZGVK4lg_20_6" toRefs="_aa8fbfc8_f3e5_42a2_886e_2925410e4782" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_JT9GV4tdpUOEFvkWjnF7xA_20_20" toRefs="_aa8fbfc8_f3e5_42a2_886e_2925410e4782" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_rKE3QfWIekGSNRr1mBYiZQ_20_16" toRefs="_aa8fbfc8_f3e5_42a2_886e_2925410e4782" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_cune4HfBrUyylfHuLga5Wg_20_8" toRefs="_aa8fbfc8_f3e5_42a2_886e_2925410e4782" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_r6EqS3xYiECBDts0FPTiDA_21_4" toRefs="_02bd4506_a668_4b9f_a0ea_8339a06a7e61" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_mf3SzhscDkyPGY82HMvsvg_21_8" toRefs="_02bd4506_a668_4b9f_a0ea_8339a06a7e61" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_b_QYXm8AM0C2mKZcGDcG9Q_21_6" toRefs="_02bd4506_a668_4b9f_a0ea_8339a06a7e61" order="1"></ix:relationship></ix:resources></ix:header></div><div style="max-width:100%;padding-left:4.47%;padding-right:4.47%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:8.05pt;"><a id="_55d824d1_0be8_4832_9e52_a8a41c27717a"></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;text-align:center;margin:0pt;"><span style="font-size:6pt;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;"><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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:DocumentType" id="Narr_nNWC4D79EU6E6gckDD4aSg"><b style="font-weight:bold;">20-F/A</b></ix:nonNumeric></p><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;">(</b><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:AmendmentDescription" id="Narr_c1AmApjW40mfey4_VQPRGg"><b style="font-weight:bold;">Amendment No. 1</b></ix:nonNumeric><b style="font-weight:bold;">)</b></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:6pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:DocumentRegistrationStatement" id="Narr_RRcPsGy4zkqT3TW5_1f1_A"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><b style="font-size:6pt;font-weight:bold;">REGISTRATION STATEMENT PURSUANT TO SECTION 12(b) OR 12(g) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">OR</b></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:DocumentAnnualReport" id="Narr_kMd2-51D30SwdzXMCbbwFA"><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 1pt 36pt;"><b style="font-size:6pt;font-weight:bold;">For the fiscal year ended </b><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:DocumentPeriodEndDate" id="Narr_si1xhDX8DEqB6LTdlt82VQ"><ix:nonNumeric format="ixt:datemonthdayen" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:CurrentFiscalYearEndDate" id="Narr_J7JRg11enkGtL2hzo-nkRA"><b style="font-size:6pt;font-weight:bold;">December 31</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">, 2021</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">OR</b></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:DocumentTransitionReport" id="Narr_fi2g6hjvlUSt2kTrVQ1kTw"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><b style="font-size:6pt;font-weight:bold;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 1pt 36pt;"><b style="font-weight:bold;">For the transition period from to</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">OR</b></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:DocumentShellCompanyReport" id="Narr_Zlz2iJPdkkWabEVIU0NeNw"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><b style="font-size:6pt;font-weight:bold;">SHELL COMPANY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 1pt 36pt;"><b style="font-weight:bold;">Date of event requiring this shell company report</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><b style="font-size:7pt;font-weight:bold;">Commission file number: </b><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityFileNumber" id="Narr_oZJItixt006Vdr0Q18S2kg"><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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityRegistrantName" id="Narr_gd8FARIA-ESp7EejGocdKg"><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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityIncorporationStateCountryCode" id="Narr_-YGEhZ6tDkyZ0UDK1Te4hw"><b style="font-size:6pt;font-weight:bold;">British Columbia</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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityAddressAddressLine1" id="Narr_UvZuelDf4UyRUxBSAtA-ZQ"><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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityAddressCityOrTown" id="Narr_AoLQ6VFvV068JEZFhFjveQ"><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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityAddressCountry" id="Narr_QBhC4ltEikeRzeenKqnEYg"><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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityAddressPostalZipCode" id="Narr_qIVLynBC-Uy-dvlH4IGNPA"><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_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg" name="dei:ContactPersonnelName" id="Narr_3dwmPiRm-UqfceI2SBKIGw"><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_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg" name="dei:EntityAddressAddressLine1" id="Narr_qy8Tyymq2kObNnMlf_a6IQ"><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_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg" name="dei:EntityAddressCityOrTown" id="Narr_Iw7BT7LQQEikeWsiPsddqw"><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_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg" name="dei:EntityAddressCountry" id="Narr_6H0j1VesgkGOsCBhJi-sUQ"><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_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg" name="dei:EntityAddressPostalZipCode" id="Narr_rKBsLm1voUa-fCo3owIhAw"><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_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg" name="dei:CityAreaCode" id="Narr_9uYNA3afWE2JuzswGgfCfA"><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_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg" name="dei:LocalPhoneNumber" id="Narr_JVTQJtD0UUu3GvEF2vrkmQ"><b style="font-size:6pt;font-weight:bold;">837-1881</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fax: (1-519) 837-2550</b></p><div style="font-family:'Times New Roman','Times','serif';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Name, Telephone, E-mail and/or Facsimile number and Address of Company Contact&#160;Person)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Securities registered or to be registered pursuant to Section&#160;12(b) of the Act:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_09c20fc0_1bf7_4ce0_ae48_e2a214c5a5d6"></a><a id="Tc_ZUKYt1HE4kWxAvhHCT_Kxg_1_0"></a><a id="Tc_20A4iHAah0WAa7QoSAWlpA_1_2"></a><a id="Tc_NsHk7ZSkP0GK5MV2O4AFSA_1_4"></a><a id="Tc_5qvLwBGy6EelVt3UvWpLCA_2_4"></a><a id="Tc_yUoU445WJ0u1UfWtjtuaUg_3_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:35.31%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:19.31%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:39.32%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:35.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:Security12bTitle" id="Tc_1wapP6Ckqkm4_LeQImE8tQ_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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:TradingSymbol" id="Tc_xwFMtbox70a5f4_Iv3x2TQ_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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:SecurityExchangeName" id="Narr_iYOITrcVxEqrA5BPtzvH9Q"><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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><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 5.4pt 0pt 5.4pt;"><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:6pt;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 3pt 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 3pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_1lLQ6PmaQ0uTzxnWvtyKAA">64,022,678</ix:nonFraction> common shares issued and outstanding which were not subject to restrictions on voting, dividend rights and transferability, as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 3pt 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityWellKnownSeasonedIssuer" id="Narr_aZZWR2oIME6WvX5qbxn0NQ"><span style="font-size:6pt;">Yes</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Times New Roman';font-size:6pt;">&#8999;</span><span style="font-size:6pt;white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Times New Roman';font-size:6pt;">&#9723;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 3pt 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:'Times New Roman';font-size:6pt;">&#9723;</span><span style="font-size:6pt;white-space:pre-wrap;">  </span><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityVoluntaryFilers" id="Narr_-19F-t_lk0CdCiXWqLl6Uw"><span style="font-size:6pt;">No</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Times New Roman';font-size:6pt;">&#8999;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 3pt 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityCurrentReportingStatus" id="Narr_wt4equT6Q0mIkCOMH-JUwg"><span style="font-size:6pt;">Yes</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Times New Roman';font-size:6pt;">&#8999;</span><span style="font-size:6pt;white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Times New Roman';font-size:6pt;">&#9723;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 3pt 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityInteractiveDataCurrent" id="Narr_1OyshqaZN02fgQVd-dPAeQ"><span style="font-size:6pt;">Yes</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Times New Roman';font-size:6pt;">&#8999;</span><span style="font-size:6pt;white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Times New Roman';font-size:6pt;">&#9723;</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="_8475d326_c700_4a2f_9d29_fc06262635dd"></a><a id="_Hlk101783117"></a><a id="Tc_Bt6TgC3CEUW5D8xS-4Fn8A_1_0"></a><a id="Tc_n__uL6Crikiwa5SLdlWKPA_1_2"></a><a id="Tc_hSjuzX1Y_UmNOllfl1Rzeg_1_4"></a><a id="Tc_MiV8wqH8RU-dyAGxAmmB9Q_1_5"></a><a id="Tc_rorObAtm30COsRwMgAYmeA_2_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:3.6pt;padding-right:3.6pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:36.82%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.79%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:36.82%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityFilerCategory" id="Narr_k9GciV-4U0-Yvak8j6MZkw"><span style="font-size:6pt;white-space:pre-wrap;">Large accelerated filer  </span></ix:nonNumeric><span style="font-family:'Times New Roman';font-size:6pt;">&#8999;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><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 3.59pt 0pt 3.59pt;"><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:'Times New Roman';">&#9723;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><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 3.59pt 0pt 3.59pt;"><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 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"><span style="font-family:'Times New Roman';">&#9723;</span></p></td></tr><tr style="height:8.2pt;"><td style="vertical-align:bottom;white-space:nowrap;width:36.82%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><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 3.59pt 0pt 3.59pt;"><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 3.59pt 0pt 3.59pt;"><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.36%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><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 3.59pt 0pt 3.59pt;"><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 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric format="ixt:booleanfalse" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityEmergingGrowthCompany" id="Tc_liw1nmiwyEWRlZUfYR6g5g_2_5"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 3pt 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 3pt 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:IcfrAuditorAttestationFlag" id="Narr_Ag2cXQ4aPEeAkvwl9cfJlQ"><span style="font-family:'Times New Roman';font-size:6pt;">&#8999;</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 3pt 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:DocumentAccountingStandard" id="Narr_7fGP8CpgkEeYVTgaXxeXhQ"><span style="font-size:6pt;">U.S. GAAP</span></ix:nonNumeric><span style="font-size:6pt;"> </span><span style="font-family:'Times New Roman';font-size:6pt;">&#8999;</span><span style="font-size:6pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 3pt 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 3pt 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 3pt 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:EntityShellCompany" id="Narr_kLDIfxPWqkSZ70NIQXwj8A"><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 3pt 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;">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;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-bottom:1pt;padding-top:1pt;text-indent:18pt;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;margin:0pt;"><span style="font-size:2pt;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: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;"><a id="_b5afff9e_41f0_4cec_9772_85f2a3fd92a7"></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;">Explanatory Note</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 filing this Amendment No. 1 to Form 20-F (the &#8220;Amendment No. 1&#8221;) to our annual report on Form 20-F for the year ended December 31, 2021, which was originally filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;) on April 28, 2022 (the &#8220;Original Filings&#8221;), to add certain disclosures in &#8220;Part I&#8221;, &#8220;Item 3. Key Information&#8221;, &#8220;Item 4. Information on the Company&#8221;, including the section titled &#8220;Enforceability of Civil Liabilities,&#8221; and &#8220;Item 5. Operating and Financial Review and Prospects&#8221; to (i) provide additional disclosure regarding certain legal and operational risks associated with our operations in China, (ii) revise and restate certain risks related to the Holding Foreign Companies Accountable Act and the determinations of the Public Company Accounting Oversight Board, (iii) revise and add certain disclosure regarding the permissions required from China authorities and the difficulty of bringing actions and enforcing judgments against our officers and directors, (iv) revise and clarify certain disclosure with respect to the cash and asset flows through our organization, and (v) revise and add certain disclosure in relation to the impact of higher supply chain costs on our results of operations. In addition, the Amendment No. 1 contains a revised &#8220;Item 19. Exhibits&#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;">Except as described above or as otherwise expressly provided by the terms of this Amendment No. 1, no other changes have been made to the Original Filings. This Amendment No. 1 speaks as of the filing date of the Original Filings. Other than as stated otherwise, this Amendment No. 1 does not, and does not purport to, amend, update or restate any other information or disclosure included in the Original Filings, or reflect any events that have occurred since the date thereof. Accordingly, this Amendment No. 1 should be read in conjunction with the Original Filings and any documents filed with or furnished to the SEC by Canadian Solar Inc. subsequent to April 28, 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;">As required by Rule 12b-15 under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), new certifications by our chief executive officer and chief financial officer are being filed as exhibits to this Amendment No. 1 pursuant to Rule 13a-14(a) and 15d-14(a) of the Exchange Act.</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>
<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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_ec450259_74b2_4a1a_b862_1f86db45ac09"></a><a id="TOC"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Table of Contents</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td colspan="2" style="vertical-align:bottom;width:93.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#INTRODUCTION_7698"><span style="font-style:normal;font-weight:normal;">INTRODUCTION</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">1</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:93.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#FORWARDLOOKINGINFORMATION_258409"><span style="font-style:normal;font-weight:normal;">FORWARD-LOOKING INFORMATION</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">3</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:93.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#PARTI_177571"><span style="font-style:normal;font-weight:normal;">PART I</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"><span style="font-style:normal;font-weight:normal;">ITEM 1.</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"><span style="font-style:normal;font-weight:normal;">IDENTITY OF DIRECTORS, SENIOR MANAGEMENT AND ADVISERS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">6</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"><span style="font-style:normal;font-weight:normal;">ITEM 2</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"><span style="font-style:normal;font-weight:normal;">OFFER STATISTICS AND EXPECTED TIMETABLE</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">6</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM3KEYINFORMATION_614860"><span style="font-style:normal;font-weight:normal;">ITEM 3</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM3KEYINFORMATION_614860"><span style="font-style:normal;font-weight:normal;">KEY INFORMATION</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">6</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#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;">47</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;">69</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;">69</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;">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="#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;">106</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;">107</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;">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="#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;">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="#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;">127</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;">128</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;">128</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;">128</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;">128</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;">129</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;">130</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;">130</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;">131</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;">131</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;">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="#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;">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="#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;">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="#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;">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="#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;">132</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;">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="#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;">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="#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;">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="#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;">133</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;">134</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><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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;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 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_e6524790_e7e2_4585_9f60_3d19e967e713"></a><a id="INTRODUCTION_7698"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">INTRODUCTION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Unless otherwise indicated, references in this annual report on Form&#160;20-F to:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;AC&#8221; and &#8220;DC&#8221; refer to alternating current and direct current, respectively;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;AUD&#8221; and &#8220;Australian dollars&#8221; refer to the legal currency of Australia;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;BRL&#8221; and &#8220;Brazilian reals&#8221; refer to the legal currency of Brazil;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;China&#8221; and the &#8220;PRC&#8221; refer to the People&#8217;s Republic of China, excluding, for the purposes of this annual report on Form&#160;20-F, Taiwan and&#160;the special administrative regions of Hong Kong and&#160;Macau;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;COD&#8221; refers to commercial operation date;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;CSI&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our company&#8221; and &#8220;our&#8221; refer to Canadian Solar&#160;Inc., a British Columbia, Canada corporation, its predecessor entities and its consolidated subsidiaries;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;CSI Solar&#8221; refers to CSI Solar Co., Ltd.;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;C$&#8221; and &#8220;Canadian dollars&#8221; refer to the legal currency of Canada;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;EPC&#8221; refers to engineering, procurement and construction;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;EU&#8221; refers to the European Union;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;FIT&#8221; refers to feed-in tariff;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;GAAP&#8221; refers to generally accepted accounting principles;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;Korea&#8221; refer to the Republic of Korea, also commonly known as &#8220;South Korea&#8221;;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;O&amp;M services&#8221; refers to operation and maintenance services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;PPA&#8221; refers to power purchase agreement;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;PV&#8221; refers to photovoltaic. The photovoltaic effect is a process by which sunlight is converted into electricity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;RMB&#8221; and &#8220;Renminbi&#8221; refer to the legal currency of China;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;U.S.&#8221; refers to the United States of America;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;SEC&#8221; refers to the U.S.&#160;Securities and Exchange Commission;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;shares&#8221; and &#8220;common shares&#8221; refer to common shares, with no par value, of Canadian Solar&#160;Inc.;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;THB&#8221; and &#8220;Thai baht&#8221; refer to the legal currency of Thailand;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;U.K.&#8221; refers to the United Kingdom;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;white-space:pre-wrap;"> </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;W&#8221;, &#8220;kW&#8221;, &#8220;MW&#8221; and &#8220;GW&#8221; refer to watts, kilowatts, megawatts and gigawatts, respectively;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;ZAR&#8221; and &#8220;South African rand&#8221; refer to the legal currency of South Africa.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;$&#8221;, &#8220;US$&#8221; and &#8220;U.S.&#160;dollars&#8221; refer to the legal currency of U.S.;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;&#8364;&#8221; and &#8220;Euros&#8221; refer to the legal currency of the Economic and Monetary Union of the European&#160;Union;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;&#163;&#8221;, &#8220;GBP&#8221; and &#8220;British pounds&#8221; refer to the legal currency of the United&#160;Kingdom;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;&#165;&#8221;, &#8220;JPY&#8221; and &#8220;Japanese yen&#8221; refer to the legal currency of Japan;&#160;and</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This annual report on Form&#160;20-F includes our audited consolidated financial statements for the years ended December&#160;31, 2019, 2020 and 2021 and as of December&#160;31, 2020 and&#160;2021.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">We use the noon buying rate in The City of New York for cable transfers in Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai baht, Brazilian reals and South African rand per U.S. dollars as certified for customs purposes by the Federal Reserve Bank of New York to translate Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai baht, Brazilian reals and South African rand to U.S. dollars not otherwise recorded in our consolidated financial statements and included elsewhere in this annual report on Form 20-F. Unless otherwise stated, the translation of Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai baht, Brazilian reals and South African rand into U.S. dollars was made by the noon buying rate in effect on December 30, 2021, which was RMB6.3726 to $1.00, &#8364;0.8835 to $1.00, &#163;0.7407 to $1.00, &#165;115.1700 to $1.00, C$1.2777 to $1.00, AUD1.3774 to $1.00, THB33.3300 to $1.00, BRL5.5749 to $1.00 and ZAR15.9300 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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_a3f88e63_d6ba_4cb9_824c_d12f34a61652"></a><a id="FORWARDLOOKINGINFORMATION_258409"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">FORWARD-LOOKING INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This annual report on Form&#160;20-F contains forward-looking statements that relate to future events, including our future operating results, our prospects and our future financial performance and condition, results of operations, business strategy and financial needs, all of which are largely based on our current expectations and projections. These forward-looking statements are made under the &#8220;safe harbor&#8221; provisions of the U.S.&#160;Private Securities Litigation Reform Act of 1995. You can identify these statements by terminology such as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;expect,&#8221; &#8220;anticipate,&#8221; &#8220;future,&#8221; &#8220;intend,&#8221; &#8220;plan,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;is/are likely to&#8221; or similar expressions. Forward-looking statements involve inherent risks and uncertainties. These forward-looking statements include, among other things, statements relating&#160;to:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our expectations regarding the worldwide demand for electricity and the market for solar&#160;power;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the importance of environmentally friendly power generation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the value of and ability to monetize our portfolio of solar and battery storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our expectations regarding governmental support for solar power;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the rate at which solar power technologies will be adopted and the continued growth of the solar power&#160;industry;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the competitiveness of our solar power and battery storage products and&#160;services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our expectations with respect to increased revenue growth and improved profitability;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our expectations regarding the benefits to be derived from our supply chain management and vertical integration manufacturing strategy;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to continue developing our in-house solar component production capability and our expectations regarding the timing of the expansion of our internal production capacity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to secure adequate volumes of silicon, solar wafers and cells at competitive cost to support our solar module production;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the effects of environmental regulation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our future business development, results of operations and financial condition;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">competition from other manufacturers of solar or battery storage products and conventional energy suppliers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to successfully expand our range of products and services and to successfully execute plans for our energy&#160;business;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to develop, build and sell solar and battery storage projects in Canada, the U.S., Japan, China, the EU, U.K., Brazil, Mexico, Chile, Colombia, Australia, Korea and elsewhere; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs with respect to the outcome of the investigations and litigation to which we are a party.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Known and unknown risks, uncertainties and other factors may cause our actual results, performance or achievements to be materially different from any future results, performance or achievements expressed or implied by forward-looking statements. See &#8220;Item&#160;3. Key Information&#8212;D.&#160;Risk Factors&#8221; for a discussion of some of the risk factors that may affect our business and results of operations. These risks are not exhaustive. Other sections of this annual report may include additional factors that could adversely influence our business and financial performance. Moreover, because we operate in an emerging and evolving industry, new risk factors may emerge from time to time. We cannot predict all risk factors, nor can we assess the impact of all or any of these factors on our business or the extent to which any factor, or combination of factors, may cause actual results to differ materially from those expressed or implied in any forward-looking statement. We do not undertake any obligation to update or revise the forward-looking statements except as required under applicable&#160;law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_a22619a3_297e_4fec_b55a_3baac9d295ec"></a><a id="PARTI_177571"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PART I</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">The Holding Foreign Companies Accountable Act</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 2, 2021, the SEC adopted final amendments implementing the disclosure and submission requirements of the Holding Foreign Companies Accountable Act, or the HFCAA. The final amendments establish the SEC&#8217;s procedures for determining whether a registrant is a &#8220;Commission-Identified Issuer&#8221; under the HFCAA, and prohibiting the trading of Commission-Identified Issuer&#8217;s securities. If the SEC determines that we are a Commission-Identified Issuer under the HFCAA for three consecutive years, or if the audit report filed as part of our annual report with the SEC is otherwise deemed not to be in compliance with the requirements of the Exchange Act due to the Public Company Accounting Oversight Board, or the PCAOB&#8217;s inability to inspect our auditor, the SEC will prohibit our common shares from being traded on a national securities exchange or in the over the counter trading market in the U.S. In the event of such determination, the Nasdaq is expected to delist our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To end an initial or subsequent trading prohibition, a Commission-Identified Issuer must certify that it has retained a registered public accounting firm that the PCAOB has determined it is able to inspect or investigate. To make that certification, the Commission-Identified Issuer must file financial statements that include an audit report signed by such a registered public accounting firm.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 16, 2021, the PCAOB issued a report to notify the SEC its determinations that it is unable to inspect or investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong, and identifies the registered public accounting firms in mainland China and Hong Kong that are subject to such determinations. Our auditor, Deloitte Touche Tohmatsu Certified Public Accountants LLP, the independent registered public accounting firm that issues the audit report included in the Form 20-F, is located in China and is currently not inspected by the PCAOB. Our auditor is identified by the PCAOB and is subject to the determinations announced by the PCAOB.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We were conclusively identified as a &#8220;Commission-Identified Issuer&#8221; on May 26, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, on June 22, 2021, the U.S. Senate passed a bill known as the Accelerating Holding Foreign Companies Accountable Act, or the AHFCAA, which would reduce the number of consecutive non-inspection years required for triggering the prohibitions under the HFCAA from three years to two. On February 4, 2022, the U.S. House of Representatives passed a bill which contained, among other things, an identical provision. If this provision is enacted into law and the number of consecutive non-inspection years required for triggering the prohibitions under the HFCAA is reduced from three years to two, then our common shares could be prohibited from trading in the United States as early as 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August 26, 2022, the PCAOB signed a Statement of Protocol with the China Securities Regulatory Commission and the Ministry of Finance of the People&#8217;s Republic of China, taking the first step toward opening access for the PCAOB to inspect and investigate registered public accounting firms headquartered in mainland China and Hong Kong completely, consistent with U.S. law. &#160;While this Statement of Protocol may lead to full resolution of the previously identified issues, there can be no assurance that this will be the case. In such an event, there can be no assurance that we will continue to be able to comply with the requirements imposed by the U.S. regulators or Nasdaq.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The inability of the PCAOB to conduct adequate inspections deprives our investors of the benefits of such inspections and could cause our common shares to be prohibited from trading or delisted under the HFCAA and the AHFCAA. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;The Accelerating Holding Foreign Companies Accountable Act, if enacted, would reduce the time period before our common shares may be prohibited from trading or delisted. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment. Additionally, the inability of the PCAOB to conduct adequate inspections deprives our investors of the benefits of such inspections.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Our Corporate Structure and Operations in China</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are a corporation governed by the laws of the province of Ontario, Canada with operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia through our operating subsidiaries in which we have equity ownership. Through the equity ownership in our subsidiaries, we primarily conduct our manufacturing operations in China and Southeast Asia, and have made certain investments in solar power system and project assets in China. See &#8220;Item 4. Information on the Company&#8212;C. Organizational Structure&#8221; for additional information on our corporate structure, including a list of our significant subsidiaries. Investors in our common shares thus are not purchasing equity interests in our operating subsidiaries, but instead are purchasing equity interests solely in our Canadian parent company. As used in this annual report, references to &#8220;CSI&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our company&#8221; or &#8220;our&#8221; are made as to Canadian Solar Inc., its predecessor entities and its consolidated subsidiaries; references to &#8220;Canadian Solar Inc.&#8221; are made as to the Canadian parent company only.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are exposed to legal and operational risks associated with having a significant portion of our manufacturing operations in China. We are subject to risks arising from the PRC legal system, including the uncertainty in the interpretation and enforcement of the evolving PRC policies, laws and regulations. Recently, the Chinese government initiated a series of regulatory actions and statements to regulate business operations in China with little advance notice, such as those related to regulatory approvals on offerings conducted overseas, anti-monopoly regulatory actions, and oversight on cybersecurity and data privacy. Such actions could significantly limit or completely hinder our ability to offer or continue to offer securities to investors. Implementation of industry-wide regulations in this nature may cause the value of such securities to significantly decline or be worthless. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8221; for additional information of the risks associated with our operations in China.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For example, the recently promulgated PRC Data Security Law and the PRC Personal Information Protection Law in 2021, the Cybersecurity Review Measures issued by the Cyberspace Administration of China, or the CAC, and several other PRC governmental authorities in 2021, as well as the Regulations on Critical Information Infrastructure promulgated by the PRC State Council in 2021, expose uncertainties and potential additional restrictions on China-based overseas-listed companies. Although we have not been informed that we are identified as a critical information infrastructure operator by any governmental authorities, we face uncertainties as to whether we will be subject to the oversight of the CAC and how such oversight may impact us. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 1, 2022, Measures for the Security Assessment of Outbound Data Transfers and its guideline Guide to Applications for Security Assessment of Outbound Data Transfers (First Edition) promulgated by the CAC took effect. According to the aforementioned rule, a data processor is required to apply to the national cyberspace administration for security assessment of outbound data transfer through local provincial cyberspace administration, if the data processor provides important data abroad. The rule is newly adopted, and it is not certain how the CAC will interpret and enforce it. If we are required to go through a security assessment of outbound data transfer, we will receive a notice on assessment result after completion of the assessment, and we may be notified to terminate the outbound data transfer or make rectification as required. In addition, we have to regulate our outbound data transfer activities in accordance with the applicable laws and regulations on the security management of outbound data transfer and the relevant requirements specified in the notice on assessment result. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;Failure to comply with governmental regulations and other legal obligations concerning data protection and cybersecurity may materially and adversely affect our business, as we routinely collect, store and use data during the conduct of our business.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, on December 24, 2021, the China Securities Regulatory Commission, or the CSRC, issued the Provisions of the State Council on the Administration of Overseas Securities Offering and Listing by Domestic Companies (Draft for Comments) and the Administrative Measures for the Filing of Overseas Securities Offering and Listing by Domestic Companies (Draft for Comments), which propose to require PRC companies and their overseas special purpose vehicles to file with the CSRC and meet compliance rules for their listing in overseas markets, and stipulate certain circumstances under which the overseas offering and listing would be prohibited, as well as the measures taken by the CSRC if a PRC domestic company falls into any of such circumstances prior to the overseas offering and listing, such as imposing a postponement or termination of the proposed overseas offering and listing, and canceling the corresponding filing on the conditions that the proposed overseas offering and listing application documents have been filed. These provisions are still in draft form for comments. It is uncertain when and whether we will be required to obtain permission from the PRC government to maintain our listing status on U.S. exchanges or continue to offer our securities to investors in the future, and even when such permission is obtained, whether it will be later denied or rescinded. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;Any actions by the Chinese government to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers could significantly limit or completely hinder our ability to offer or continue to offer securities to investors and cause the value of our securities to significantly decline or be worthless.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, with the trend of strengthening anti-monopoly supervision around the world, the PRC government has promulgated new anti-monopoly and competition laws and regulations and strengthened the enforcement under these laws and regulations, paying more attention to corporate compliance. On February 7, 2021, the Anti-monopoly Commission of the State Council of the PRC promulgated the Guidelines for Anti-monopoly in the field of Platform Economy, which stipulates that any concentration of undertakings involving variable interest entities in Internet industry is subject to anti-monopoly review. On November 15, 2021, the State Administration for Market Regulation of the PRC promulgated the Guidelines for the Overseas Anti-monopoly Compliance of Enterprises. Although we believe that these regulations have little impact on us, there remain uncertainties as to how the laws, regulations and guidelines recently promulgated will be interpreted and implemented. We cannot guarantee that regulators will agree with us or that our business operations comply with such regulations and authorities&#8217; requirements in all respects. If any non-compliance is raised by relevant authorities and determined against us, we may be subject to fines and other penalties. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;The rules and regulations in China can change quickly with little advance notice. Uncertainties with respect to the Chinese legal system, as well as changes in any government policies, laws and regulations, could adversely affect the overall economy in China or our industry, which could harm our business.&#8221; </p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">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;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our auditor, Deloitte Touche Tohmatsu Certified Public Accountants LLP, the independent registered public accounting firm that issues the audit report included in the Form 20-F, is located in China and is currently not inspected by the PCAOB. Our auditor is identified by the PCAOB and is subject to the determinations announced by the PCAOB on December 16, 2021. In addition, the HFCAA was enacted on December 18, 2020. If the SEC determines that we are a Commission-Identified Issuer under the HFCAA for three consecutive years, or if the audit report filed as part of our annual report with the SEC is otherwise deemed not to be in compliance with the requirements of the Exchange Act due to the PCAOB&#8217;s inability to inspect our auditor, the SEC will prohibit our common shares from being traded on a national securities exchange or in the over the counter trading market in the U.S. In the event of such determination, the Nasdaq is expected to delist our common shares. Further, on June 22, 2021, the U.S. Senate passed a bill known as the AHFCAA, which would reduce the number of consecutive non-inspection years required for triggering the prohibitions under the HFCAA from three years to two. On February 4, 2022, the U.S. House of Representatives passed a bill which contained, among other things, an identical provision. If this provision is enacted into law and the number of consecutive non-inspection years required for triggering the prohibitions under the HFCAA is reduced from three years to two, then our common shares could be prohibited from trading in the United States as early as 2023. 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;The Accelerating Holding Foreign Companies Accountable Act, if enacted, would reduce the time period before our common shares may be prohibited from trading or delisted. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment. Additionally, the inability of the PCAOB to conduct adequate inspections deprives our investors of the benefits of such inspections.&#8221;</p><a id="ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;1&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">IDENTITY OF DIRECTORS, SENIOR MANAGEMENT AND ADVISERS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_562685ca_5b51_4ac0_b963_49f8437b3196"></a><a id="ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;2&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">OFFER STATISTICS AND EXPECTED TIMETABLE</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_79ed12eb_a4eb_4dcc_b1d2_61aa69205f8c"></a><a id="_Hlk20468729"></a><a id="ITEM3KEYINFORMATION_614860"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITE</b><b style="font-weight:bold;">M&#160;3&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">KEY INFORMATION</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">The Holding Foreign Companies Accountable Act</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Holding Foreign Companies Accountable Act, or the HFCAA, which was enacted on December 18, 2020 and became effective on January 1, 2021, together with the final amendments, established the SEC&#8217;s procedures for determining whether a registrant is a &#8220;Commission-Identified Issuer&#8221; under the HFCAA, and prohibiting the trading of Commission-Identified Issuer&#8217;s securities. If the SEC determines that we are a Commission-Identified Issuer under the HFCAA for three consecutive years, or if the audit report filed as part of our annual report with the SEC is otherwise deemed not to be in compliance with the requirements of the Exchange Act due to the PCAOB&#8217;s inability to inspect our auditor, the SEC will prohibit our common shares from being traded on a national securities exchange or in the over the counter trading market in the U.S. Further, on June 22, 2021, the U.S. Senate passed a bill known as the AHFCAA, which would reduce the number of consecutive non-inspection years required for triggering the prohibitions under the HFCAA from three years to two. On February 4, 2022, the U.S. House of Representatives passed a bill which contained, among other things, an identical provision. If this provision is enacted into law and the number of consecutive non-inspection years required for triggering the prohibitions under the HFCAA is reduced from three years to two, then our common shares could be prohibited from trading in the United States as early as 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 16, 2021, the PCAOB issued a report to notify the SEC its determinations that it is unable to inspect or investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong, and identifies the registered public accounting firms in mainland China and Hong Kong that are subject to such determinations. Our auditor, Deloitte Touche Tohmatsu Certified Public Accountants LLP, the independent registered public accounting firm that issues the audit report included in the Form 20-F, is located in China and is currently not inspected by the PCAOB. Our auditor is identified by the PCAOB and is subject to the determinations announced by the PCAOB. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May 26, 2022, we were conclusively identified as a &#8220;Commission-Identified Issuer&#8221; on SEC&#8217;s &#8220;Conclusive list of issuers identified under the HFCAA&#8221;. If we are so identified for another two consecutive years, the SEC will prohibit our securities from trading on a national securities exchange or in the over the counter trading market in the U.S. in early 2024. In the event of such determination, the Nasdaq is expected to delist our common shares. If the AHFCAA is signed into law, such prohibition would take effect the earliest in early 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Doing Business in China</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are a corporation governed by the laws of the province of Ontario, Canada with operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia through our operating subsidiaries in which we have equity ownership. Through the equity ownership in our subsidiaries, we primarily conduct our manufacturing operations in China and Southeast Asia, and have made certain investments in solar power system and project assets in China. As a result, we are subject to significant regulatory, liquidity, and enforcement risks relating to doing business in China, including, but not limited to, the following:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><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><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 54pt;"><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:36pt;"></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;"><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><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;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><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><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;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Dividends paid by us to our non-PRC shareholders and gains on the sale of our common shares by our non-PRC shareholders may be subject to PRC enterprise income tax liabilities or individual income tax liabilities.</span></td></tr></table><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;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><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><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;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><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><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;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><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><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;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><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><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 54pt;"><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:36pt;"></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;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Failure to comply with governmental regulations and other legal obligations concerning data protection and cybersecurity may materially and adversely affect our business, as we routinely collect, store and use data during the conduct of our business.</span></td></tr></table><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;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">You may have difficulty enforcing judgments obtained against us.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Permissions Required from the PRC Authorities for Our Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We conduct our business in the PRC through our PRC subsidiaries. Our operations in the PRC are governed by PRC laws and regulations. We are required to obtain or complete construction enterprise and engineering qualifications, electric power business permit, work safety license, registration of foreign trade operator operators, and registration certificates of customs declaration entity to operate our business in China. As of the date of this annual report, we believe that our PRC subsidiaries have obtained and completed all requisite permissions and registrations for our operations in all material aspects from relevant PRC authorities and none of the requisite permission or registrations for our operations in all material aspects have been denied by relevant PRC authorities. However, given the uncertainties of interpretation and implementation of relevant laws and regulations and the enforcement practice by government authorities, we cannot assure you that we have obtained all the permits or licenses required for conducting our business in the PRC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In connection with 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 6pt 0pt;">However, we cannot guarantee that the regulators will agree with us. In particular, there remain uncertainties as to how PRC government will regulate overseas securities offerings and oversea listings in general, as well as how related regulations will be interpreted or implemented. Although we intend to closely monitor the relevant regulatory environment and fully comply with the regulations or policies that have been issued by the CSRC, CAC, or other PRC authorities to date, we cannot assure you that we will be able to fully comply with requirements to obtain any permissions and approvals from PRC authorities that may be in effect for the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we or our PRC subsidiaries (i) do not receive or maintain such permissions or approvals, (ii) inadvertently conclude that such permissions or approvals are not required, or (iii) are required to obtain permissions or approvals in the future in the event of a change to the applicable laws, regulations, or interpretations, but we fail to obtain such permissions or approvals in a timely manner, or at all, we may face adverse actions or sanctions by PRC regulatory authorities, which may include fines and penalties on our operations in China, order to suspend our PRC subsidiaries&#8217; businesses, and other actions that could have an adverse effect on our business. Furthermore, our ability to offer or continue to offer securities to investors may be significantly limited or completely hindered, and the value of our securities may significantly decline or be worthless. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For a detailed discussion of the related risks, see &#8220;&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;Any actions by the Chinese government to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers could significantly limit or completely hinder our ability to offer or continue to offer securities to investors and cause the value of our securities to significantly decline or be worthless.&#8221; and &#8220;&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;Failure to comply with governmental regulations and other legal obligations concerning data protection and cybersecurity may materially and adversely affect our business, as we routinely collect, store and use data during the conduct of our business.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Cash and Asset Flows through Our Organization</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We conduct operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia through our operating subsidiaries in which we have equity ownership. Our manufacturing operations are conducted through our subsidiaries primarily in China and Southeast Asia in which we have equity ownership and a substantial part of our revenues, expenses, cash and cash equivalent, and restricted cash are denominated in Renminbi. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash may be transferred within our consolidated group by way of funds to our subsidiaries, either in the form of capital contributions, working capital cash advances or working capital payable, directly or through intermediate holding companies. Canadian Solar Inc. may provide loans to its subsidiaries and vice versa, and our subsidiaries may make dividends or other distributions to Canadian Solar Inc., directly or through intermediate holding companies. These cash transfers factor the capital and liquidity needs of our subsidiaries, and are subject to our internal approval processes and funding arrangements, taking into account local regulations and tax laws. We have not faced restrictions or limitations in our ability to transfer cash between subsidiaries in countries where we earn and hold significant cash, or continue to make significant investments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, we announced our plan to carve-out and publicly list our legacy Module and System Solutions subsidiary, CSI Solar Co., Ltd. (&#8220;CSI Solar&#8221;), in China (&#8220;the IPO&#8221;). In preparation for the IPO, we transferred our China solar power system and project assets from CSI Solar to our Global Energy business for a cash consideration of $19.2 million in 2021.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. transferred an aggregate of $76.7 million, $391.3 million and $339.6 million of cash in the form of capital contributions and loans to our subsidiaries in 2019, 2020 and 2021, respectively. Canadian Solar Inc. further transferred an aggregate $43.6 million and $206.9 million in 2019 and 2021, respectively, and received an aggregate $287.9 million in 2020, of cash related to net working capital advances to subsidiaries. These transfers were made to our Global Energy subsidiaries primarily for solar and battery storage projects. Apart from these transfer to our Global Energy subsidiaries, $20.0 million was transferred as capital contribution to CSI Solar in 2020, prior to its carve-out IPO plan. There were no transfers made to the other PRC subsidiaries. Our PRC operations are generally funded through the revenue cash flows from the sales of solar modules, solar system kits and battery storage solutions, and domestic borrowings within CSI Solar. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. received an aggregate of $12.8 million, $20.5 million and $533.8 million of cash in 2019, 2020 and 2021, respectively, from repayment of loans by our Global Energy subsidiaries. Canadian Solar Inc. further received $183.7 million in 2019, and transferred $340.5 million and $42.2 million in 2020 and 2021, respectively, of cash related to net working capital payable to our Global Energy subsidiaries. There were no cash proceeds nor distribution received from PRC subsidiaries in 2019, 2020 and 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, we conduct regular procurement transactions with the CSI Solar&#8217;s subsidiaries related to purchase of modules and battery storage solutions for our Global Energy projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Refer to Note 20 of our consolidated financial statements for related party purchases in 2019, 2020 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Prior to the completion of the carve-out IPO restructuring, CSI Solar paid a one-time dividend of RMB847.6 million ($123.5 million) to Canadian Solar Inc. in 2020. This transaction was subjected to a 10% withholding income tax rate of RMB84.8 million ($12.4 million) based on the EIT Law and its implementation rules. There have not been any transfers, dividends, or distributions from CSI to our U.S. investors to date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our ability to pay dividends, if any, to our shareholders and to service any debt we may incur will depend upon dividends paid by and loan repayment or distributions by our subsidiaries. Under PRC laws and regulations, our PRC subsidiaries are subject to certain restrictions with respect to paying dividends or otherwise transferring any of their net assets offshore to us. In particular, our PRC subsidiaries are required to set aside no less than 10% of profit after tax as appropriations to the general reserve and other statutory reserves. These reserves, together with the registered capital, are not distributable as cash dividends except in the event of liquidation and with approval from the local PRC government. As of December 31, 2021, these restricted net assets in the PRC amounted to $602.5 million. Furthermore, our PRC subsidiaries are subject to the restrictions on currency exchange. Under existing PRC foreign exchange regulations, payments of current account items, including profit distributions, interest payments and expenditures from trade-related transactions, can be made in foreign currencies without prior approval from the People&#8217;s Bank of China and PRC State Administration of Foreign Exchange, or SAFE, by complying with certain procedural requirements. However, the relevant PRC governmental authorities may limit or eliminate our PRC subsidiaries&#8217; ability to purchase foreign currencies in the future for current account transactions. Since a significant amount of our future revenues and cash flow will be generated under our PRC subsidiaries, and most of our cash and cash equivalents and restricted cash are denominated in Renminbi, any existing and future restrictions on dividend or currency exchange may limit our ability to utilize cash generated by our PRC subsidiaries to fund our business activities outside of the PRC or pay dividends in foreign currencies. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 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;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">[Reserved]</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Capitalization and Indebtedness</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;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Reasons for the Offer and Use of Proceeds</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;">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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">D&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risk Factors</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Our Company and Our Industry</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be adversely affected by volatile solar power market and industry conditions; in particular, the demand for our solar power</span> <span style="font-style:italic;font-weight:bold;">and battery storage products and services may decline, which may reduce our revenues and&#160;earnings.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business is affected by conditions in the solar power market and industry. We believe that the solar power market and industry may from time to time experience oversupply. When this occurs, many solar power project developers, solar system installers and solar power product distributors that purchase solar power products, including solar modules from manufacturers like us, may be adversely affected. Our shipments of solar modules increased in 2020 compared to 2019, and further increased in 2021. The average selling prices for our solar modules declined from the previous year in each of 2019 and 2020 but increased in 2021. If the supply of solar modules grows faster than demand and if governments continue to reduce financial support for the solar industry and impose trade barriers for solar power products, demand and the average selling price for our products could be materially and adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The solar power market is still at a relatively early stage of development, and future demand for solar power products and services is uncertain. Market data for the solar power industry is not as readily available as for more established industries, where trends are more reliably assessed from data gathered over a longer period of time. In addition, demand for solar power products and services in our largest end markets, including the U.S., Europe, Japan, China and Brazil, may not develop or may develop to a lesser extent than we anticipate. Many factors may affect the viability of solar power technology and the demand for solar power products, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the cost-effectiveness, performance and reliability of solar power products and services, including our solar and battery storage projects, compared to conventional and other renewable energy sources and products and services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability of government incentives to support the development of the solar power industry;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability and cost of capital, including long-term debt and tax equity, for solar and battery storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the success of other alternative energy technologies, such as wind power, hydroelectric power, clean hydrogen, geothermal power and biomass fuel;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuations in economic and market conditions that affect the viability of conventional and other renewable energy sources, such as increases or decreases in the prices of oil, gas and other fossil fuels;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">capital expenditures by end users of solar power and battery storage products and services, which tend to decrease when the economy slows; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability of favorable regulation for solar power within the electric power industry and the broader energy industry.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If solar power and battery storage technology is not suitable for widespread adoption or if sufficient demand for solar power and battery storage products and services does not develop or takes longer to develop than we anticipate, our revenues may suffer and we may be unable to sustain our profitability. </p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The operating results of our project development business within Global Energy segment and the mix of revenues from our CSI Solar and Global Energy segments may be subject to significant fluctuation due to a number of factors, including the unpredictability of the timing of the development and sale of our solar and battery storage projects and our inability to find third party buyers for our projects in a timely manner, on favorable terms and conditions, or at all.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our Global Energy segment develops, sells and/or operates and maintains solar and battery storage projects primarily in the U.S., Brazil, Chile, the U.K., the EU, Japan, China, and Australia. Our project development activities have grown over the past several years through a combination of organic growth and acquisitions. After completing their development, we either sell our solar or battery storage projects to third party buyers, or operate them under PPAs or other contractual arrangements with utility companies or grid operators. Revenues from our Global Energy segment increased by $7.5 million, or 1%, to $726.2 million for the year ended December 31, 2020, and then further increased by $397.9 million, or 55%, to $1,124.1 million for the year ended December 31, 2021. We intend to monetize the majority of our current portfolio of solar and battery storage projects in operation with an estimated resale value of approximately $260.0 million as of January 31, 2022. We also intend to monetize certain of our projects before they reach COD. However, there is no assurance whether or when we will be able to realize their estimated resale value. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The operating results of our energy business may be subject to significant period-over-period fluctuations for a variety of reasons, including but not limited to the unpredictability of the timing of the development and sale of our solar and battery storage projects, changes in market conditions after we have committed to projects, availability of financing for our projects and changes in government regulations and policies, all of which may result in the cancellation of or delays in the development of projects, inability to monetize or delays in monetizing projects or changes in amounts realized on monetization of projects. If a project is canceled, abandoned or deemed unlikely to occur, we will charge all prior capital costs as an operating expense in the quarter in which such determination is made, which could materially adversely affect operating results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Further, the mix of revenues from our CSI Solar and Global Energy segments can fluctuate dramatically from quarter to quarter, which may adversely affect our margins and financial results in any given period. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Any of the foregoing may cause us to miss our financial guidance for a given period, which could adversely impact the market price for our common stock and our liquidity. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The execution of our growth strategy depends upon the continued availability of third-party financing arrangements for our customers, which is affected by general economic conditions. Tight credit markets could depress demand or prices for solar power and battery storage products and services, hamper our expansion and materially affect our results of operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Most solar and battery storage projects, including our own, require financing for development and construction with a mixture of equity and third-party funding. The cost of capital affects both the demand and price of solar power and battery storage systems. A high cost of capital may materially reduce the internal rate of return for solar and battery storage projects and therefore put downward pressure on the prices of solar systems, solar modules and battery storage systems, which typically comprise a major part of the cost of solar and battery storage projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, solar and battery storage projects compete for capital with other forms of fixed income investments such as government and corporate bonds. Some classes of investors compare the returns of solar and battery storage projects with bond yields and expect a similar or higher internal rate of return, adjusted for risk and liquidity. Higher interest rates could increase the cost of existing funding and present an obstacle for future funding that would otherwise spur the growth of the solar power and battery storage industry. In addition, higher bond yields could result in increased yield expectations for solar and battery storage projects, which would result in lower system 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. Constricted credit markets may impede our expansion plans and materially and adversely affect our results of operations. The cash flow of a solar power/battery storage project may be derived from government-funded or government-backed FITs. Consequently, the availability and cost of funding solar and battery storage projects is determined in part based on the perceived sovereign credit risk of the country where a particular project is located.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In light of the uncertainty in the global credit and lending environment, we cannot make assurances that financial institutions will continue to offer funding to solar and battery storage project developers at reasonable costs. An increase in interest rates or a decrease in funding of capital projects within the global financial market could make it difficult to fund solar power and battery storage systems and potentially reduce the demand for solar modules and battery storage systems and/or reduce the average selling prices for solar modules and battery storage systems, which may materially and adversely affect our business, results of operations, financial condition and prospects.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future success depends partly on our ability to expand the pipeline of our energy business in several key markets, which exposes us to a number of risks and uncertainties.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Historically, our sales of modules, solar system kits, and other services have accounted for the majority of our net revenues. We have, in recent years, increased our investment in our energy business, which primarily consists of solar and battery storage project development and sale, operating solar and battery storage projects and sale of electricity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">While we plan to continue to monetize our current portfolio of solar and battery storage projects in operation, we also intend to grow our energy business by developing and selling or operating more solar and battery storage projects, including those that we develop and those that we acquire from third parties. 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 and battery storage project pipeline. The risks and uncertainties associated with our energy business, and our ability to expand our solar and battery storage project pipeline, include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the uncertainty of being able to sell the projects, receive full payment for them upon completion, or receive payment in a timely&#160;manner;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the need to raise significant additional funds to develop greenfield or purchase late stage solar and battery storage projects, which we may be unable to obtain on commercially reasonable terms or at all;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays and cost overruns as a result of a number of factors, many of which are beyond our control, including construction and procurement price inflation, delays in regulatory approvals, grid connection, supply chain of our suppliers or availability of components, construction and installation, and customer acceptance testing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays or denial of required regulatory approvals by relevant government authorities, as a result of, among others, poor management of permitting process, including lack or resources and opaqueness of administrative measures;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">diversion of significant management attention and other resources; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">failure to execute our project pipeline expansion plan effectively.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If we are unable to successfully expand our energy business, and, in particular, our solar and battery storage project pipeline, we may be unable to expand our business, maintain our competitive position, improve our profitability and generate cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Governments may revise, reduce or eliminate incentives and policy support schemes for solar and battery storage power, which could cause demand for our products to&#160;decline.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Historically, the market for on-grid applications, where solar power supplements the electricity a customer purchases from the utility network or sells to a utility under a FIT, depends largely on the availability and size of government subsidy programs and economic incentives. Until recently, the cost of solar power exceeded retail electricity rates in many locations. Government incentives vary by geographic market. Governments in many countries provided incentives in the form of FITs, rebates, tax credits, renewable portfolio standards, auctions for Contracts for Difference (&#8220;CfDs&#8221;), Feed-in Premium (&#8220;FIP&#8221;) and other incentives. These governments implemented mandates to end-users, distributors, system integrators and manufacturers of solar power products to promote the use of solar energy in on-grid applications and to reduce dependency on other forms of energy. However, these government mandates and economic incentives in many markets either have been or are scheduled to be reduced or eliminated altogether, and it is likely that eventually incentives for solar and alternative energy technologies will be phased out completely. Over the past few years, the cost of solar energy has 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 that will directly benefit the solar industry. As to the United States, federal legislation is being discussed that may provide additional support for solar and energy storage development (including the potential introduction of production tax credits for solar projects, investment tax credit for energy storage projects, and direct pay provisions), though the final outcome of these discussions is uncertain. As to Japan, new FIP scheme has been effectively implemented in April 2022. This new scheme ensures investment incentives for power producers by allowing them to receive premium based on the unit price in addition to the sales revenue from the transactions at the power exchange or through the power purchase agreements, and such premium is calculated by deducting reference price based on the market price from the base price. 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. We believe that the near-term growth of the market partially depends on the availability and size of such government incentives.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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 solar and battery storage projects may continue to offer attractive internal rates of return, it is unlikely that these rates will be as high as they were in the past. If internal rates of return fall below an acceptable rate for project investors, and governments continue to reduce or eliminate incentives for solar and battery storage power, this may cause a decrease in demand and considerable downward pressure on solar systems and therefore negatively impact both solar module prices and the value of our solar and battery storage projects. The reduction, modification or elimination of government incentives in one or more of our markets could therefore materially and adversely affect the growth of such markets or result in increased price competition, either of which could cause our revenues to decline and harm our financial results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Imposition of antidumping and countervailing duty orders or safeguard measures in one or more markets may result in additional costs to our customers, which could materially or adversely affect our business, results of operations, financial conditions and future prospects.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have been, and may be in the future, subject to the imposition of antidumping and countervailing duty orders or safeguard measures in one or more of the markets in which we sell our products. In the past, we were subject to the imposition of antidumping and countervailing duty orders and safeguard measures in the U.S., the EU, and Canada and have, as a result, been party to lengthy proceedings related thereto. See &#8220;Item 8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings.&#8221; The U.S., the EU, the U.K. and Canada are important markets for us. Ongoing proceedings relating to past, and the imposition of any new, antidumping and countervailing duty orders or safeguard measures in these markets may result in additional costs to us and/or our customers, which may materially and adversely affect our business, results of operations, financial conditions and future prospects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">General global economic conditions may have an adverse impact on our operating performance and results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The demand for solar and battery storage products and services is influenced by macroeconomic factors, such as global economic conditions (e.g. interest rates, foreign exchange rates and inflation), demand for electricity, supply and prices of other energy products, such as oil, coal and natural gas, as well as government regulations and policies concerning the electric utility industry, clean and other alternative energy industries and the environment. As a result of global economic conditions, some governments may implement measures that reduce the FITs and other incentives designed to benefit the solar industry. A decrease in solar power tariffs or wholesale electricity in many markets placed downward pressure on the price of solar and battery storage systems in those and other markets. In addition, reductions in oil and coal prices may reduce the demand for and the prices of solar power and battery storage products and services. Our growth and profitability depend on the demand for and the prices of solar power products and services. If we experience negative market and industry conditions and demand for solar and battery storage projects and solar power and battery storage products and services weakens as a result, our business and results of operations may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our project development and construction activities may not be successful, projects under development may not receive required permits, property rights, EPC agreements, interconnection and transmission arrangements, and financing or construction of projects may not commence or continue as scheduled, all of which could increase our costs, delay or cancel a project, and have a material adverse effect on our revenue and profitability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The development and construction of solar and battery storage projects involve known and unknown risks, many of which are not under our sole control. For example, we may be required to invest significant amounts of money for land and interconnection rights, preliminary engineering and permitting and may incur legal and other expenses before we can determine whether a project is feasible; we may also need to engage and rely on third parties including, but not limited to, contractors and consultants. Success in developing a particular project is contingent upon, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">securing</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">land rights and related permits, including satisfactory environmental assessments;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">receipt of required land use and construction permits and approvals;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">receipt of rights to interconnect to the electric grid;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">availability of transmission capacity, potential upgrade costs to the transmission grid and other system constraints;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">payment of interconnection and other deposits (some of which are non-refundable);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">negotiation of satisfactory EPC agreements;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">obtaining construction financing, including debt, equity and tax credits; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">timely and satisfactory execution and performance by the third parties that we engage.</span></td></tr></table><div style="margin-top: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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, successful completion of a particular project may be adversely affected by numerous factors, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in laws, regulations and policies and shifts in trade barriers and remedies, especially tariffs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays in obtaining and maintaining required governmental permits and&#160;approvals;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">potential challenges from local residents, environmental organizations, and others who may not support the&#160;project;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">unforeseen engineering problems; subsurface land conditions; construction delays; cost over-runs; labor, equipment and materials supply shortages or disruptions (including labor&#160;strikes);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">failure to enter into PPAs on terms favorable to us, or at all;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">additional complexities when conducting project development or construction activities in foreign jurisdictions, including compliance with applicable U.S. or local laws and customs;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">force majeure events, including adverse weather conditions, pandemics, supply chain disruptions, hostilities and other events beyond our&#160;control.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are unable to complete the development of a solar and battery storage project or we fail to meet any agreed upon system level capacity or energy output guarantees or warranties (including our 25 or 30 year module power output performance guarantees) or other contract terms, or our projects cause grid interference or other damage, the EPC, the PPA or other agreements related to the project may, depending on the specific terms of the agreements, be terminated and/or we may be subject to significant damages, penalties and other obligations relating to the project, including obligations to repair, replace or supplement materials for the project.</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<span style="font-family:'Courier New';">-</span>price EPC agreements in which we act as the general contractor for our customers in connection with the installation of their solar power and battery storage systems. All essential costs are estimated at the time of entering into the EPC agreement for a particular project, and these costs are reflected in the overall fixed price that we charge our customers for the project. These cost estimates are preliminary and may or may not be covered by contracts between us and the subcontractors, suppliers and other parties involved in the project. In addition, we require qualified, licensed subcontractors to install most of our solar power and battery storage systems. Shortages of components (which may be attributable to the shortage of raw materials or components) or skilled labor 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 margins or our results of operations may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Developing and operating solar and battery storage projects exposes us to risks different from those related to producing solar modules.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The development of solar and battery storage projects can take many months or years to complete and may be delayed for reasons beyond our control. It often requires us to make significant up-front payments for, among other things, land rights, interconnection work and permitting in advance of commencing construction, and revenue from these projects may not be recognized for several additional months following contract signing. Any inability or significant delays in entering into sales contracts with customers after making such up-front payments could adversely affect our business and results of operations. Furthermore, we may become constrained in our ability to simultaneously fund our other business operations and invest in other projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In contrast to producing solar modules, developing solar and battery storage projects requires more management attention to negotiate the terms of our engagement and monitor the progress of the projects which may divert management&#8217;s attention from other matters. Our revenue and liquidity may be adversely affected to the extent the market for solar and battery storage projects weakens or we are not able to successfully complete the customer acceptance testing due to technical difficulties, equipment failure, or adverse weather, and we are unable to sell our solar and battery storage projects at prices and on terms and timing that are acceptable to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our energy business also includes operating solar and battery storage projects and selling electricity to the local or national grid or other power purchasers. As a result, we are subject to a variety of risks associated with intense market competition, changing regulations and policies, insufficient demand for solar or battery storage, technological advancements and the failure of our power generation facilities.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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 facilitate greater opportunities in solar projects, we have established Japan Green Infrastructure Fund (&#8220;JGIF&#8221;) in 2020 by partnering with a business unit of Macquarie Group, who holds a minority interest in JGIF. JGIF has secured JPY22 billion ($213.2 million) of committed capital that will be used to develop, build and accumulate new solar projects in Japan. We have further established CSFS Fund I, a new closed-ended alternative investment fund of a similar nature to Canadian Solar Infrastructure Fund, Inc. &#160;(&#8220;CSIF&#8221;), in Italy and we intend to contribute new projects in 2022 and market to third party investors. 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 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face a number of risks involving PPAs and project-level financing arrangements, including failure or delay in entering into PPAs, defaults by counterparties and contingent contractual terms such as price adjustment, termination, buy-out, acceleration and other clauses, all of which could materially and adversely affect our energy business, financial condition, results of operations and cash&#160;flows.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We may not be able to enter into PPAs for our solar and battery storage projects due to intense competition, increased supply of electricity from other sources, reduction in wholesale electricity prices, changes in government policies or other factors. There is a limited pool of potential buyers for electricity generated by our solar power plants since the transmission and distribution of electricity is either monopolized or highly concentrated in most jurisdictions. The willingness of buyers to purchase electricity from an independent power producer may be based on a number of factors and not solely on pricing and surety of supply. Failure to enter into PPAs on terms favorable to us, or at all, would negatively impact our revenue and our decisions regarding the development of additional power plants. We may experience delays in entering into PPAs for some of our solar and battery storage projects or may not be able to replace an expiring PPA with a contract on equivalent terms and conditions, or otherwise at prices that permit operation of the related facility on a profitable basis. Any delay in entering into PPAs may adversely affect our ability to finance project construction and to enjoy the cash flows generated by such projects. If we are unable to replace an expiring PPA with an acceptable new PPA, the affected site may temporarily or permanently cease operations, or could be exposed to more uncertain merchant or wholesale electricity pricing, which could materially and adversely affect our financial condition, results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Substantially all of the electric power generated by our solar and battery storage projects will be sold under long-term PPAs with public utilities, licensed suppliers, corporate offtakers, and commercial, industrial or government end users. Despite possible future alternatives, we expect a substantial number of our future projects to also have long-term PPAs or similar offtake arrangements such as FIT programs. If, for any reason, any of the purchasers of power under these contracts are unable or unwilling to fulfill their related contractual obligations, they refuse to accept delivery of the power delivered thereunder or they otherwise terminate them prior to their expiration, our assets, liabilities, business, financial condition, results of operations and cash flows could be materially and adversely affected. Further, to the extent any of our power purchasers are, or are controlled by, governmental entities, our facilities may be subject to legislative or other political action that may impair their contractual performance or contain contractual remedies that do not provide adequate compensation in the event of a counterparty default.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Some of our PPAs are subject to price adjustments over time. If the price under any of our PPAs is reduced below a level that makes a project economically viable, our financial conditions, cash flow and results of operations could be materially and adversely affected. Some inflation-based price adjustment is only done yearly and consequently may not allow us to pass on the additional costs in a timely manner, if at all. Further, some of our long-term PPAs do not include inflation-based price increases. Certain of the PPAs for our own projects and those for projects that we have acquired and may acquire in the future contain or may contain provisions that allow the offtake purchaser to terminate or buy out the project or require us to pay liquidated damages upon the occurrence of certain events. If these provisions are exercised, our financial condition, results of operations and cash flows could be materially and adversely affected. Additionally, certain of the project-level financing arrangements for projects allow, and certain of the projects that we may acquire in the future may allow, the lenders or investors to accelerate the repayment of the financing arrangement in the event that the related PPA is terminated or if certain operating thresholds or performance measures are not achieved within specified time periods. Certain of our PPAs and project-level financing arrangements include, and in the future may include, provisions that would permit the counterparty to terminate the contract or accelerate maturity in the event we own, directly or indirectly, less than 50% of the combined voting power or, in some cases, if we cease to be the majority owner, directly or indirectly, of the applicable project subsidiary. The termination of any of our PPAs or the acceleration of the maturity of any of our financing arrangements as a result of a change-in-control event could have a material adverse effect on our financial condition, results of operations and cash flows.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If the supply of solar wafers and cells increases in line with increases in the supply of polysilicon, then the corresponding oversupply of solar wafers, cells and modules may cause substantial downward pressure on the prices of our products and reduce our revenues and&#160;earnings.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Silicon production capacity has expanded rapidly in recent years. As a result of this expansion, coupled with the global economic downturn, the solar industry has experienced an oversupply of high-purity silicon since the beginning of 2009. This has contributed to an oversupply of solar wafers, cells and modules and resulted in substantial downward pressure on prices throughout the value chain. The average selling price of our solar modules decreased from $0.40 per watt in 2017 to $0.34 per watt in 2018, $0.29 per watt in 2019, $0.25 per watt in 2020, and increased to $0.28 per watt in 2021. Although we believe that there is a relative balance between capacity and demand at low prices due to industry consolidation, increases in solar module production in excess of market demand may result in further downward pressure on the price of solar wafers, cells and modules, including our products. Increasing competition could also result in us losing sales or market share.</p><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. For example, the market prices of silicon materials, silicon wafers, and battery cells substantially rose by 150%, 60% and 10%, respectively, from January to September 2021, primarily due to supply tightness. Although our manufacturing operation in the third quarter of 2021 improved due to the stabilization of raw material prices, the market price of silicon-based materials rose sharply again in October 2021. As a result, we may not be able to keep up with fast growth in the demand for our solar products. Accordingly, due to fluctuations in the supply and price of solar power products throughout the value chain, we may not be able to, on an ongoing basis, procure silicon, wafers and cells at reasonable costs if any of the above risks materializes. If, on an ongoing basis, we are unable to procure silicon, solar wafers and solar cells at reasonable prices or mark up the price of our solar modules to cover our manufacturing and operating costs, our revenues and margins will be adversely impacted, either due to higher costs compared to our competitors or due to further write-downs of inventory, or both. In addition, our market share could decline if our competitors are able to price their products more competitively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We are subject to numerous laws, regulations and policies at the national, regional and local levels of government in the markets where we do business. Any changes to these laws, regulations and policies may present technical, regulatory and economic barriers to the purchase and use of solar power and battery storage products, solar and battery storage projects and solar electricity, which may significantly reduce demand for our products and services or otherwise adversely affect our financial performance.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are subject to a variety of laws and regulations in the markets where we do business, some of which may conflict with each other and all of which are subject to change. These laws and regulations include energy regulations, export and import restrictions, tax laws and regulations, environmental regulations, labor laws, supply chain laws and regulations and other government requirements, approvals, permits and licenses. We also face trade barriers and trade remedies such as export requirements, tariffs, taxes and other restrictions and expenses, including antidumping and countervailing duty orders, which could increase the prices of our products and make us less competitive in some countries. See &#8220;&#8212;Imposition of antidumping and countervailing duty orders or safeguard measures in one or more markets may result in additional costs to our customers, which could materially or adversely affect our business, results of operations, financial conditions and future prospects.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the countries where we do business, the market for solar power and battery storage products, solar and battery storage projects and solar electricity is heavily influenced by national, state and local government regulations and policies concerning the electric utility industry, as well as policies disseminated by electric utilities. These regulations and policies often relate to electricity pricing and technical interconnection of customer-owned electricity generation, and could deter further investment in the research and development of alternative energy sources as well as customer purchases of solar power and battery storage technology, which could result in a significant reduction in the potential demand for our solar power and battery storage products, solar and battery storage projects and solar electricity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our module and beyond-pure-module business &#160;(which includes sales of solar system kit, battery storage solutions, and other EPC, materials, components and services), we expect that our solar power and battery storage products and their installation will continue to be subject to national, state and local regulations and policies relating to safety, utility interconnection and metering, construction, environmental protection, and other related matters. Any new regulations or policies pertaining to our solar power and battery storage products may result in significant additional expenses to us, our resellers and customers, which could cause a significant reduction in demand for our solar power and battery storage products.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our energy business, we are subject to numerous national, regional and local laws and regulations. Changes in applicable energy laws or regulations, or in the interpretations of these laws and regulations, could result in increased compliance costs or the need for additional capital expenditures. If we fail to comply with these requirements, we could also be subject to civil or criminal liability and the imposition of fines. Further, national, regional or local regulations and policies could be changed to provide for new rate programs that undermine the economic returns for both new and existing projects by charging additional, non-negotiable fixed or demand charges or other fees or reductions in the number of projects allowed under net metering policies. National, regional or local government energy policies, law and regulation supporting the creation of organized merchant or wholesale electricity markets are currently, and may continue to be, subject to challenges, modifications and restructuring proposals, which may result in limitations on the commercial strategies available to us for the sale of our power. For example, reforms to the energy regulatory regime (primarily regarding the power industry law), which are proposed by the Mexican government, consider restrictions to private firm participation in the energy sector and seek to give Mexico&#8217;s national power company, the Federal Electricity Commission (&#8220;CFE&#8221;), preferential status in energy dispatch over private firms. Clean energy proponents argue that such reforms would hinder free competition and unduly benefit the CFE, and they continue to file constitutional challenges, called amparos, against such reforms. The constitutional reform to the energy sector proposed by the ruling political party in Mexico continues to face significant opposition and it is expected that the administrative paralysis in the energy sector will continue to delay the granting of federal permits, licenses and approvals for on private power generators.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Regulatory changes in a jurisdiction where we are developing a solar and battery storage project may make the continued development of the project infeasible or economically disadvantageous and any expenditure that we have previously made on the project may be wholly or partially written off. Any of these changes could significantly increase the regulatory related compliance and other expenses incurred by the projects and could significantly reduce or entirely eliminate any potential revenues that can be generated by one or more of the projects or result in significant additional expenses to us, our offtakers and customers, which could materially and adversely affect our business, financial condition, results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also face regulatory risks imposed by various transmission providers and operators, including regional transmission operators and independent system operators, and their corresponding market rules. These regulations may contain provisions that limit access to the transmission grid or allocate scarce transmission capacity in a particular manner, which could materially and adversely affect our business, financial condition, results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are also subject to the Foreign Corrupt Practices Act of 1977, or the FCPA, the U.S. domestic bribery statute contained in 18 U.S.C. &#167; 201, the U.S. Travel Act, the USA PATRIOT Act and other anti-corruption laws that prohibit companies and their employees and third-party intermediaries from authorizing, offering or providing, directly or indirectly, improper payments or benefits to foreign government officials, political parties and private-sector recipients for the purpose of obtaining or retaining business in countries in which we conduct activities. We may have direct or indirect interactions with officials and employees of government agencies or state-owned or affiliated entities in the course of our business (for example, to obtain approvals, permits and licenses from applicable government authorities and to sell power to government-owned entities). We would face significant liabilities if we failed to comply with these laws and we could be held liable for the illegal activities of our employees, representatives, contractors, partners, and agents, even if we did not authorize such activities. Any violation of the FCPA or other applicable anticorruption laws could also result in whistleblower complaints, adverse media coverage, investigations, loss of export privileges, severe criminal or civil sanctions, which could have a material adverse effect on our business, financial condition, results of operation, cash flows and reputation. In addition, responding to any enforcement action may result in the diversion of management&#8217;s attention and resources, significant defense costs and other professional fees.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Because the markets in which we compete are highly competitive and evolving quickly, because many of our competitors have greater resources than we do or are more adaptive, and because we have a limited track record in our energy business, we may not be able to compete successfully and we may not be able to maintain or increase our market&#160;share.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our module and beyond-pure-module business, we face intense competition from a large number of competitors, including non-China-based companies such as First Solar, Inc., or First Solar, and China-based companies such as LONGI Green Energy Technology Co. Ltd., or Longi, Trina Solar Limited, or Trina, JinkoSolar Holding Co., Limited, or Jinko, JA Solar Co., Limited, or JA Solar, and Hanwha Q Cells Co., Ltd., or Hanwha Q Cells. Some of our competitors are developing or are currently producing products based on new solar power and battery storage technologies that may ultimately have costs similar to or lower than our projected costs. These include products based on thin film PV technology, which requires either no silicon or significantly less silicon to produce than crystalline silicon solar modules, such as the ones that we produce, and is less susceptible to increases in silicon costs. To effectively compete, our products and production capacity are undergoing continuous transformation, which may risk missing monocrystalline module market opportunities and losing market share and in turn negatively affect our performance. For example, while crystalline silicon cell modules have become the market mainstream, our ongoing upgrade to N-type technology, which is focused on further improving the photoelectric conversion efficiency and reducing the manufacturing cost, is susceptible to various related risks. Our judgment of the development trend of technology and products may prove inaccurate, and we may fail to invest sufficiently in research and development in the technology with the most market potential. Consequently, we may be exposed to the risk of technological backwardness. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, some of our competitors have longer operating histories, greater name and brand recognition, access to larger customer bases, greater resources and significantly greater economies of scale than we do. In addition, some of our competitors may have stronger relationships or may enter into exclusive relationships with some of the key distributors or system integrators to whom we sell our products. As a result, they may be able to respond more quickly to changing customer demands or devote greater resources to the development, promotion and sales of their products. Some of our competitors have more diversified product offerings, which may better position them to withstand a decline in demand for solar power and battery storage products. Some of our competitors are more vertically integrated than we are, from upstream silicon wafer manufacturing to solar power system integration. This may allow them to capture higher margins or have lower costs. In addition, new competitors or alliances among existing competitors could emerge and rapidly acquire significant market share. If we fail to compete successfully, our business will suffer and we may not be able to maintain or increase our market share.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our energy business, we compete in a more diversified and complicated landscape since the commercial and regulatory environments for solar and battery storage project development and operation vary significantly from region to region and country to country. Our primary competitors are local and international developers and operators of solar and battery storage projects. Some of our competitors may have advantages over us in terms of greater experience or resources in the operation, capital, financing, technical support and management of solar and battery storage projects, in any particular markets or in general.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have a global footprint and develop solar and battery storage projects primarily in Canada, the U.S., Japan, China, the EU, the U.K., Brazil, Mexico, Chile, Colombia, Australia 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 and battery storage projects in the markets where we compete. Accordingly, we need to continue to be able to compete against both state-owned and private companies in these markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also provide battery storage and system solutions, EPC, O&amp;M and asset management services, and face intense competition from other service providers in those markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business also includes electricity generation and sale, we believe that our primary competitors in the electricity generation markets in which we operate are the incumbent utilities that supply energy to our potential customers under highly regulated rate and tariff structures. We compete with these conventional utilities primarily based on price, predictability of price, reliability of delivery and the ease with which customers can switch to electricity generated by or discharged from our solar and battery storage power projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As the solar power and renewable energy industry grows and evolves, we will also face new competitors who are not currently in the market. Our failure to adapt to changing market conditions and to compete successfully with existing or new competitors will limit our growth and will have a material adverse effect on our business and&#160;prospects.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face risks associated with the marketing, distribution and sale of our solar power and battery storage products and services internationally.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The international marketing, sale, distribution and delivery of our products and services expose us to a number of risks, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuating sources of revenues;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">difficulties in staffing and managing overseas operations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuations in foreign currency exchange rates;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">differing regulatory and tax regimes across different markets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the increased cost of understanding local markets and trends and developing and maintaining an effective marketing and distribution presence in various countries;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the difficulty of providing customer service and support in various countries;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the difficulty of managing our sales channels effectively as we expand beyond distributors to include direct sales to systems integrators, end users and&#160;installers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the difficulty of managing the development, construction and sale of our solar and battery storage projects on a timely and profitable basis as a result of technical difficulties, commercial disputes with our customers and changes in regulations, among other&#160;factors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the difficulties and costs of complying with the different commercial, legal and regulatory requirements in the overseas markets in which we&#160;operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any failure to develop appropriate risk management and internal control structures tailored to overseas operations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any inability to obtain, maintain or enforce intellectual property rights;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any unanticipated changes in prevailing economic conditions and regulatory requirements;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any trade barriers such as export requirements, tariffs, taxes and other restrictions and expenses, which could increase the prices of our products and make us less competitive in some&#160;countries.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are unable to effectively manage these risks, our ability to expand our business abroad could&#160;suffer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our revenue sources have fluctuated significantly over recent years. For example, in 2008, 89.5% of our revenues were attributable to Europe, while only 4.6% and 5.9% were attributable to the Americas and to Asia and other regions, respectively. However, in 2019, Europe and other regions contributed 24.4% while the Americas contributed 43.8% and Asia contributed 31.8% of our revenues; in 2020, Europe and other regions contributed 18.3% while the Americas contributed 35.1% and Asia contributed 46.6% of our revenues; in 2021, Europe and other regions contributed 16.3% while the Americas contributed 43.2% and Asia contributed 40.5% of our revenues. 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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future business depends in part on our ability to make strategic acquisitions, investments and divestitures and to establish and maintain strategic relationships, and our failure to do so could have a material and adverse effect on our market penetration and revenue&#160;growth.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We frequently look for and evaluate opportunities to acquire other businesses, make strategic investments or establish strategic relationships with third parties to improve our market position or expand our products and services. When market conditions permit and opportunities arise, we may also consider divesting part of our current business to focus management attention and improve our operating efficiency. Investments, strategic acquisitions and relationships with third parties could subject us to a number of risks, including risks associated with integrating their personnel, operations, services, internal controls and financial reporting into our operations as well as the loss of control of operations that are material to our business. If we divest any material part of our business, particularly our upstream manufacturing business or downstream energy business through e.g. STAR Listing, we may not be able to benefit from our investment and experience associated with that part of the business and may be subject to intensified concentration risks with less flexibility to respond to market fluctuations. Moreover, it could be expensive to make strategic acquisitions, investments, divestitures and establish and maintain relationships, and we may be subject to the risk of non-performance by a counterparty, which may in turn lead to monetary losses that materially and adversely affect our business. Uncertainties with respect to the relatively new PRC regulations, including the Foreign Investment Law and the Implementation Rules of Foreign Investment Law, may also make it more difficult for us to pursue growth through acquisitions. See &#8220;-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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our significant international operations expose us to a number of risks, including unfavorable political, regulatory, labor and tax conditions in the countries where we&#160;operate.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We intend to continue to extend our global reach and capture market share in various global markets. In doing so, we will be exposed to various risks, including political, regulatory, labor and tax risks. Any government policies that are unfavorable towards international trade, such as capital controls or tariffs, may affect the demand for our products and services, impact our competitive position, or prevent us from expanding globally. If any new tariffs, legislation, or regulations are implemented, or if existing trade agreements are renegotiated, such changes could adversely affect our business, financial condition, and results of operations. Many perceive globalization to be in retreat and protectionism on the rise, as evidenced by the United Kingdom&#8217;s departure from the EU and the decisions of the U.S. Government to, among other actions, impose Section 301 and other tariffs on goods imported from China and renegotiate certain trade arrangements. Tensions have continued to escalate in 2021, in areas ranging from trade, national security and national and regional politics and have resulted in contentious punitive or retaliatory measures being imposed on businesses and individuals. &#160;The tensions surrounding international trade and potential government sanctions could negatively affect the overall economic, political and social conditions in the countries where we operate, which could adversely affect our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, despite our zero tolerance of forced labor, whether in our own manufacturing facilities and throughout our supply chain, we may be subject to risks related to forced labor allegations. We monitor our manufacturing facilities, maintain an equal opportunity policy, prohibit discrimination of any kind, and follow the employment laws and regulations of the jurisdictions in which we operate. A set of challenges were imposed by the U.S. Customs and Border Protection (&#8220;CBP&#8221;) in June 2021 through a Withhold Release Order (&#8220;WRO&#8221;) pursuant to Section 307 of the Tariff Act of 1930 on products whose upstream silica-based products (such as polysilicon) are sourced, or are suspected of being sourced, from Hoshine Silicon Industry Co. Ltd. and its subsidiaries (&#8220;Hoshine&#8221;). On December 23, 2021, President Biden signed into law the Uyghur Forced Labor Prevention Act (the &#8220;UFLPA&#8221;), which creates forced labor-related import restrictions that, as of now, take effect on June 21, 2022 and apply more broadly than the WRO. Our solar modules imported into the U.S. contain polysilicon sourced from the Inner Mongolia and Henan provinces. &#160;Notwithstanding, there can be no assurance that we will not experience adverse consequences arising from the impact of these restrictions on our products and supply chain. If our products are seized, excluded or detained by the CBP due to the WRO or the UFLA, we will use our best effort to provide the requisite evidence to rebut the presumption of use of forced labor.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We cannot predict what additional actions the U.S. may adopt or what actions may be taken by other countries with regard to similar concerns. Our direct solar module sales to the U.S. market accounted for 14.8% and 15.5% of our total revenues in 2020 and 2021, 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="white-space:pre-wrap;"> </span>Sustained tensions between the United States and China, the recent Russia-Ukraine crisis and related sanctions, and other conflicts between Russia and Western countries could significantly undermine the stability of the global economy. These recent events have also caused significant volatility in global equity and debt capital markets, which could trigger a severe contraction of liquidity in the global credit markets. If tensions increase among countries, there may be a material adverse effect on our international operations. Furthermore, we may need to make substantial investments in our overseas operations in order to attain longer-term sustainable returns. These investments could negatively impact our financial performance before sustainable returns are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">An anti-circumvention investigation and the extended safeguard measures in the United States could adversely affect us.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our exports to the United States could be adversely impacted by (i) the possibility that the U.S. Department of Commerce (&#8220;USDOC&#8221;) could reach an affirmative determination in an anti-circumvention investigation of crystalline silicon photovoltaic (&#8220;CSPV&#8221;) cells and modules products from Thailand and/or Vietnam; and/or (ii) further changes to the U.S. Government&#8217;s extended safeguard measures currently in place against imports of CSPV cells and modules. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August 16, 2021, a group of anonymous entities calling itself the American Solar Manufacturers Against Chinese Circumvention (&#8220;A-SMACC&#8221;) requested that the USDOC initiate an anti-circumvention inquiry regarding CSPV products from Malaysia, Thailand, and Vietnam. A-SMACC alleged that certain CSPV products from Malaysia, Thailand, and Vietnam containing Chinese-origin components were circumventing the Solar 1 antidumping (&#8220;AD&#8221;) and countervailing duty (&#8220;CVD&#8221;) orders (i.e., CSPV solar cells manufactured in China). Canadian Solar entered an appearance in the Thailand and Vietnam segments of this proceeding and requested that the USDOC reject A-SMACC&#8217;s petition as deficient. On November 10, 2021, the USDOC rejected A-SMACC&#8217;s request and declined to initiate an anti-circumvention inquiry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February 8, 2022, U.S. module producer Auxin Solar Inc. (&#8220;Auxin&#8221;) filed with the USDOC separate circumvention petitions on CSPV products from Cambodia, Malaysia, Thailand, and Vietnam. Canadian Solar entered these proceedings with respect to Thailand and Vietnam and requested that the USDOC reject Auxin&#8217;s petition. On April 1, 2022, the USDOC initiated anti-circumvention inquiries on a country-wide basis with respect to all four countries. We are defending our interests in these proceedings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">U.S. law provides that the USDOC may find that circumvention exists when (among other things) merchandise subject to an AD/CVD order is completed or assembled in third countries with the end result of AD/CVD duty avoidance. Specifically, with respect to the existing Solar 1 China AD/CVD orders, the USDOC may find that (i) certain CSPV cells and/or modules produced in Thailand and Vietnam fall within the scope of the AD/CVD orders; and (ii) the collection of AD and/or CVD deposits is appropriate to prevent evasion of AD/CVD duties. The USDOC&#8217;s investigation will examine, inter alia, whether (i) the production process in Thailand and Vietnam is &#8220;minor or insignificant&#8221;; and (ii) the value of the merchandise produced in China is a significant portion of the value of the product exported to the United States. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In light of the USDOC&#8217;s determination to initiate Auxin&#8217;s requested anti-circumvention investigations, AD/CVD deposits could be collected on U.S. imports entering the United States as of April 1, 2022 the publication of the USDOC&#8217;s initiation notice in the Federal Register, and potentially even earlier going back to November 4, 2021. Furthermore, with an affirmative finding by the USDOC, our imports from Thailand and Vietnam would essentially be treated as if they were of Chinese origin and subject to potentially very high AD/CVD deposit rates. We produce a significant portion of our products from facilities in Thailand and Vietnam. As such, the application of AD/CVD duties to our products produced in Thailand and Vietnam would adversely impact our ability to remain competitive in the U.S. market&#8212;one of our main markets&#8212;and risk significant harm to our financial condition and operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the U.S. Government extended the solar safeguard measure for four years until February 6, 2026. &#160;The extended solar safeguard measure applies to nearly all U.S. imports of CSPV cells and modules, including imports from Thailand and Vietnam. &#160;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% in the eighth year. The extended safeguard measure could be subject to further revision and risk significant harm to our financial condition and 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face risks related to private securities litigation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our company 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. A settlement of the lawsuit in Canada was achieved and approved by the Ontario Superior Court of Justice on October 30, 2020. &#160;The settlement is not an admission of liability or wrongdoing by our company or any of the other defendants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">There is no guarantee that we will not become party to additional lawsuits. If we were involved in a class action suit, it could divert a significant amount of our management&#8217;s attention and other resources from our business and operations and require us to incur significant expenses to defend the suit. In addition, we are generally obligated, to the extent permitted by law, to indemnify our directors and officers who are named defendants in these lawsuits. If we were to lose a lawsuit, we may be required to pay judgments or settlements and incur expenses in aggregate amounts that could have a material and adverse effect on our financial condition or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our quarterly operating results may fluctuate from period to period.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our quarterly operating results may fluctuate from period to period based on a number of factors, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the average selling prices of our solar power and battery storage products and services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the timing of completion of construction of our solar and battery storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the timing and pricing of project sales;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in payments from power purchasers of solar power plants already in&#160;operation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rate and cost at which we are able to expand our internal production capacity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability and cost of solar cells and wafers from our suppliers and toll manufacturers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability and cost of raw materials, particularly high-purity silicon;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in government incentive programs and regulations, particularly in our key and target&#160;markets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the unpredictable volume and timing of customer orders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the loss of one or more key customers or the significant reduction or postponement of&#160;orders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability and cost of external financing for on-grid and off-grid solar power applications;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">acquisition, investment and offering costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the timing of successful completion of customer acceptance testing of our solar and battery storage&#160;projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">geopolitical turmoil and natural disasters within any of the countries in which we&#160;operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">foreign currency fluctuations, particularly in Renminbi, Euros, Japanese yen, Brazilian reals, Australian dollars, South African rand, Canadian dollars and Thai baht;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to establish and expand customer relationships;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in our manufacturing costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the timing of new products or technology introduced or announced by our competitors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuations in electricity rates due to changes in fossil fuel prices or other&#160;factors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">allowances for credit losses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">inventory write-downs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impairment of property, plant and equipment;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impairment of project assets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impairment of investments in affiliates;</span></td></tr></table></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">depreciation charges relating to under-utilized assets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">share-based compensation expenses on performance-based share awards under our share incentive plan;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">income taxes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">construction progress of solar and battery storage projects and related revenue recognition;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">antidumping, countervailing and other duty costs and true-up charges</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We base our planned operating expenses in part on our expectations of future revenues. A significant portion of our expenses will be fixed in the short-term. If our revenues for a particular quarter are lower than we expect, we may not be able to reduce our operating expenses proportionately, which would harm our operating results for the quarter. As a result, our results of operations may fluctuate from quarter to quarter and our interim and annual financial results may differ from our historical performance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The majority of our sales in 2019, 2020 and 2021 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 Canadian dollars. The majority of our costs and expenses in 2019, 2020 and 2021 were denominated in Renminbi and were primarily related to the sourcing of solar cells, silicon wafers and silicon, 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, Australian dollars and Euros. Most of our cash and cash equivalents and restricted cash are denominated in Renminbi. 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. We recorded net foreign exchange gain of $10.4 million in 2019 and net foreign exchange loss of $64.8 million in 2020, and net foreign exchange loss of $47.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 6pt 0pt;">The value of the Renminbi against the U.S. dollars, the Euros and other currencies is affected by, among other things, changes in China&#8217;s political and economic conditions and China&#8217;s foreign exchange policies. We cannot provide any assurances that the policy of the PRC government will not affect, or the manner in which it may affect the exchange rate between the Renminbi and the U.S. dollars or other foreign currencies in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2008, we have hedged part of our foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts. In addition to the requirement to provide collateral when entering into hedging contracts, there are notional limits on the size of the hedging transactions that we may enter into with any particular counterparty at any given time. While these contracts are intended to reduce the effects of fluctuations in foreign currency exchange rates, our hedging strategy does not mitigate the longer-term impacts of changes to foreign exchange rates. We do not enter into these contracts for trading purposes or speculation, and we believe all these contracts are entered into as hedges of underlying transactions. Nonetheless, these contracts involve costs and risks of their own in the form of transaction costs, credit requirements and counterparty risk. Also, the effectiveness of our hedging program may be limited due to cost effectiveness, cash management, exchange rate visibility and associated management judgment on exchange rate movement, and downside protection. We recorded a loss on change in foreign currency derivatives of $21.3 million in 2019, a gain on change in foreign currency derivatives of $51.2 million in 2020, and a loss on change in foreign currency derivatives of $22.8 million in 2021. These gains or losses on change in foreign currency derivatives are related to our hedging program. If our hedging program is not successful, or if we change our hedging activities in the future, we may experience significant unexpected expenses from fluctuations in exchange rates. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Volatility in foreign exchange rates will hamper, to some extent, our ability to plan our pricing strategy. To the extent that we are unable to pass along increased costs resulting from exchange rate fluctuations to our customers, our profitability may be adversely impacted. As a result, fluctuations in foreign currency exchange rates could have a material and adverse effect on our financial condition and results of&#160;operations.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">A change in our effective tax rate can have a significant adverse impact on our&#160;business.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 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 stock-based compensation expenses; changes in tax laws or the interpretation of tax laws (e.g., in connection with fundamental U.S. international tax reform); changes in U.S. GAAP; and expiration of or the inability to renew tax rulings or tax holiday incentives. In particular, the Organization for Economic Co-operation and Development (&#8220;OECD&#8221;) is working on proposals for international tax reform as an extension of its Base Erosion and Profit Shifting project. The proposals are comprised in a two-pillar approach: Pillar One, which is focused on the re-allocation of some of the taxable profits of multinational enterprises to the markets where consumers are located; and Pillar Two, which is focused on establishing a global minimum corporate taxation rate. In June 2021, the finance ministers of the G7 nations announced an agreement on the principles of the two pillar approach. Subsequently, in October 2021, the OECD/G20 Inclusive Framework announced that 136 countries and jurisdictions had joined an agreement on the two-pillar approach, including the establishment of a global minimum corporate tax rate of 15%. In December 2021, the OECD published detailed rules to assist in the implementation of Pillar Two. The G20 called for all the rules to enter into force at a global level by 2024, with some to be implemented in 2023. The impact of the reform on us will depend on implementation by the adhering countries of the reform. A change in our effective tax rate due to any of these factors may adversely influence our future results of operations. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Seasonal variations in demand linked to construction cycles and weather conditions may influence our results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our business is subject to seasonal variations in demand linked to construction cycles and weather conditions. Demand for solar power and battery storage products and services from some markets, such as the U.S., China, Europe and Japan, may also be subject to significant seasonality due to adverse weather conditions that can complicate the installation of solar power and battery storage systems and negatively impact the construction schedules of solar and battery storage projects. Seasonal variations could adversely affect our results of operations and make them more volatile and unpredictable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future success depends partly on our ability to maintain and expand our solar components manufacturing capacity, which exposes us to a number of risks and uncertainties.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our future success depends partly on our ability to maintain and expand our solar components manufacturing capacity. If we are unable to do so, we may be unable to expand our business, maintain our competitive position, and improve our profitability. Our ability to expand our solar components production capacity is subject to risks and uncertainties, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the need to raise significant additional funds to purchase raw materials and to build additional manufacturing facilities, which we may be unable to obtain on commercially reasonable terms or at&#160;all;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays and cost overruns as a result of a number of factors, many of which are beyond our control, including delays in equipment delivery by&#160;vendors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays or denial of required regulatory approvals by relevant government authorities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">diversion of significant management attention and other resources; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">failure to execute our expansion plan effectively.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If we are unable to maintain and expand our internal production capacity, we may be unable to expand our business as planned. Moreover, even if we do maintain and expand our production capacity, we might still not be able to generate sufficient customer demand for our solar power and battery storage products to support the increased production levels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be unable to generate sufficient cash flows or have access to external financing necessary to fund planned operations and make adequate capital investments in manufacturing capacity and solar and battery storage project development.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We anticipate that our operating and capital expenditures requirements may increase. To develop new products, support future growth, achieve operating efficiencies and maintain product quality, we may need to make significant capital investments in manufacturing technology, facilities and capital equipment, research and development, and product and process technology. 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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our operations are capital intensive. We rely on financing substantially from Chinese banks for our manufacturing operations. We cannot guarantee that we will continue to be able to extend existing or obtain new financing on commercially reasonable terms or at all. See &#8220;&#8212;Our dependence on Chinese banks to extend our existing loans and provide additional loans exposes us to short-term funding risks, which may materially and adversely affect our operations.&#8221; Also, even though we are a publicly-traded company and had successfully issued convertible notes in the past, we may not be able to raise capital via public equity and debt issuances due to market conditions and other factors, many of which are beyond our control. Our ability to obtain external financing is subject to a variety of uncertainties, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our future financial condition, results of operations and cash flows;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">general market conditions for financing activities by manufacturers of solar power and battery storage products, including, but not limited to interest rates; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">economic, political and other conditions in the PRC and elsewhere.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are unable to obtain funding in a timely manner and on commercially acceptable terms, our growth prospects and future profitability may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Construction of our solar and battery storage projects may require us to obtain financing for our projects, including through project financing, green bond financing or others. If we are unable to obtain financing, or if financing is only available on terms which are not acceptable to us, we may be unable to fully execute our business plan. In addition, we generally expect to sell our projects to tax-oriented, strategic industry and other investors. Such investors may not be available or may only have limited resources, in which case our ability to sell our projects may be hindered or delayed and our business, financial condition, and results of operations may be adversely affected. There can be no assurance that we will be able to generate sufficient cash flows, find other sources of capital to fund our operations and solar and battery storage projects, make adequate capital investments to remain competitive in terms of technology development and cost efficiency required by our projects. If adequate funds and alternative resources are not available on acceptable terms, our ability to fund our operations, develop and construct solar and battery storage projects, develop and expand our manufacturing operations and distribution network, maintain our research and development efforts or otherwise respond to competitive pressures would be significantly impaired. Our inability to do the foregoing could have a material and adverse effect on our business and results of operations. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have substantial indebtedness and may incur substantial additional indebtedness in the future, which could adversely affect our financial health and our ability to generate sufficient cash to satisfy our outstanding and future debt obligations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the ordinary course of developing solar and battery storage projects, we carry substantial indebtedness and may incur substantial additional indebtedness in the future, which could adversely affect our financial health and our ability to generate sufficient cash to satisfy our outstanding and future debt obligations. Our substantial indebtedness could have important consequences to us and our shareholders. For example, it&#160;could:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">limit our ability to satisfy our debt obligations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">increase our vulnerability to adverse general economic and industry conditions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">require us to dedicate a substantial portion of our cash flow from operations to servicing and repaying our indebtedness, thereby reducing the availability of our cash flow to fund working capital, capital expenditures and for other general corporate purposes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">limit our flexibility in planning for or reacting to changes in our businesses and the industry in which we&#160;operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">place us at a competitive disadvantage compared with our competitors that have less&#160;debt;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">limit, along with the financial and other restrictive covenants of our indebtedness, among other things, our ability to borrow additional funds;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">increase the cost of additional financing.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the future, we may from time to time incur substantial additional indebtedness and contingent liabilities. If we incur additional debt, the risks that we face as a result of our already substantial indebtedness and leverage could intensify.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We must comply with certain financial and other covenants under the terms of our debt instruments and the failure to do so may put us in default under those instruments.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Many of our debt instruments include financial covenants and broad default provisions. The financial covenants primarily include interest and debt coverage ratios, debt to asset ratios, contingent liability ratios and minimum equity requirements, which, in general, govern our existing long-term debt and debt we may incur in the future. These covenants could limit our ability to plan for or react to market conditions or to meet our capital needs in a timely manner and complying with these covenants may require us to curtail some of our operations and growth plans. In addition, any global or regional economic deterioration may cause us to incur significant net losses or force us to assume considerable liabilities, which would adversely impact our ability to comply with the financial and other covenants of our outstanding loans. If our creditors refuse to grant waivers for any non-compliance with these covenants, such non-compliance will constitute an event of default which may accelerate the amounts due under the applicable loan agreements. Some of our loan agreements also contain cross-default clauses that could enable creditors under our debt instruments to declare an event of default should there be an event of default on our other loan agreements. We cannot assure you that we will be able to remain in compliance with these covenants in the future. We may not be able to cure future violations or obtain waivers of non-compliance on a timely basis. An event of default under any agreement governing our existing or future debt, if not cured by us or waived by our creditors, could have a material adverse effect on our liquidity, financial condition and results of&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our dependence on Chinese banks to extend our existing loans and provide additional loans exposes us to</span> <span style="font-style:italic;font-weight:bold;">short-term funding risks, which may materially and adversely affect our&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We require significant cash flow and funding to support our operations. As a result, we rely on short-term borrowings to provide working capital for our daily manufacturing operations. Since a significant portion of our borrowings come from Chinese banks, we are exposed to lending policy changes by the Chinese banks. As of December 31, 2021, we had outstanding borrowings of $1,022.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&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cancellations of customer orders may make us unable to recoup any prepayments made to&#160;suppliers.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In the past, we were required to make prepayments to certain suppliers, primarily suppliers of machinery, silicon raw materials, solar ingots, wafers and cells. Although we require certain customers to make partial prepayments, there is generally a lag between the due date for the prepayment of purchased machinery, silicon raw materials, solar ingots, wafers and cells and the time that our customers make prepayments. In the event that our customers cancel their orders, we may not be able to recoup prepayments made to suppliers, which could adversely influence our financial condition and results of&#160;operations.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Long-term supply agreements may make it difficult for us to adjust our raw material costs should prices decrease. Also, if we terminate any of these agreements, we may not be able to recover all or any part of the advance payments we have made to these suppliers and we may be subject to litigation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We may enter into long-term supply agreements with silicon and wafer suppliers with fixed price and quantity terms in order to secure a stable supply of raw materials to meet our production requirements. If, during the term of these agreements, the price of materials decreases significantly and we are unable to renegotiate favorable terms with our suppliers, we may be placed at a competitive disadvantage compared to our competitors, and our earnings could decline. In addition, if demand for our solar power and battery storage products decreases, yet our supply agreements require us to purchase more silicon wafers and solar cells than required to meet customer demand, we may incur costs associated with carrying excess inventory. To the extent that we are not able to pass these increased costs on to our customers, our business, cash flows, financial condition and results of operations may be materially and adversely affected. If our suppliers file lawsuits against us for early termination of these contracts, such events could be costly, may divert management&#8217;s attention and other resources away from our business, and could have a material and adverse effect on our reputation, business, financial condition, results of operations and prospects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Credit terms offered to some of our customers expose us to the credit risks of such customers and may increase our costs and expenses, which could in turn materially and adversely affect our revenues, liquidity and results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We offer unsecured short-term or medium-term credit to some of our customers based on their creditworthiness and market conditions. As a result, our claims for payments and sales credits rank as unsecured claims, which expose us to credit risk if our customers become insolvent or&#160;bankrupt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 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. If more customers to whom we extend credit are unable to pay for our products, our revenues, liquidity and results of operations could be materially and adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Supply chain issues, including shortages of adequate raw materials, component and equipment supply, cancellation or delay of purchase orders, inflationary pressures and cost escalation could adversely affect our business, results of operations and relationship with customers, particularly given our dependence on a limited number of suppliers of key elements like silicon wafers and cells. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We depend mainly on third-party suppliers for raw materials and components such as solar silicon, ingots, wafer, cell, PV glass, aluminum, silver metallization paste, solar module back sheet, ethylene vinyl acetate encapsulant, lithium iron phosphate battery cell, inverter, tracker, mounting hardware, and grid interconnection and power stability equipment, and we also procure certain equipment overseas. We procure these materials and equipment for our products from a limited number of suppliers. By way of example, in 2021, a significant portion of the silicon raw materials, wafers and solar cells used in our solar modules was purchased from third parties, namely, Hongyuan New Material (Baotou) Co., Ltd. (&#8220;Hongyuan&#8221;) as monocrystalline square silicon ingots supplier, Longi as silicon wafer suppliers, and Tongwei Solar Co., Ltd. (&#8220;Tongwei Solar&#8221;) and Aiko Solar Energy Co., Ltd (&#8220;Aiko Solar&#8221;) as solar cells suppliers. 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 cost that could increase the lead time for deliveries or impose price increases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The failure of a supplier, for whatever reason, to supply the materials, essential components and equipment that meet quality, quantity and cost requirements in a timely manner could impair our ability to manufacture products (including solar modules) or develop projects, increase costs, hinder compliance with supply agreements&#8217; terms and may result, ultimately, in cancellation of purchase orders and potential liability for us. The impact could be more severe if we are unable to access alternative sources on a timely basis or on commercially reasonable terms to deliver products to customers in the required quantities and at prices that are profitable. 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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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 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 above mentioned factors could adversely impact our business, results of operations and relationship with customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Inflation in many countries and regions, especially in those where we operate, may adversely affect our business and our profitability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, we have facilities and offices in many countries and regions, including Canada, Japan, Australia, Singapore, Korea, Hong Kong, Taiwan, India, Indonesia, Israel, Thailand, Vietnam, Brazil, United Arab Emirates, South Africa, the Americas, the EU (which includes Germany, Italy, Netherlands and Spain), the U.K. and the PRC. We currently sell our products to a diverse customer base in various markets worldwide, including the U.S., Canada, Germany, Spain, the Netherlands, South Africa, China, Japan, India, Thailand, Australia, Brazil and Mexico. As such, we are exposed to the inflation risks therein. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">While the inflation rates in certain countries, e.g. China, have been relatively tame in recent years (2.9%, 2.5% and 0.9% in 2019, 2020 and 2021, 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 develop certain solar project, experienced inflation rates of 53.8%, 36.1% and 50.9% in 2019, 2020 and 2021, respectively, according to Central Bank of Argentina. Brazil, a country where we operate solar project business and secure financing facility, experienced inflation rates of 4.3%, 4.5% and 10.1% in 2019, 2020 and 2021, 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. Due to recent world events, the inflation rate in the Euro Area rose to a fresh record high of 5.9% in February of 2022 from 5.1% in January of 2022, and the inflation rate in the U.S. accelerated to 7.9% in February of 2022, the highest since January of 1982. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Inflation could increase the costs of our raw material such as polysilicon, wafer, PV cell and lithium iron phosphate battery cell. For example, the market prices of silicon materials, silicon wafers, and battery cells substantially rose by 150%, 60% and 10%, respectively, from January to September 2021, and the market price of silicon-based materials rose sharply again in October 2021. 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;">We may not be able to adjust the pricing of our PPAs or solar power and battery storage products sufficiently or take appropriate pricing actions to fully offset the effects of inflation on our cost structures, thus we may fail to maintain current levels of gross profit and operating, selling and distribution, general and administrative expenses and maintenance costs as a percentage of total net revenues. As such, rising inflation rates may negatively impact our profitability. In addition, a high inflation environment would also have negative effects on the level of economic activity, employment and adversely affect our business, results of operations and financial conditions. For example, an increase in the inflation rates may result in an increase in market 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We are developing and commercializing higher conversion efficiency cells, but we may not be able to mass-produce these cells in a cost-effective way, if at&#160;all.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Higher efficiency cell structures are becoming an increasingly important factor in cost competitiveness and brand recognition in the solar power industry. Such cells may yield higher power outputs at the same cost to produce as lower efficiency cells, thereby lowering the manufactured cost per watt. The ability to manufacture and sell solar modules made from such cells may be an important competitive advantage because solar system owners can obtain a higher yield of electricity from the modules that have a similar infrastructure, footprint and system cost compared to systems with modules using lower efficiency cells. Higher conversion efficiency solar cells and the resulting higher output solar modules are one of the considerations in maintaining a price premium over thin-film products. 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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be subject to unexpected warranty and product quality expenses that may not be adequately covered by our insurance policies.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We warrant, for a period up to twelve years, 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 6pt 0pt;">We also warrant that, for a period of 25&#160;years, our standard polycrystalline modules will maintain the following performance levels:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">during the first year, the actual power output of the module will be no less than 97.5% of the labeled power&#160;output;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">from the second year to the 24th&#160;year, the actual annual power output decline of the module will be no more than 0.7%;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">by the end of the 25th&#160;year, the actual power output of the module will be no less than 80.7% of the labeled power&#160;output.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have provided warranty against decline in performance to 30 years for our bifacial module and double glass module products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe that our warranty periods are consistent with industry practice. Due to the long warranty period, however, we bear the risk of extensive warranty claims long after we have shipped our products and recognized revenue. We began selling specialty solar products in 2002 and began selling standard solar modules in 2004. Any increase in the defect rate of our products would require us to increase our warranty reserves and would have a corresponding negative impact on our results of operations. Although we conduct quality testing and inspection of our solar module products, these have not been and cannot be tested in an environment simulating the up-to-30-year warranty periods. In particular, unknown issues may surface after extended use. These issues could potentially affect our market reputation and adversely affect our revenues, giving rise to potential warranty claims by our customers. As a result, we may be subject to unexpected warranty costs and associated harm to our financial results as long as 30 years after the sale of our products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar and battery storage projects built by us, we also provide a limited workmanship or balance of system warranty against defects in engineering, design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar power plant. 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 6pt 0pt;">As part of our energy business, before commissioning solar and battery storage projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements. In limited cases, we also provide for an energy generation performance test designed to demonstrate that the actual energy generation for up to the first three years meets or exceeds the modeled energy expectation (after adjusting for actual solar irradiation). In the event that the energy generation performance test performs below expectations, the appropriate party (EPC&#160;contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract&#160;price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have entered into agreements with a group of insurance companies with high credit ratings to back up a portion of our warranties. Under the terms of the insurance policies, which are designed to match the terms of our solar module product warranty policy, the insurance companies are obliged to reimburse us, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that we incur under the terms of our solar module product warranty policy. We record the insurance premiums initially as prepaid expenses and amortize them over the respective policy period of one year. However, potential warranty claims may exceed the scope or amount of coverage under this insurance and, if they do, they could materially and adversely affect our&#160;business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not continue to be successful in developing and maintaining a cost-effective solar cell, wafer and ingot manufacturing capability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our annual solar cell, solar wafer and ingot production capacity was 13.9 GW, 11.5 GW and 5.4 GW, respectively, as of December 31, 2021. 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. In doing so, we may face significant product development challenges. Manufacturing solar cells, wafers and ingots is a complex process and we may not be able to produce a sufficient quality of these items 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. Any failure to successfully develop and maintain cost-effective manufacturing capability may have a material and adverse effect on our business and prospects. For example, we have in the past purchased a large percentage of solar cells from third parties. This negatively affected our margins compared with those of our competitors since it is less expensive to produce cells internally than to purchase them from third parties. Because third party solar cell purchases are usually made in a period of high demand, prices tend to be higher and availability reduced.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">Although we intend to continue direct purchasing of solar cells, wafers and ingots and toll manufacturing arrangements through a limited number of strategic partners, our relationships with our suppliers may be disrupted if we engage in the large-scale production of solar cells, wafers and ingots ourselves. If our suppliers discontinue or reduce the supply of solar cells, wafers and ingots to us, through direct sales or through toll manufacturing arrangements, and we are not able to compensate for the loss or reduction by manufacturing our own solar cells, wafers and ingots, our business and results of operations may be adversely affected. For more details, see &#8220;Item 6. Directors, Senior Management and Employees&#8212;D. Employees.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not achieve acceptable yields and product performance as a result of manufacturing problems.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We need to continuously enhance and modify our solar module, cell, wafer and ingot production capabilities in order to improve yields and product performance. Microscopic impurities such as dust and other contaminants, difficulties in the manufacturing process, disruptions in the supply of utilities or defects in the key materials and tools used to manufacture solar modules, cells, ingots and wafers can cause a percentage of the solar modules, cells, ingots and wafers to be rejected, which would negatively affect our yields. We may experience manufacturing difficulties that cause production delays and lower than expected yields.</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 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&#160;cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If we are unable to attract, train and retain technical 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, train and retain technical personnel. Recruiting and retaining qualified technical personnel, particularly those with expertise in the solar power industry, are vital to our success. There is substantial competition for qualified technical personnel, and there can be no assurance that we will be able to attract or retain sufficient qualified technical personnel. If we are unable to attract and retain qualified employees, our business may be materially and adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our dependence on a limited number of customers and our lack of long-term customer contracts may cause significant fluctuations or declines in our&#160;revenues.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We sell a substantial portion of our solar module and battery storage products to a limited number of customers, including distributors, system integrators, project developers and installers/EPC companies. &#160;We sell solar and battery storage projects to limited number of utility companies or grid operators, and sell electricity to a limited number of customers including public utilities, licensed suppliers, corporate offtakers, or commercial, industrial or government end users. Our top five customers by revenues collectively accounted for approximately 24.2%, 21.2% and 18.6% of our net revenues in 2019, 2020 and 2021, respectively. We anticipate that our dependence on a limited number of customers will continue for the foreseeable future. Consequently, any of the following events may cause material fluctuations or declines in our revenues:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reduced, delayed or cancelled orders from one or more of our significant customers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the loss of one or more of our significant customers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a significant customer&#8217;s failure to pay for our products on time; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a significant customer&#8217;s financial difficulties or insolvency.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As we continue to expand our business and operations, our top customers continue to change. We cannot assure that we will be able to develop a consistent customer&#160;base.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">There are a limited number of purchasers of utility-scale quantities of electricity and entities that have the ability to interconnect projects to the grid, which exposes us and our utility scale solar and battery storage projects to additional&#160;risk.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Since the transmission and distribution of electricity is either monopolized or highly concentrated in most jurisdictions, there are a limited number of possible purchasers for utility-scale quantities of electricity in a given geographic location, normally transmission grid operators, state and investor-owned power companies, public utility districts and cooperatives. As a result, there is a concentrated pool of potential buyers for electricity generated by our solar power plants, which may restrict our ability to negotiate favorable terms under new PPAs and could impact our ability to find new customers for the electricity generated by our solar power plants should this become necessary. Additionally, these possible purchasers may have a role in connecting our projects to the grid to allow the flow of electricity. Furthermore, if the financial condition of these utilities and/or power purchasers deteriorates, or government policies or regulations to which they are subject and which compel them to source renewable energy supplies change, demand for electricity produced by our plants or the ability to connect to the grid could be negatively impacted. In addition, provisions in our PPAs or applicable laws may provide for the curtailment of delivery of electricity for various reasons, including preventing damage to transmission systems, system emergencies, force majeure or economic reasons. Such curtailment could reduce revenues to us from our PPAs. If we cannot enter into PPAs on terms favorable to us, or at all, or if the purchaser under our PPAs were to exercise its curtailment or other rights to reduce purchases or payments under the PPAs, our revenues and our decisions regarding development of additional projects in the energy business may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Product liability claims against us could result in adverse publicity and potentially significant monetary damages.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We, along with other solar power and battery storage product manufacturers, are exposed to risks associated with product liability claims if the use of our solar and battery power products results in injury or death. Since our products generate or store electricity, it is possible that users could be injured or killed by our products due to product malfunctions, defects, improper installation or other causes. Although we carry limited product liability insurance, we may not have adequate resources to satisfy a judgment if a successful claim is brought against us. The successful assertion of product liability claims against us could result in potentially significant monetary damages and require us to make significant payments. Even if the product liability claims against us are determined in our favor, we may suffer significant damage to our&#160;reputation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our founder, Dr.&#160;Shawn Qu, has substantial influence over our company and his interests may not be aligned with the interests of our other shareholders.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of February 28, 2022, Dr. Shawn Qu, our founder, Chairman, President and Chief Executive Officer, beneficially owned 13,760,492 common shares, or 21.4% of our outstanding shares. As a result, Dr. Shawn Qu has substantial influence over our business, including decisions regarding mergers and acquisition, consolidations, the sale of all or substantially all of our assets, the election of directors and other significant corporate actions. This concentration of ownership may discourage, delay or prevent a change in control of our company, which could deprive our other shareholders of an opportunity to receive a premium for their shares as part of a sale of our company and might reduce the price of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be exposed to infringement, misappropriation or other claims by third parties, which, if determined adversely to us, could require us to pay significant damage&#160;awards.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our success depends on our ability to develop and use our technology and know-how and sell our solar power and battery storage products and services without infringing the intellectual property or other rights of third parties. The validity and scope of claims against us in our ordinary course of business relating to solar power and battery storage technology patents involve complex scientific, legal and factual questions and analyses and are therefore highly uncertain. We may be subject to litigation involving claims of patent infringement or the violation of intellectual property rights of third parties. Defending intellectual property suits, patent opposition proceedings and related legal and administrative proceedings can be both costly and time-consuming and may significantly divert the efforts and resources of our technical and management personnel. Additionally, we use both imported and China-made equipment in our production lines, sometimes without sufficient supplier guarantees that our use of such equipment does not infringe third-party intellectual property rights. This creates a potential source of litigation or infringement claims. An adverse determination in any such litigation or proceedings to which we may become a party from time to time could subject us to significant liability to third parties or require us to seek licenses from third parties, pay ongoing royalties, redesign our products or subject us to injunctions prohibiting the manufacture and sale of our products or the use of our technologies. Protracted litigation could also defer customers or potential customers or limit their purchase or use of our products until such litigation is&#160;resolved.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Compliance with environmental laws and regulations can be expensive, and noncompliance with these regulations may result in adverse publicity and potentially significant monetary damages, fines and the suspension or even termination of our business operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are required to comply with all national and local environmental regulations. Our business generates noise, wastewater, gaseous wastes 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 and material environmental permits to conduct our business as it is presently conducted. However, if more stringent regulations are adopted in the future, the costs of complying with these new regulations could be substantial. If we fail to comply with present or future environmental regulations, we may be required to pay substantial fines, suspend production or cease operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our solar power and battery storage products must comply with the environmental regulations of the jurisdictions in which they are installed, and we may incur expenses to design and manufacture our products to comply with such regulations. 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;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Corporate responsibility, specifically related to Environmental, Social and Governance (&#8220;ESG&#8221;) matters and unsuccessful management of such matters may adversely impose additional costs and expose us to new risks.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Public ESG and sustainability reporting is becoming more broadly expected by investors, shareholders and other third parties. Certain organizations that provide corporate governance and other corporate risk information to investors and shareholders have developed, and others may in the future develop, scores and ratings to evaluate companies and investment funds based upon ESG or &#8220;sustainability&#8221; metrics. Many investment funds focus on positive ESG business practices and sustainability scores when making investments and may consider a company&#8217;s ESG or sustainability scores as a reputational or other factor in making an investment decision. In addition, investors, particularly institutional investors, use these scores to benchmark companies against their peers and if a company is perceived as lagging, these investors may engage with such company to improve ESG disclosure or performance and may also make voting decisions, or take other actions, to hold these companies and their boards of directors accountable. We may face reputational damage in the event our corporate responsibility initiatives or objectives, including with respect to board diversity, do not meet the standards set by our investors, shareholders, lawmakers, listing exchanges or other constituencies, or if we are unable to achieve an acceptable ESG or sustainability rating from third party rating services. Ongoing focus on corporate responsibility matters by investors and other parties as described above may impose additional costs or expose us to new risks, including increased risk of investigation and litigation, and negative impacts on the value of our products and access to capital, which may put us at a commercial disadvantage relative to our peers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have been and continue to rigorously monitor a range of sustainability-related key performance indicators, have adopted an ESG strategy, set ambitious targets, and instituted structures to ensure that ESG factors are incorporated in every major business decision we make and across our business. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Environmental, Social and Governance Initiatives.&#8221; However, implementing our ESG strategy may result in increased costs in our supply chain, fulfillment, and/or corporate business operations, and could deviate from our initial estimates and have a material adverse effect on our business and financial condition. In addition, standards and research regarding ESG strategies could change and become more onerous both for us and our third-party suppliers and vendors to meet successfully. &#160;As such, there can be no certainty that we will be able to meet our ESG or other strategic objectives in an efficient and timely manner or at all, or that we will successfully meet societal expectations in this regard.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, while we are already instituting ambitious decarbonization and other initiatives that help us reduce the environmental impact of our operations, new climate change laws and regulations could require us to change our manufacturing processes or procure substitute raw materials that may cost more or be more difficult to procure. Various jurisdictions in which we do business have implemented, or in the future could implement or amend, restrictions on emissions of carbon dioxide or other greenhouse gases, limitations or restrictions on water use, regulations on energy management and waste management, and other climate change-based rules and regulations, which may increase our expenses and adversely affect our operating results. We expect increased worldwide regulatory activity relating to climate change in the future. Future compliance with these laws and regulations may adversely affect our business and results of operations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face risks related to natural disasters, health epidemics, such as COVID-19, and other catastrophes, which could significantly disrupt our operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business could be materially and adversely affected by natural disasters or other catastrophes, such as earthquakes, fire, floods, hail, windstorms, severe weather conditions, environmental accidents, power loss, communications failures, explosions, terrorist attacks and similar events. Our business could also be materially and adversely affected by public health emergencies, such as the outbreak of avian influenza, severe acute respiratory syndrome, or SARS, Zika virus, Ebola virus, the 2019 novel coronavirus (COVID-19) or other local health epidemics in China and elsewhere and global pandemics. If any of our employees is suspected of having contracted any contagious disease, we may, under certain circumstances, be required to quarantine those employees and the affected areas of our operations. As a result, we may have to temporarily suspend part or all of our facilities. Furthermore, authorities may impose restrictions on travel and transportation and implement other preventative measures in affected regions to deal with the catastrophe or emergency, which may lead to the temporary closure of our facilities and declining economic activity at large. A prolonged outbreak of any health epidemic or other adverse public health developments, in China or elsewhere in the world, 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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of our business, including our operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact our ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on our result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. We will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed to slow the spread of COVID-19.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not be successful in establishing our brand name in important markets and the products we sell under our brand name may compete with the products we manufacture on an original equipment manufacturer, or OEM, basis for our&#160;customers.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We sell our products primarily under our own brand name but also on an OEM basis. In certain markets, our brand may not be as prominent as other more established solar power and battery storage product vendors, and there can be no assurance that our brand names &#8220;Canadian Solar&#8221;, &#8220;CSI&#8221;, &#8220;CSI Solar&#8221; and &#8220;Recurrent Energy&#8221; or any of our possible future brand names will gain acceptance among customers. Moreover, because the range of products that we sell under our own brands and those we manufacture for our OEM customers may be substantially similar, we may end up directly or indirectly competing with our OEM customers, which could negatively affect our relationship with them.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Failure to protect our intellectual property rights in connection with new solar power</span> <span style="font-style:italic;font-weight:bold;">and battery storage products may undermine our competitive position.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As we develop and bring to market new solar power and battery storage products, we may need to increase our expenditures to protect our intellectual property. Our failure to protect our intellectual property rights may undermine our competitive position. As of February 28, 2022, we had 2,003 patents and 632 patent applications pending in the PRC for products that contribute a relatively small percentage of our net revenues. We have 17 U.S. patents, including 5 design patent, and 7 European patents, including 5 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 28, 2022, we had 94 registered trademarks and 39 trademark applications pending in the PRC, and 127 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 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have limited insurance coverage and may incur significant losses resulting from operating hazards, product liability claims, project construction or business interruptions.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our operations involve the use, handling, generation, processing, storage, transportation and disposal of hazardous materials, which may result in fires, explosions, spills and other unexpected or dangerous accidents causing personal injuries or death, property damages, environmental damages and business interruption. Although we currently carry third-party liability insurance against property damage, the policies for this insurance are limited in scope and may not cover all claims relating to personal injury, property or environmental damage arising from incidents on our properties or relating to our operations. See &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Insurance.&#8221; Any occurrence of these or other incidents which are not insured under our existing insurance policies could have a material adverse effect on our business, financial condition or results of&#160;operations.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are also exposed to risks associated with product liability claims in the event that the use of our solar power and battery storage products results in injury. See &#8220;&#8212;Product liability claims against us could result in adverse publicity and potentially significant monetary damages.&#8221; Although we carry limited product liability insurance, we may not have adequate resources to satisfy a judgment if a successful claim is brought against&#160;us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For projects we construct, we are exposed to risks associated with the design and construction that can create additional liabilities to our operations. We manage these risks by including contingencies to our construction costs, ensuring the appropriate insurance coverages are in place such as professional indemnity and construction all risk as well as obtaining indemnifications from our contractors where possible. However, there is no guarantee that these risk management strategies will always be successful. Further, some of our PPAs contain provisions that require us to pay liquidated damages if specified completion schedule requirements are not met, and these amounts could be significant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the normal operation of our manufacturing facilities may be interrupted by accidents caused by operating hazards, power supply disruptions, equipment failure, as well as natural disasters. While our manufacturing plants in China and elsewhere are covered by business interruption insurance, any significant damage or interruption to these plants could still have a material and adverse effect on our results of&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If our internal control over financial reporting or disclosure controls and procedures are not effective, investors may lose confidence in our reported financial information, which could lead to a decline in our share&#160;price.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are subject to the reporting obligations under U.S. securities laws. As required by Section 404 of the Sarbanes-Oxley Act of 2002, the SEC has adopted rules requiring every public company to include a management report on its internal control over financial reporting in its annual report, which contains management&#8217;s assessment of the effectiveness of its internal control over financial reporting. In addition, an independent registered public accounting firm must report on the effectiveness of our internal controls over financial reporting. As of December 31, 2021, our management concluded that our internal control over financial reporting was effective. However, we cannot assure you that material weaknesses in our internal controls over financial reporting will not be identified in the future. Any material weaknesses in our internal controls could cause us not to meet our periodic reporting obligations in a timely manner or result in material misstatements in our financial statements. Material weaknesses in our internal controls over financial reporting could also cause investors to lose confidence in our reported financial information, leading to a decline in the market price of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have obtained approval for the proposed initial public offering of CSI Solar (the &#8220;STAR Listing&#8221;). The subsequent listing process with the securities regulatory authority could be uncertain, time-consuming and costly. We cannot assure you that the STAR Listing will eventually succeed. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 13, 2021, the stock listing committee of the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange determined that CSI Solar, formerly mainly our Module and System Solutions business, had met the offering, listing and disclosure requirements related to its proposed STAR Market listing. CSI Solar will then be required to go through the registration process with the China Securities Regulatory Commission, or the CSRC, before it can complete the listing on the STAR Market. On January 7, 2022, CSI Solar submitted the application documents for registration and the relevant examination and approval materials to CSRC for the offering registration process.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The process of listing a company on the public exchanges in the PRC can be time-consuming and expensive, potentially requiring significant time, resources and focus from our management team. Although we have received approval for the proposed listing, whether we can successfully complete the listing of CSI Solar&#8217;s shares, the related timeline, actual size and pricing of the offering still depend on various factors, including but not limited to, capital markets conditions in China and globally, the regulatory environment for listing securities, financial performance of CSI Solar Co., Ltd and its ability to fulfill the listing requirements in China. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Due to the complexity of conducting an initial public offering in the PRC, including the factors that are beyond our control, we cannot assure you that we would be able to complete the offering in accordance with our anticipated timeline, size and pricing, or at all. In addition, the process underlying the STAR Listing could result in significant diversion of management time as well as substantial out-of-pocket expenses. If CSI Solar fails to complete the listing process as required by the CSRC, we may need to seek other sources of funds to realize our business strategy, which may not be available to us at commercially reasonable terms, or at all. Any such inability to obtain funds may have adverse effect on our consolidated operating results and on the price of our common shares. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The market price of our common shares may be volatile or may decline, for reasons other than the risk and uncertainties described above, as the result of investor negativity or uncertainty with respect to the impact of the proposed STAR Listing.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Even if the STAR Listing is completed, we may not achieve the results contemplated by our business strategy (including with respect to use of proceeds from that offering). In addition, it is difficult to predict the effect of the proposed STAR Listing on our common shares.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Even if the STAR Listing is completed, we cannot assure you that we will realize any or all of our anticipated benefits of the STAR Listing. Our completion of the STAR Listing may not have the anticipated effects of strengthening CSI Solar and our market leadership position. If the STAR Listing is completed, CSI Solar will have broad discretion in the use of the proceeds from the STAR Listing, and it may not spend or invest those proceeds in a manner that results in our operating success or with which holders of our common shares agree. Currently, CSI Solar plans to primarily invest its proceeds from the STAR Listing in a range of capacity support and expansion projects, including annual output of 10 GW pull rod manufacturing, annual output of 10 GW silicon wafer manufacturing, annual output of 4 GW high-efficiency photovoltaic cell manufacturing and annual output of 10 GW high-efficiency photovoltaic cell module manufacturing. Our failure to successfully leverage the completion of the STAR Listing to expand our production capacity in the PRC could pose material adverse effects on our results of operations and consequently result in a decrease in the price of the common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Once CSI Solar is listed in China, it will be subject to the listing and securities law regime of the PRC, and will result in increased legal, accounting and other compliance expenses that it did not incur as a private company. Furthermore, the stock exchange in China and Nasdaq have different trading hours, trading characteristics (including trading volume and liquidity), trading and listing rules, and investor bases, including different levels of retail and institutional participation. As a result of these differences and given the fact that CSI Solar will remain one of our significant subsidiaries, fluctuations in the price of the shares of CSI Solar due to circumstances peculiar to the PRC capital markets or otherwise could materially and adversely affect the price of our common shares, or vice versa. In addition, investors may elect to invest in our business and operations by purchasing CSI Solar shares in the STAR Listing or on the STAR Market rather than purchasing our common shares despite the lack of fungibility between these shares and ours, and that reduction in demand could lead to a decrease in the market price for the common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our ownership interest in CSI Solar will be diluted once it becomes a publicly traded company. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the result of actions being taken in connection with the STAR Listing, including equity raising from China-domiciled investors, CSI Solar is a majority-owned subsidiary of our company. The minority interest in CSI Solar will increase upon completion of the STAR Listing and may diverge from the interests of ours and our other subsidiaries&#8217; in the future. We may face conflicts of interest in managing, financing or engaging in transactions with CSI Solar, or allocating business opportunities between our subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, we own approximately 80% of CSI Solar&#8217;s shares, which includes approximately 5% of the shares issued under CSI Solar&#8217;s employee stock ownership plan that will become effective immediately upon the completion of the STAR Listing. Immediately following the STAR Listing and giving effect to the ownership transfer of CSI Solar&#8217;s employee stock ownership plan shares and the dilutive effect from the shares newly issued for the STAR Listing, we expect to hold approximately 64% of CSI Solar&#8217;s shares. As such, our company will retain majority ownership of CSI Solar after the STAR Listing. However, CSI Solar will be managed by a separate board of directors and officers, and those directors and officers will owe fiduciary duties to the various stakeholders of CSI Solar, including shareholders other than our wholly-owned subsidiary. In the operation of CSI Solar&#8217;s business, the directors and officers of CSI Solar may, in the exercise of their fiduciary duties, take actions that may be contrary to the best interests of our company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During or after the STAR Listing process, certain requirements of the PRC law, including demands from the CSRC, the Shanghai Stock Exchange or other relevant authorities, may have a bearing on holders of our common shares. Recently, in order to comply with the PRC law, some of our senior management resigned from our company and took senior management roles at CSI Solar 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 will become more complex, including as a result of preparations for the STAR Listing. We will need to continue to scale and adapt our operational, financial and management controls, as well as our reporting systems and procedures, at both our company and CSI Solar. The continued expansion of our infrastructure will require us to commit substantial financial, operational and management resources. In addition, holders of our common shares may have limited opportunities to purchase CSI Solar&#8217;s shares even if the STAR Listing were completed.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have granted, and may continue to grant various forms of share-based incentive awards, including performance-based share awards, under our share incentive plan, which may result in increased share-based compensation expenses.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We adopted a share incentive plan in 2006 under which we can grant restricted shares, options and restricted share units to eligible employees, directors and consultants. See &#8220;Item 6 Directors, Senior Management and Employees&#8212;B. Compensation of Directors and Executive Officers&#8221; for more details. In particular, we granted 2,096,000 RSUs to our directors and a group of our key employees, whereby vesting is contingent on the success of the STAR Listing (50% vesting on the IPO date, then 25% vesting each on the first and second anniversaries of the IPO). As such, these RSUs are considered performance-based share awards. As of December 31, 2021, 2,076,000 of such RSUs were unvested and outstanding. For the years ended December 31, 2020 and 2021, we did not record any share-based compensation expenses on these RSUs, as the vesting is dependent upon the consummation of the STAR Listing. We will recognize share-based compensation expenses on these RSUs upon vesting at and after the consummation of the STAR Listing. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We believe the granting of share-based compensation, including performance-based share awards, is of significant importance to our ability to attract, retain and motivate key personnel and employees, and we will continue to grant share-based compensation in the future. As a result, our expenses associated with share-based compensation may increase, which may have an adverse effect on our results of operations. In addition, expenses associated with performance-based share awards may fluctuate greater between periods compared to those associated with time-based share awards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The Accelerating Holding Foreign Companies Accountable Act, if enacted, would reduce the time period before our common shares may be prohibited from trading or delisted. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment. Additionally, the inability of the PCAOB to conduct adequate inspections deprives our investors of the benefits of such inspections.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Holding Foreign Companies Accountable Act, or the HFCAA, was enacted on December 18, 2020. The HFCAA, which became effective on January 1, 2021, states if the SEC determines that an issuer that is required to file reports under Section 13 or 15(d) of the Securities Exchange Act of 1934, or a registrant, has filed audit reports issued by a registered public accounting firm that has not been subject to inspection by the PCAOB for three consecutive years beginning in 2021, the SEC shall prohibit that registrant&#8217;s shares or ADSs from being traded on a national securities exchange or in the over the counter trading market in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2021, the PCAOB adopted a rule related to the PCAOB&#8217;s responsibilities under the HFCAA, which establishes a framework for the PCAOB to determine, as contemplated under the HFCAA, whether the PCAOB is unable to inspect or investigate completely registered public accounting firms located in a foreign jurisdiction because of a position taken by one or more authorities in that jurisdiction. The rule was approved by the SEC in November 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 2, 2021, the SEC adopted final amendments implementing the disclosure and submission requirements of the HFCAA. The final amendments establish the SEC&#8217;s procedures for determining whether a registrant is a &#8220;Commission-Identified Issuer&#8221; under the HFCAA, and prohibiting the trading of Commission-Identified Issuer&#8217;s securities. If the SEC determines that we are a Commission-Identified Issuer under the HFCAA for three consecutive years, or if the audit report filed as part of our annual report with the SEC is otherwise deemed not to be in compliance with the requirements of the Exchange Act due to the PCAOB&#8217;s inability to inspect our auditor, the SEC will prohibit our common shares from being traded on a national securities exchange or in the over the counter trading market in the U.S., which could affect the liquidity of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To end an initial or subsequent trading prohibition, a Commission-Identified Issuer must certify that it has retained a registered public accounting firm that the PCAOB has determined it is able to inspect or investigate. To make that certification, the Commission-Identified Issuer must file financial statements that include an audit report signed by such a registered public accounting firm.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 16, 2021, the PCAOB issued a report to notify the SEC its determinations that it is unable to inspect or investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong, and identifies the registered public accounting firms in mainland China and Hong Kong that are subject to such determinations. Our auditor is identified by the PCAOB and is subject to the determination.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our auditor, the independent registered public accounting firm that issues the audit report included elsewhere in this annual report on Form 20-F, as an auditor of companies that are traded publicly in the United States and a firm registered with the PCAOB, is subject to laws in the United States pursuant to which the PCAOB conducts regular inspections to assess its compliance with the applicable professional standards. Since our auditor is located in China, a jurisdiction where the PCAOB has been unable to conduct inspections without the approval of the Chinese authorities, our auditor is currently not inspected by the PCAOB as determined by the announcement of the PCAOB issued on December 16, 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Whether the PCAOB will be able to conduct inspections of our auditor before the issuance of our financial statements on Form 20-F for the year ending December 31, 2023 which is due by April 30, 2024, or at all, is subject to substantial uncertainty and depends on a number of factors out of our, and our auditor&#8217;s, control.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We were conclusively identified as a &#8220;Commission-Identified Issuer&#8221; on SEC&#8217;s &#8220;Conclusive list of issuers identified under the HFCAA&#8221; on May 26, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, on June 22, 2021, the U.S. Senate passed a bill &#160;known as the AHFCAA, which would reduce the number of consecutive non-inspection years required for triggering the prohibitions under the HFCAA from three years to two. On February 4, 2022, the U.S. House of Representatives passed a bill which contained, among other things, an identical provision. If this provision is enacted into law and the number of consecutive non-inspection years required for triggering the prohibitions under the HFCAA is reduced from three years to two, then our common shares could be prohibited from trading in the United States as early as 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As a result, if we are identified as a &#8220;Commission-Identified Issuer&#8221; for another two consecutive years, the SEC will prohibit our securities from trading on a national securities exchange or in the over the counter trading market in the U.S. in early 2024. In the event of such determination, the Nasdaq is expected to delist our common shares. If the AHFCAA is signed into law, such prohibition would take effect the earliest in early 2023. Moreover, we expect to be identified as a &#8220;Commission-Identified Issuer&#8221; again after we file our annual report for the fiscal year ended December 31, 2022, assuming the PCAOB determines that it is still unable to inspect or investigate completely our auditor by then.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August 26, 2022, the PCAOB signed a Statement of Protocol with the China Securities Regulatory Commission and the Ministry of Finance of the People&#8217;s Republic of China, taking the first step toward opening access for the PCAOB to inspect and investigate registered public accounting firms headquartered in mainland China and Hong Kong completely, consistent with U.S. law. While this Statement of Protocol may lead to full resolution of the previously identified issues, there can be no assurance that this will be the case. In such an event, there can be no assurance that we will continue to be able to comply with the requirements imposed by the U.S. regulators or Nasdaq.</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 prospect and implications of possible regulation on this subject, in addition to the prevailing requirements of the HFCAA, are uncertain. Such uncertainty could cause the market price of our common shares to be materially and adversely affected, and our securities could be delisted or prohibited from being traded &#8220;over-the-counter&#8221; earlier than would be required by the HFCAA as it currently provides. If our securities are unable to be listed on another securities exchange by then, such a delisting 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 a potential delisting would have a negative impact on the price of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If additional remedial measures are imposed on the big four PRC-based accounting firms, including our independent registered public accounting firm, in administrative proceedings brought by the SEC alleging the firms&#8217; failure to meet specific criteria set by the SEC, with respect to requests for the production of documents, we could be unable to timely file future financial statements in compliance with the requirements of the Exchange&#160;Act.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In late 2012, the SEC commenced administrative proceedings under Rule&#160;102(e) of its Rules of Practice and also under the Sarbanes-Oxley Act of 2002 against the mainland Chinese affiliates of the &#8220;Big Four&#8221; accounting firms (including the mainland Chinese affiliate of our independent registered public accounting firm). A first instance trial of the proceedings in July 2013 in the SEC&#8217;s internal administrative court resulted in an adverse judgment against the firms. The administrative law judge proposed penalties on the Chinese accounting firms including a temporary suspension of their right to practice before the SEC, although that proposed penalty did not take effect pending review by the Commissioners of the SEC. On February&#160;6, 2015, before a review by the Commissioner had taken place, the Chinese accounting firms reached a settlement with the SEC whereby the proceedings were stayed. Under the settlement, the SEC accepted that future requests by the SEC for the production of documents would normally be made to the CSRC. The Chinese accounting firms would receive requests matching those under Section&#160;106 of the Sarbanes-Oxley Act of 2002, and would be required to abide by a detailed set of procedures with respect to such requests, which in substance would require them to facilitate production via the CSRC. The CSRC for its part initiated a procedure whereby, under its supervision and subject to its approval, requested classes of documents held by the accounting firms could be sanitized of problematic and sensitive content so as to render them capable of being made available by the CSRC to US regulators.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the terms of the settlement, the underlying proceeding against the four PRC-based accounting firms was deemed dismissed with prejudice at the end of four years starting from the settlement date, which was on February&#160;6, 2019. Despite the final ending of the proceedings, the presumption is that all parties will continue to apply the same procedures: i.e.&#160;the SEC will continue to make its requests for the production of documents to the CSRC, and the CSRC will normally process those requests applying the sanitization procedure. We cannot predict whether, in cases where the CSRC does not authorize production of requested documents to the SEC, the SEC will further challenge the four PRC-based accounting firms&#8217; compliance with U.S. law. If additional challenges are imposed on the Chinese affiliates of the &#8220;big four&#8221; accounting firms, we could be unable to timely file future financial statements in compliance with the requirements of the Exchange Act.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the event that the SEC restarts administrative proceedings, depending upon the final outcome, listed companies in the U.S.&#160;with major PRC operations may find it difficult or impossible to retain auditors in respect of their operations in the PRC, which could result in their financial statements being determined to not be in compliance with the requirements of the Securities Exchange Act of 1934, as amended, or the Exchange Act, including possible delisting. Moreover, any negative news about any such future proceedings against the firms may cause investor uncertainty regarding China-based, U.S.-listed companies and the market price of their shares may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If our independent registered public accounting firm was denied, even temporarily, the ability to practice before the SEC and we were unable to timely find another registered public accounting firm to audit and issue an opinion on our financial statements, our financial statements could be determined not to be in compliance with the requirements of the Exchange Act. Such a determination could ultimately lead to the delisting of our common shares from Nasdaq, or deregistration from the SEC, or both, which would substantially reduce or effectively terminate the trading of our common shares in the&#160;U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Logistical challenges, including global freight capacity shortages, port congestions or significant increases in freight costs, could continue to increase our selling costs or cause delays in our order fulfilment, and our business, financial condition and results of operations may be adversely affected.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our ability to transport products to customers in a timely and cost-effective manner has been, and may continue to be, adversely affected by the current global shortage of freight capacity, delays at ports and other issues that otherwise affect third-party logistics service providers. For example, our shipping and handling costs relating to sales of $88.1 million, $134.2 million and $316.4 million, are included in selling and distribution expenses for the years ended December 31, 2019, 2020 and 2021, respectively. 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. These interruptions and the availability of alternative transportation routes can be affected by the ability of the cargo vessel to call on or depart from ports on a timely basis or at all, rules and regulations applicable to the cargo industry, change in worldwide cargo fleet capacity, weather events, global and regional economic and political conditions, environmental and other regulatory developments. Our ability to plan our pricing strategy may be impacted and to the extent we are unable to pass along the increased costs to our customers, our financial condition and results of operations could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, interruptions, failures or price increases in logistics services can result from events that are beyond our control, such as inclement weather, natural disasters, the COVID-19 pandemic, other pandemics or epidemics, accidents, transportation disruptions, including special or temporary restrictions or closings of facilities or transportation networks due to regulatory or political reasons, or labor unrest or shortages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Doing Business in China</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The enforcement of the labor contract law and increases in labor costs in the PRC may adversely affect our business and our profitability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Labor Contract Law came into effect on January 1, 2008, and was later revised on December 28, 2012; the Implementation Rules was promulgated and became effective on September 18, 2008. The Labor Contract Law and the Implementation Rules imposed stringent requirements on employers with regard to executing written employment contracts, hiring temporary employees, dismissing employees, consultation with the labor union and employee assembly, compensation upon termination and overtime work, collective bargaining and labor dispatch business. In addition, under the Regulations on Paid Annual Leave for Employees, which came into effect on January 1, 2008, and their Implementation Measures, which were promulgated and became effective on September 18, 2008, employees who have served for more than one year with an employer are entitled to a paid vacation ranging from five to fifteen days, depending on their length of service, subject to certain exceptions. Employees who waive such vacation time at the request of the employer must be compensated for each vacation day waived at a rate equal to three times their normal daily salary, subject to certain exceptions. According to the Interim Provisions on Labor Dispatching, which came into effect on March 1, 2014, the number of dispatched workers used by an employer shall not exceed 10% of its total number of workers. &#160;In addition, according to the PRC Social Insurance Law promulgated in October 2010 and revised in 2018, effective as of December 29, 2018, employees shall participate in pension insurance, work-related injury insurance, medical insurance, unemployment insurance and maternity insurance and the employers shall, together with their employees or separately, pay for the social insurance premiums for such employees.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Furthermore, as the interpretation and implementation of these new laws and regulations are still evolving, we cannot assure you that our employment practice will at all times be deemed fully in compliance, which may cause us to face labor disputes or governmental investigation.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The increase or decrease in tax benefits from local tax bureau could affect our total PRC taxes payments, which could have a material and adverse impact on our financial condition and results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Enterprise Income Tax Law, or the EIT Law, came into effect in China on January&#160;1, 2008 and was amended on February&#160;24, 2017 and December&#160;29, 2018. Under the EIT Law, both foreign-invested enterprises and domestic enterprises are subject to a uniform enterprise income tax rate of 25%. The EIT Law provides for preferential tax treatment for certain categories of industries and projects that are strongly supported and encouraged by the state. For example, enterprises qualified as a &#8220;High and New&#160;Technology Enterprise,&#8221; or HNTE, are entitled to a 15% enterprise income tax rate provided that they satisfy other applicable statutory requirements. Further, enterprises which engage in businesses within the scope of the Catalogue of Encouraged Industries in Western Regions promulgated by the NDRC, or Western Catalogue, are entitled to a 15% enterprise income tax rate provided that such enterprises satisfy other applicable statutory requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain of our PRC subsidiaries, such as CSI New Energy Holding Co., Ltd., or CSI New Energy Holding, Canadian Solar Manufacturing (Luoyang) Inc., or CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2021, only Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd), and Changshu Tlian Co., Ltd were HNTEs and enjoyed preferential enterprise income tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">There are significant uncertainties regarding our tax liabilities with respect to our income under the EIT&#160;Law.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are a Canadian company with a substantial portion of our manufacturing operations in China. Under the EIT Law and its implementation regulations, enterprises established outside China whose &#8220;de facto management body&#8221; is located in China are considered PRC tax resident enterprises and will generally be subject to the uniform 25% enterprise income tax rate on their global income. Under the implementation regulations, the term &#8220;de facto management body&#8221; is defined as substantial and overall management and control over aspects such as the production and business, personnel, accounts and properties of an enterprise. The Circular on Certain Issues Relating to the Identification of China-controlled Overseas-registered Enterprises as Resident Enterprises on the Basis of Actual Management Organization, or Circular 82, effective as of January 1, 2008, further provides certain specific criteria for determining whether the &#8220;de facto management body&#8221; of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a) the premises where the senior management and the senior management bodies responsible for the routine production and business management of the enterprise perform their functions are mainly located within the PRC, (b) decisions relating to the enterprise&#8217;s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c) the enterprise&#8217;s primary assets, accounting books and records, company seals, and board and shareholders&#8217; meeting minutes are located or maintained in the PRC and (d) 50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although Circular 82 only applies to offshore enterprises controlled by enterprises or enterprise groups located within the PRC, the determining criteria set forth in Circular 82 may reflect the tax authorities&#8217; general position on how the &#8220;de facto management body&#8221; test may be applied in determining the tax resident status of offshore enterprises. It is unclear under PRC tax law whether we have a &#8220;de facto management body&#8221; located in China for PRC tax purposes. As of the date of this annual report on Form 20-F, we have not been notified or informed by the PRC tax authorities that we are considered a PRC resident enterprise for the purpose of EIT Law. However, as the tax resident status of an enterprise is subject to the determination by the PRC tax authorities, uncertainties remain with respect to the interpretation of the term &#8220;de facto management body&#8221; as applicable to our offshore entities. Therefore, there is a risk that we and certain of our non-PRC subsidiaries may be treated as tax resident in the PRC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Dividends paid by us to our non-PRC shareholders and gains on the sale of our common shares by our non-PRC shareholders may be subject to PRC enterprise income tax liabilities or individual income tax liabilities.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law and its implementation regulations, dividends paid to a non-PRC investor are generally subject to a 10% PRC withholding tax, if such dividends are derived from sources within China and the non-PRC investor is considered to be a non-resident enterprise without any establishment or place within China or if the dividends paid have no connection with the non-PRC investor&#8217;s establishment or place within China, unless such tax is eliminated or reduced under an applicable tax treaty. Similarly, any gain realized on the transfer of shares by such investor is also subject to a 10% PRC withholding tax if such gain is regarded as income derived from sources within China, unless such tax is eliminated or reduced under an applicable tax&#160;treaty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The implementation regulations of the EIT Law provide that (a)&#160;if the enterprise that distributes dividends is domiciled in the PRC, or (b)&#160;if gains are realized from transferring equity interests of enterprises domiciled in the PRC, then such dividends or capital gains shall be treated as China-sourced income.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the Law of the People&#8217;s Republic of China on Individual Income Tax, or the IIT Law, individual income tax is payable on PRC-source dividend income. The implementation regulations of the IIT Law provide that income from dividends derived from companies, enterprises and other economic organizations in China as well as income realized from transfer of properties in China is considered derived from sources inside China, regardless of whether the place of payment was inside China. Therefore, if we are treated as a PRC tax resident enterprise for purposes of the IIT Law, any dividends we pay to our non-PRC individual shareholders as well as any gains realized by our non-PRC individual shareholders or our non-PRC individual note holders from the transfer of our common shares or our convertible notes may be regarded as PRC-sourced income and, consequently, be subject to PRC tax at a rate of up to 20% (which in the case of dividends will be withheld at source). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Such PRC taxes may be reduced by an applicable tax treaty, but it is unclear whether in practice our non-PRC noteholders and shareholders would be able to obtain the benefits of any tax treaties between their country of tax residence and the PRC in the event that we are treated as a PRC resident enterprise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The investment returns of our non-PRC investors may be materially and adversely affected if any dividends we pay, or any gains realized on a transfer of our common shares, are subject to PRC tax.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restrictions on currency exchange may limit our ability to receive and use our revenues effectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of our revenues and expenses are denominated in Renminbi. If our revenues denominated in Renminbi increase or our expenses denominated in Renminbi decrease in the future, we may need to convert a portion of our revenues into other currencies to meet our foreign currency obligations. Under China&#8217;s existing foreign exchange regulations, our PRC subsidiaries are able to pay dividends in foreign currencies without prior approval from the State Administration of Foreign Exchange, or SAFE, by complying with certain procedural requirements. However, we cannot assure you that the PRC government will not take further measures in the future to restrict access to foreign currencies for current account transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Foreign exchange transactions by our PRC subsidiaries under most capital accounts continue to be subject to significant foreign exchange controls and require the approval of or registration with PRC governmental authorities. In particular, if we finance our PRC subsidiaries by means of additional capital contributions, the approval of or the record-filing with, certain government authorities, including the Ministry of Commerce or its local counterparts, is required. If our PRC subsidiaries obtain foreign debt through medium and long-term loan or through issuance of bonds, foreign debt approval may also be required to be obtained from the National Development and Reform Commission of PRC, or the NDRC. These limitations could affect the ability of our PRC subsidiaries to obtain foreign exchange through equity financing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The rules and regulations in China can change quickly with little advance notice. Uncertainties with respect to the Chinese legal system, as well as changes in any government policies, laws and regulations, could adversely affect the overall economy in China or our industry, which could harm our business.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We conduct a significant portion of our manufacturing operations through our subsidiaries in China. These subsidiaries are generally subject to laws and regulations applicable to foreign investment in China and, in particular, laws applicable to wholly foreign-owned enterprises and joint venture companies. The rules and regulations in China can change quickly with little advance notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The PRC legal system is based on written statutes. Prior court decisions may be cited for reference but have limited precedential value. Since 1979, PRC legislation and regulations have significantly enhanced the protections afforded to various forms of foreign investments in China. However, since these laws and regulations are relatively new and the PRC legal system is still developing, the implementation 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&#160;management.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On March 15, 2019, the PRC National People&#8217;s Congress approved the 2019 PRC Foreign Investment Law, which came into effect on January 1, 2020 and replaced the trio of existing laws regulating foreign investment in China, namely, the Sino-foreign Equity Joint Venture Enterprise Law, the Sino-foreign Cooperative Joint Venture Enterprise Law, and the Wholly Foreign-invested Enterprise Law. On December 26, 2019, the PRC State Council approved the Implementation Rules of Foreign Investment Law, which came into effect on January 1, 2020 and replaced implementation rules and ancillary regulations of the Sino-foreign Equity Joint Venture Enterprise Law, the Sino-foreign Cooperative Joint Venture Enterprise Law, and the Wholly Foreign-invested Enterprise Law. The 2019 PRC Foreign Investment Law and its Implementation Rules embody an expected PRC regulatory trend to rationalize its foreign investment regulatory regime in line with prevailing international practice and the legislative efforts to unify the corporate legal requirements for both foreign and domestic investments. The 2019 PRC Foreign Investment Law specifies that foreign investments shall be conducted in line with the &#8220;negative list&#8221; and obtain relevant approval to be issued by or approved to be issued by the State Council from time to time. An FIE would not be allowed to make investments in prohibited industries in the &#8220;negative list,&#8221; while the FIE must satisfy certain conditions stipulated in the &#8220;negative list&#8221; for investment in restricted industries. It is uncertain whether the solar power industry, in which our subsidiaries operate, will be subject to the foreign investment restrictions or prohibitions set forth in the &#8220;negative list&#8221; to be issued in the future, although it is not subject to the foreign investment restrictions set forth in the currently effective 2021 Negative List. There are uncertainties as to how the 2019 PRC Foreign Investment Law and the Implementation Rules would be further interpreted and implemented. We cannot assure you that the interpretation and implementation of the 2019 PRC Foreign Investment Law made by the relevant governmental authorities in the future will not materially impact the viability of our current corporate structure, corporate governance and business operations in any aspect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">With the trend of strengthening anti-monopoly supervision around the world, the PRC government has promulgated new anti-monopoly and competition laws and regulations and strengthened the enforcement under these laws and regulations, paying more attention to corporate compliance. On February 7, 2021, the Anti-monopoly Commission of the State Council of the PRC promulgated the Guidelines for Anti-monopoly in the field of Platform Economy, which stipulates that any concentration of undertakings involving variable interest entities in Internet industry is subject to anti-monopoly review. On November 15, 2021, the State Administration for Market Regulation of the PRC promulgated the Guidelines for the Overseas Anti-monopoly Compliance of Enterprises. Although we believe that these regulations have little impact on us, there remain uncertainties as to how the laws, regulations and guidelines recently promulgated will be interpreted and implemented. We cannot guarantee that regulators will agree with us or that our business operations comply with such regulations and authorities&#8217; requirements in all respects. If any non-compliance is raised by relevant authorities and determined against us, we may be subject to fines and other penalties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the PRC government has recently published new policies that significantly affected certain industries such as the education and internet industries. It may in the future release regulations or policies regarding the solar power industry that could adversely affect the business, financial condition and results of operations of us and our industry. Furthermore, the PRC government has recently indicated an intent to exert more oversight and control over overseas securities offerings and other capital markets activities and foreign investment in China-based companies. Future government actions in this regard may hinder our ability to offer securities to investors, and/or may affect the value of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Any actions by the Chinese government to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers could significantly limit or completely hinder our ability to offer or continue to offer securities to investors and cause the value of our securities to significantly decline or be worthless.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 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;">It is uncertain when and whether we will be required to obtain permission from the PRC government to maintain our listing status on U.S. exchanges or to offer our securities to investors in the future, and even when such permission is obtained, whether it will be later denied or rescinded. </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 24, 2021, the CSRC issued&#8194;the Provisions of the State Council on the Administration of Overseas Securities Offering and Listing by Domestic Companies (Draft for Comments) and the Administrative Measures for the Filing of Overseas Securities Offering and Listing by Domestic Companies (Draft for Comments), which propose to require PRC companies and their overseas special purpose vehicles to file with the CSRC and meet compliance rules for their listing in overseas markets, and stipulate certain circumstances under which the overseas offering and listing would be prohibited, as well as the measures taken by the CSRC if a PRC domestic company falls into any of such circumstances prior to the overseas offering and listing, such as imposing a postponement or termination of the proposed overseas offering and listing, and canceling the corresponding filing on the conditions that the proposed overseas offering and listing application documents have been filed. </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 2, 2022, the CSRC published the Provisions on Strengthening the Management of Confidentiality and Archives Related to the Overseas Issuance of Securities and Overseas Listing by Domestic Companies (Draft for Comments), or the Draft Archives Rules, for public comments. According to the Draft Archives Rules, PRC domestic companies that seek to offer and list securities in overseas markets shall establish confidentiality and archives system. The PRC domestic companies shall obtain approval from the competent authority and file with the confidential administration department at the same level when providing or publicly disclosing documents and materials related to state secrets or secrets of the governmental authorities to the underwriters or other agencies or the offshore regulatory authorities, and shall complete corresponding procedures when providing or publicly disclosing documents and materials which may adversely influence national security and the public interest. The PRC domestic companies shall provide written statements on the implementation on the aforementioned rules to the underwriter and other agencies and the PRC domestic companies shall not provide accounting files to an overseas accounting firm unless such firm complied with the corresponding procedures. Nevertheless, the Draft Archives Rules do not provide a clear scope of state secrets or secrets of the governmental authorities and materials that, if divulged, will jeopardize national security or public interest, and the PRC government authorities may have wide discretion in the interpretation and enforcement of the applicable laws.</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 based on the drafts for comments, we believe that we are currently not required to obtain such permission from any Chinese authorities, and we have not received any notice of denial of permission to list on the U.S. exchange, we cannot assure you that the drafts for comments will not later be extended and formalized to govern our business activities, or relevant PRC government agencies, including the CSRC, would reach the same conclusion as we do based on the final drafts. If the CSRC or any other PRC regulatory body subsequently determines that we need to file with the CSRC or obtain the CSRC&#8217;s approval for any future offering of securities by us or if the CSRC or any other PRC government authorities promulgates any interpretation or implements rules that would require us to file with or obtain approvals of the CSRC or other governmental bodies for any such offering, we may face adverse actions or 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 the 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 file with them, or obtain their approvals or clearances for any such offering, we may be unable to obtain a waiver of such regulatory 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Failure to comply with governmental regulations and other legal obligations concerning data protection and cybersecurity may materially and adversely affect our business, as we routinely collect, store and use data during the conduct of our business.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We routinely collect, store and use data during our operations including but not limited to the demand and pricing of solar and battery storage products and electricity prices and forecasts, the location and capacity of our production plants, the operational and performance data of solar and battery projects that we provide services to or own, and the information related to our employees, customers and suppliers both in and out of China. We are subject to PRC laws and regulations governing the collecting, storing, sharing, using, processing, disclosure and protection of data on the Internet and mobile platforms as well as cybersecurity. These PRC laws apply not only to third-party transactions, but also to transfers of information between us and our subsidiaries in China, and other parties with which we have commercial relations. &#160;On December 28, 2021, the CAC announced the adoption of the Cybersecurity Review Measures, and effective February 15, 2022, online platforms and network providers possessing personal information of more than one million individual user must undergo a cybersecurity review by the CAC when they seek listing in foreign markets. The Measures provide that critical information infrastructure operators purchasing network products and services and data processors carrying out data processing activities, which affect or may affect national security, shall apply for cybersecurity review to the cyberspace administrations in accordance with the provisions thereunder. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On July 30, 2021, the PRC State Council promulgated the Regulations on Protection of Critical Information Infrastructure, which became effective on September 1, 2021. Pursuant to the Regulations on Protection of Critical Information Infrastructure, critical information infrastructure shall mean any important network facilities or information systems of an important industry or field, such as public communication and information service, energy, communications, water conservation, finance, public services, e-government affairs and national defense science, which may endanger national security, peoples&#8217; livelihoods and public interest in the event of damage, function loss or data leakage. In addition, relevant administration departments of each critical industry and sector shall be responsible to formulate eligibility criteria and determine the critical information infrastructure operator in the respective industry or sector. The operators shall be informed about the final determination as to whether they are categorized as critical information infrastructure operators. Among these industries, the energy and telecommunications industries ae mandated to take measures to provide key assurances for the safe operation of critical information infrastructure in other industries and fields.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, the Standing Committee of the National People&#8217;s Congress passed the Personal Information Protection Law of the PRC, which became effective from November 1, 2021 and requires personal information processing operators, among other regulatory requirements, to obtain a personal information protection certification issued by recognized institutions in accordance with the CAC regulation before such personal information can be transferred out of China.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 1, 2022, Measures for the Security Assessment of Outbound Data Transfers and its guideline Guide to Applications for Security Assessment of Outbound Data Transfers (First Edition) promulgated by the CAC took effect. According to the aforementioned rule, a data processor is required to apply to the national cyberspace administration for security assessment of outbound data transfer through local provincial cyberspace administration, if the data processor provides important data abroad. The rule is newly adopted, and it is not certain how the CAC will interpret and enforce it. If we are required to go through a security assessment of outbound data transfer, we will receive a notice on assessment result after completion of the assessment, and we may be notified to terminate the outbound data transfer or make rectification as required. In addition, we have to regulate our outbound data transfer activities in accordance with the applicable laws and regulations on the security management of outbound data transfer and the relevant requirements specified in the notice on assessment result.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of the date of this annual report, we have not been informed that we are identified as a critical information infrastructure operator by any governmental authorities. We will closely monitor the relevant regulatory environment and will assess and determine whether we are required to apply for the cybersecurity review with the advice of our PRC counsel that we are fully compliant with the regulations or policies that have been issued by the CAC to date.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Our Common Shares</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may issue additional common shares, other equity or equity-linked debt securities, which may materially and adversely affect the price of our common&#160;shares.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We may issue additional equity, equity-linked debt securities for a number of reasons, including to finance our operations and business strategy (including in connection with acquisitions, strategic collaborations or other transactions), to satisfy our obligations for the repayment of existing indebtedness, to adjust our ratio of debt to equity, to satisfy our obligations upon the exercise of outstanding warrants or options or for other reasons. For example, in 2020, we issued $230.0 million of convertible notes. 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&#160;future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The market price for our common shares may be volatile.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The market price for our common shares has been highly volatile and subject to wide fluctuations. During the period from November 9, 2006, the first day on which our common shares were listed on Nasdaq, until December 31, 2020, the market price of our common shares ranged from $1.95 to $56.42 per share. From January 1, 2021 to December 31, 2021, the market price of our common shares ranged from $28.80 to $67.39 per share. The closing market price of our common shares on December 31, 2021 was $31.29 per share. The market price of our common shares may continue to be volatile and subject to wide fluctuations in response to a wide variety of factors, including the following:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">announcements of technological or competitive developments;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">regulatory developments in our target markets affecting us, our customers or our competitors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">actual, projected or anticipated fluctuations in our quarterly operating results;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in financial estimates by securities research analysts;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in the economic performance or market valuations of other solar power companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in the volume or quality of our solar and battery storage project pipeline, and retained assets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the departure of executive officers and key research personnel;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">patent litigation and other intellectual property disputes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">litigation and other disputes with our long-term suppliers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuations in the exchange rates between the U.S. dollars, Renminbi, Canadian dollars, Japanese yen, Euros, Brazilian reals, South African rand and Thai baht;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the release or expiration of lock-up or other transfer restrictions on our outstanding common shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">sales or anticipated sales of additional common shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">share repurchase program; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the success, or the lack thereof, in the completion of the STAR Listing.</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the securities market has from time to time experienced significant price and volume fluctuations that are not related to the operating performance of particular companies. These market fluctuations may also have a material and adverse effect on the price of our common shares. Particularly, concerns over economic slowdown resulting from the COVID-19 pandemics have triggered a U.S. key market-wide circuit breaker for several times since March 9, 2020, leading to a historic drop for the U.S. capital market. No guarantee can be given on how the capital markets will react even though actions have been taken worldwide to combat the spread of the COVID-19. These market fluctuations may also have a material adverse effect on the market 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Substantial future sales of our common shares in the public market, or the perception that such sales could occur, could cause the price of our common shares to&#160;decline.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Sales of our common shares in the public market, or the perception that such sales could occur, could cause the market price of our common shares to decline. As of December 31, 2021, we had 64,022,678 common shares outstanding. The number of common shares outstanding and available for sale will increase when our employees and former employees who are holders of options to acquire our common shares become entitled to the underlying shares under the terms of their options. In the past, in connection with debt financing, we have issued warrants and convertible notes, and may issue additional warrants to purchase our common shares and convertible notes that can be converted to our common shares. In 2020, we issued $230.0 million of convertible notes. From May to November 2021, we conducted an &#8220;at-the-market&#8221; offering program of common shares on the Nasdaq, through which we sold 3,639,918 of our common shares and raised $150.0 million in gross proceeds before deducting commissions and offering expenses. To the extent these warrants and conversion features are exercised and/or the common shares are sold into the market, the market price of our common shares could decline.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Your right to participate in any future rights offerings may be limited, which may cause dilution to your&#160;holdings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We may from time to time distribute rights to our shareholders, including rights to acquire our securities. However, we cannot make these rights available in the U.S.&#160;unless we register the rights and the securities to which the rights relate under the Securities Act of 1933, or the Securities Act, or an exemption from the registration requirements is available. We are under no obligation to file&#160;a registration statement with respect to any such rights or securities or to endeavor to cause a registration statement to be declared effective. Moreover, we may not be able to establish an exemption from registration under the Securities Act. Accordingly, you may be unable to participate in our rights offerings and may experience dilution in your&#160;holdings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our articles contain certain provisions that could adversely affect the rights of holders of our common shares.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following provisions in our articles may deprive our shareholders of the opportunity to sell their shares at a premium over the prevailing market price by delaying or preventing a change of control of our company:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Our board of directors has the authority, without approval from the shareholders, to issue an unlimited number of preferred shares in one or more series. Subject to the BCBCA, our board of directors may, if none of the shares of that particular series are issued, establish the number of shares to be included in each such series and may fix the designations, preferences, powers and other rights of the shares of a series of 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:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 accordance with the provisions of the BCBCA, our articles provide that the number of directors on our board of directors is set at the greater of three directors and such number of directors equal to the number of directors most recently elected by ordinary resolution at a meeting of shareholders. However, our articles also provide that between annual meetings of shareholders, our board of directors may appoint one or more additional directors, subject to the limitation that the total number of directors so appointed may not exceed one-third of the number of the current directors who were elected other than under this provision of our articles. Any director so appointed ceases to hold office immediately before the election of directors at the next annual meeting of shareholders but is eligible for re-election.</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">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;">We are a corporation organized under the laws of British Columbia, Canada and a substantial portion of our assets are located outside of the U.S.&#160;A substantial portion of our current business operations is conducted in the PRC. In addition, a majority of our directors and officers are nationals and residents of countries other than the U.S. and a substantial portion of the assets of these persons are located outside the U.S.&#160;As a result, it may be difficult for you to effect service of process within the U.S.&#160;upon these persons. It may also be difficult for you to enforce judgments obtained in U.S.&#160;courts based on the civil liability provisions of the U.S.&#160;federal securities laws against us and our officers and directors. In addition, there is uncertainty as to whether the courts of Canada or the PRC would recognize or enforce judgments of U.S.&#160;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&#160;state.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If a United States person is treated as owning at least 10% of our shares, such person may be subject to adverse United States federal income tax consequences.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If a United States person is treated as owning (directly, indirectly or constructively) at least 10% of the value or voting power of our shares, such person may be treated as a &#8220;United States shareholder&#8221; with respect to each &#8220;controlled foreign corporation,&#8221; or CFC, in our group. Where our group includes one or more United States subsidiaries that are corporations for United States federal income tax purposes, in certain circumstances we could be treated as a CFC and certain of our non-United States subsidiaries could be treated as CFCs (regardless of whether or not we are treated as a CFC). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A United States shareholder of a CFC may be required to annually report and include in its United States taxable income its pro rata share of &#8220;Subpart F income,&#8221; &#8220;global intangible low-taxed income&#8221; and investments in United States property by CFCs, whether or not we make any distributions. An individual who is a United States shareholder with respect to a CFC generally would not be allowed certain tax deductions or foreign tax credits that would be allowed to a corporation that is a United States shareholder. A failure to comply with these reporting obligations may subject a United States shareholder to significant monetary penalties and may prevent starting of the statute of limitations with respect to such shareholder&#8217;s United States federal income tax return for the year for which reporting was due. We do not intend to monitor whether we are or any of our non-United States subsidiaries is treated as a CFC or whether any investor is treated as a United States shareholder with respect to us or any of our CFC subsidiaries, or to furnish to any United States shareholders information that may be necessary to comply with the aforementioned reporting and tax paying obligations. A United States investor should consult its tax advisor regarding the potential application of these rules in its particular circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be classified as a passive foreign investment company, which could result in adverse United&#160;States federal income tax consequences to United&#160;States Holders of our common&#160;shares.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We will be a passive foreign investment company, or PFIC, for United States federal income tax purposes for any taxable year if, applying applicable look-through rules, either (a) at least 75% of our gross income for such year is passive income or (b) at least 50% of the value of our assets (generally determined based on an average of the quarterly values of the assets) during such year is attributable to assets that produce or are held for the production of passive income. &#160;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, 2021. PFIC status is based on an annual determination that cannot be made until the close of a taxable year, involves extensive factual investigation, including ascertaining the fair market value of all of our assets on a quarterly basis and the character of each item of income that we earn, and is subject to uncertainty in several respects. Moreover, we cannot guarantee that the United States Internal Revenue Service, or IRS, will agree with any positions that we take. Accordingly, we cannot assure you that we will not be treated as a PFIC for any taxable year or that the IRS will not take a position contrary to any position that we take.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Changes in the nature or composition of our income or assets may cause us to be more likely to be a PFIC. The determination of whether we are a PFIC for any taxable year may also depend in part upon the value of our goodwill and other unbooked intangibles not reflected on our balance sheet (which may depend upon the market value of our common shares from time to time, which may be volatile) and also may be affected by how, and how quickly, we spend our liquid assets and cash generated from our operations. Among other matters, if our market capitalization declines, we may be more likely to be a PFIC because our liquid assets and cash (which are for this purpose considered assets that produce passive income) may then represent a greater percentage of the value of our overall assets. Further, while we believe our classification methodology and valuation approach are reasonable, it is possible that the IRS may challenge our classification or valuation of our goodwill and other unbooked intangibles, which may result in our being or becoming a PFIC for the current taxable year or one or more future taxable years.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">If we are a PFIC for any taxable year during which a United States Holder (as defined in &#8220;Item 10. Additional Information-E. Taxation-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-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="_28b1e5b0_ac5c_4aef_ac63_197fa4d0618f"></a><a id="ITEM4INFORMATIONONTHECOMPANY_79732"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;4&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">INFORMATION ON THE COMPANY</span><span style="font-style:italic;font-weight:bold;"> </span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">A</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">History and Development of the Company</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our legal and commercial name is Canadian Solar Inc. We were incorporated under the laws of the Province of Ontario, Canada in October 2001. We changed our jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, effective June 1, 2006. In July 2020, we filed articles of continuance to change our jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. As a result, we are governed by the British Columbia Business Corporation Act, or the BCBCA, and our affairs are governed by our notice of articles and our articles. See &#8220;&#8212;C. Organizational Structure&#8221; for additional information on our corporate structure, including a list of our significant subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our principal executive office and principal place of business is located at 545&#160;Speedvale Avenue West, Guelph, Ontario, Canada N1K&#160;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&#160;States is CT&#160;Corporation System, located at 111&#160;Eighth Avenue, New&#160;York, New&#160;York&#160;10011.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">All inquiries to us should be directed at 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&#160;report.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">B</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Business Overview</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Overview</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are one of the world&#8217;s largest solar power and battery storage companies and a leading vertically-integrated provider of solar power and battery storage products, services and system solutions with operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia. Our business operations are divided into two business segments, namely CSI Solar and Global Energy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under CSI Solar, we design, develop and manufacture solar ingots, wafers, cells, modules and other solar power and battery storage products. Our solar power products include standard solar modules and specialty solar products. We conduct most of our manufacturing operations in China and Southeast Asia. Our products include a range of solar modules built to general specifications for use in a wide range of residential, commercial and industrial solar power generation systems. Specialty solar products consist of customized solar modules that our customers incorporate into their own products and complete specialty products, such as portable solar home systems. We sell our products primarily under our &#8220;Canadian Solar&#8221; brand&#160;name. We also deliver bankable, end-to-end, turnkey battery storage system solutions across various applications. These storage system solutions are complemented with long-term service agreements which include future battery capacity augmentation services. In 2021, we started designing and developing proprietary DC battery storage systems, including battery modules and packs. We expect to launch and manufacture these products from 2022 onwards. </p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our Global Energy segment primarily comprises solar and battery storage project development and sale, O&amp;M and asset management services for operational projects, sale of electricity, and investment in retained assets. Our monetization strategies vary between develop-to-sell, build-to-sell, and partial build-to-own, depending on business strategies and market conditions, with the goal of maximizing profits, accelerating cash return, minimizing capital risk,<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>and building recurring income. While we plan to continue to monetize our current portfolio, we also intend to grow our energy business by building up our project pipeline. In 2015, we acquired Recurrent Energy, LLC, or Recurrent, a leading solar energy developer, and thereby significantly increased our presence in the United States. As of January 31, 2022, our project backlog, which refers to late-stage projects that have passed their Cliff Risk Date and are expected to be built in the next one to four years, totaled approximately 4.2 gigawatt peak, or GWp, with 509 megawatt peak, or MWp, in North America, 2,435 MWp in Latin America, 363 MWp in Asia Pacific excluding China, 294 MWp in Europe, the Middle East and Africa (&#8220;EMEA&#8221;) and 550 MWp in China. A project&#8217;s Cliff Risk 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, FIT arrangements and PPAs. Over 90% of projects in backlog are contracted (i.e., have secured a PPA or FIT), and the remaining are reasonably assured of securing PPAs. As of January 31, 2022, our project pipeline totaled 18.6 GW. In addition to our project backlog and project pipeline, as of January 31, 2022, we had 1,622 MWp of solar projects in construction; and a portfolio of solar projects in operation totaling 445 MWp with an estimated resale value of approximately $260.0 million. As of January 31, 2022, our battery storage project pipeline totaled 23.6 GWh, 841 MWh of backlog and 2,681 MWh in construction. As of January 31, 2022, our battery storage solutions pipeline totaled 3.6 GWh, 390 MWh in high probability forecast, and 2,043 MWh contracted or in construction, and 300 MWh under long term service agreement (&#8220;LTSA&#8221;). LTSA projects are operational battery storage projects delivered by CSI Solar that are under multi-year long-term service agreements and generate recurring earnings. Contracted/in construction projects are expected to be delivered within the next 12 to 18 months. Forecast projects include those that have more than 75% probability of being contracted within the next 12 months, and the remaining pipeline includes projects that have been identified but have a below 75% probability of being contracted. See &#8220;&#8212;Sales, Marketing and Customers&#8212;Global Energy Segment&#8212;Solar Project Development&#8221; and &#8220;&#8212;Sales, Marketing and Customers&#8212;Global Energy Segment&#8212;Operating Solar Power Plants and Sale of Electricity&#8221; for a description of the status of our solar and battery storage projects in operation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe that we offer one of the broadest crystalline silicon solar power product lines in the industry. Our product lines range from modules of medium power output to high efficiency, high-power output multi-crystalline and mono-crystalline modules, as well as a range of specialty products. We currently sell our solar power and battery storage products to a diverse customer base in various markets worldwide, including the U.S., Canada, Germany, Spain, the Netherlands, South Africa, China, Japan, India, Thailand, Australia, Brazil and Mexico. Our customers are primarily distributors, system integrators, project developers and installers/EPC companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We employ a flexible vertically integrated business model that combines internal manufacturing capacity with direct material purchases of both cells and wafers. We believe this approach has benefited us by allowing us to grow in a capital-light manner, while giving us significant flexibility to respond to short-term demand changes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December&#160;31, 2021, we had:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">23.9 GW of total annual solar module manufacturing capacity, approximately 19.7 GW of which is located in China, 4.2 GW in Southeast Asia and the rest in other regions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">13.9 GW of total annual solar cell manufacturing capacity, approximately 4.2 GW of which is located in Southeast Asia and the rest in China;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">11.5 GW of total annual wafer manufacturing capacity located in China; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5.4 GW of total annual ingot manufacturing capacity located in China.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We intend to use substantially all of the silicon wafers that we manufacture to supply our own solar cell plants and to use 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 projects. Our solar module manufacturing costs in China, including purchased polysilicon, wafers and cells, increased from 18.8 cents per watt in December 2019 to 21.9 cents per watt in December 2020, and increased to 25.2 cents per watt in December 2021. Despite the recent increase mainly driven by higher material costs, we expect to continue to decrease the manufacturing costs for our production of wafers, cells and modules in the long run.</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 focus on reducing our manufacturing costs by improving solar cell conversion efficiency, enhancing manufacturing yields and reducing raw material costs.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">48</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our Products and Services</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 consists of the following two business segments: CSI Solar segment and Global Energy segment. Our CSI Solar Segment involves the design, development, manufacturing and sale of a wide range of solar power and battery storage products, including solar modules, solar system kits, battery storage solutions, and other materials, components and services (including EPC). Our Global Energy Segment primarily consists of global solar and battery storage projects, O&amp;M and asset management services, global electricity revenue, as well as other development services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Products Offered in Our CSI Solar Segment </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Standard Solar Modules</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our standard solar modules are arrays of interconnected solar cells in weatherproof encapsulation. We produce a wide variety of standard solar modules, ranging from 3W to over 665W in power and using mono-crystalline or multi-crystalline cells in several different design patterns, including shingled cells. 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), CS7L (120 half-cells, 210 mm wafer), CS6W (144 half-cells, 182 mm wafer), CS6R (108 half-cells, 182 mm wafer), CS3Y (156 half-cells, 166 mm wafer), CS3W (144 half-cells, 166 mm wafer), CS3N (132 half-cells, 166 mm wafer), CS3L (120 half-cells, 166 mm wafer), BiHiKu7 (bifacial module, 210 mm wafer), BiHiKu6 (bifacial module, 182 mm wafer), BiHiKu5 (bifacial module, 166 mm wafer), BiHiKu (bifacial module, 166 mm wafer), and HiDM CS1Y all-black modules. The mainstream modules are designed for residential, commercial and utility applications. The small modules are for specialty applications.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We launched our Quartech modules in March&#160;2013. Quartech modules use 4-busbar solar cell technology which improves module reliability and efficiency. CS6P (6&#160;&#215;&#160;10 cell layout) Quartech modules have power output between 255&#160;W and 270&#160;W, which enables us to offer customers modules with high power. We launched and started shipping Dymond modules in October&#160;2014. Dymond modules are designed with double-glass encapsulation, which is more reliable for harsh environments and ready for 1500V solar&#160;systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We launched and started shipping SmartDC modules in September&#160;2015. SmartDC modules feature an innovative integration of our module technology and power optimization for grid-tied PV applications. By replacing the traditional junction-box, SmartDC modules eliminate module power mismatch, mitigate shading losses and optimize power output at module-level. SmartDC modules also provide module-level data to minimize operational costs and to permit effective system management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March&#160;2016, we launched our new Quintech SuperPower mono-crystalline modules. Quintech SuperPower mono-crystalline modules are made of cells with PERC technology and significantly improve module efficiency and reliability. CS6K (6&#160;&#215;&#160;10 cell layout aligned with mainstream dimensions) Quintech SuperPower mono modules have a power output between 285&#160;W and 300&#160;W with high efficiency and high reliability. We started commercial production of Quintech CS6K and CS6U modules in 2016. These modules have features such as 5&#160;busbar cells, standardized module dimensions and cell and module improvements, resulting in higher wattage production and better performance. These modules are intended for broad base introduction, which covers mono-crystalline cells, multi-crystalline cells and mono-crystalline PERC&#160;cells.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">At the beginning of 2015, we started commercial production of Onyx cells with our in-house developed black silicon technology, Onyx technology. Onyx technology employs a nano-texturing process to make the multi-crystalline cell almost fully black, increasing cell efficiency and module wattage at the same time. We started increasing the production volume of Onyx cells in 2016, which have been incorporated into our Quartech and Quintech module families.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In July&#160;2016, we launched the 1500V System Voltage crystalline solar module portfolio. The 1500V System Voltage crystalline module provides a robust and cost-efficient system solution by adding more modules in a string, which decreases the number of combiner boxes, direct current homeruns and trenching. This unique product design improves the overall system performance and efficiency and reduces labor cost and installation&#160;time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, we launched the Ku module series which results in an improvement in failure redundancy with innovative cell matrix interconnection technology. The module power output is enhanced by up to 10&#160;Watt per module while reducing the module working temperature. We developed P4&#160;cell technology, which is multi-crystalline PERC technology. The combination of P4&#160;cell and Ku&#160;module technologies enable us to offer customer higher wattage and more reliable multi crystalline module products. We also launched and shipped High Density Module (&#8220;HDM&#8221;) product to some markets this year. The HDM offers high wattage, high module efficiency and pleasant aesthetics for residential applications.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018, we launched the BiKu modules which are bifacial designed and can generate additional electricity from the backside of the module. These modules have more shading tolerance and a much lower hot spot risk thanks to the innovative design on the bifacial cell and double glass module. At the end of 2018, we began the mass production of the HiKu module, the first commercially available multi-crystalline module exceeding 400&#160;watts with significant leveraged cost of energy, or LCOE, advantages. In 2018, we launched the HiDM module, which is an upgrade of the HDM module and uses shingled cells to increase both module wattage and efficiency. We also launched P5&#160;technology, which is based on casted mono technology developed in house, and will boost cell and module efficiencies close to mono while retaining all the advantages of multi technology, such as LID, LeTID and lower&#160;cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, we continued to expand our high-power module product portfolio based on 166 mm wafers. In July 2019, we started to mass-produce BiHiku modules. BiHiKu is a bifacial module utilizing our 166 mm P4 (multi PERC) cells which have a front side power output exceeding 400 watts. &#160;In addition to modules utilizing our 166 mm P4 (multi PERC) cells, we launched HiKu and BiHiKu modules using 166 mm P5 (casted mono) and mono PERC cells. Our CS3L (120 half-cells, 166 mm wafer) mono PERC modules can achieve power output exceeding 360 watts, which is suited for residential applications, and our CS3W (144 half-cells, 166 mm wafer) mono modules can reach wattage up to 445 watts. By the end of August 2019, we converted 100% of our cell production capacity into PERC and by the end of the year, over one-third of our module capacity was for HiKu and BiHiKu. Our 166 mm wafer module products are becoming our new &#8220;standard&#8221; products. For the residential market, we ramped up the all-black version of our HiDM module with appealing aesthetics and high module efficiency. &#160;Our full-cell modules such as CS6K and CS6U are gradually being phased out and replaced by Ku, BiKu and HiDM modules. In 2019, we also officially phased out all the double glass mono-facial modules due to the introduction of the more competitive bifacial modules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, we continued to launch high power modules using bigger wafers. In July 2020, we introduced CS3Y (156 half-cells, 166 mm wafer) module to the market. The power wattage of the HiKu series modules is further enhanced to 490W to accommodate the needs of our customers. Several new technologies were first used in this new module and were further used in the HiKu6 and HiKu7 modules launched later. Smaller gap between cells brings the blank area down by 70% on the module surface, and helps to increase the module efficiency by 0.3%. Hetero ribbon (&#8220;HTR&#8221;) and flexible welding process further facilitates the smart interconnection without causing additional microcracks, especially on bigger modules. In November 2020, we began mass production of CS6W (144 half-cells, 182 mm wafer) module. The module power of CS6W is up to 550W. HiKu7, the power module with the highest power output, was then brought to market in December 2020, including HiKu7L (120 half-cells, 210 mm wafer), and HiKu7N (132 half-cells, 210 mm wafer). The module power of HiKu7L reaches 595W while HiKu7N reaches 665W, the highest power output in the market. 210 mm wafer based modules HiKu7 will be our standard offering in the coming years. For the residential market, we brought HiDM-all black modules and HiKu3L-all black module with appealing aesthetics to our customers. We also introduced HiKu-Lite module with less weight for loading-limited installation locations. We are among the first few companies to supply light weight modules in Japan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, our HiKu6 (182 mm wafers) and HiKu7 (210 mm wafers) series modules, introduced in late 2020, were accepted and welcomed by market quickly, and we expanded their manufacturing capacity accordingly. 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 developed in-house, our module family see a new member, 6R-H-AG (108 half-cells, 182 mm wafer), which is designed for residential market with module power high up to 440W. To satisfy residential clients who frequently see strong wind loads, we have developed and offered one mechanically enhanced version of CS3N (132 half-cells, 166 mm wafer) in 2021. Also, as modules with larger wafers (both 182 mm and 210 mm) were gaining market share quickly, we started to develop CS6R (108 half-cells, PERC technology, 182 mm wafers) for global residential market in 2021. CS6R modules have power up to 420W and will be available for our residential clients beginning 2022. Furthermore, we embarked on the development of N-type wafer-based modules with TOPCon technology. Our in-house TOPCon manufacturing capability will be integrated from N-type ingot growth, wafering, cells to modules. Our TOPCon modules are expected to be commercially available in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our standard solar modules are designed to endure harsh weather conditions and to be transported and installed easily. We sell most of our standard solar modules under our brand&#160;name.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery Storage Solutions</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our battery storage offering includes proprietary products, technology and integrated solutions focused on delivering high performance, safe and reliable battery storage solutions to enable utilities, independent power producers, and energy investors and users achieve energy savings, while maintaining power reliability and resilience. Our battery storage solutions are utilized across the various market sectors, including high voltage grid scale, commercial and industrial business, and residential homes. Battery storage helps to provide the balance of energy delivery with energy consumed, including absorption of excess energy in the systems and release for when it is needed. </p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">Battery storage demand is growing for various utility grid opportunities and applications including energy arbitrage, reserve capacity,<span style="font-size:11pt;"> </span>flexible peaking and resource adequacy, as well as grid frequency regulation and voltage control. We have successfully introduced our high-energy and high-power storage power block with integrated lithium-ion phosphate batteries designed to meet market demand for 1 to 4 hours of battery storage duration. Our turn-key offering includes the integrated battery, power conversion systems and the energy management system. We also offer comprehensive services and capabilities with these project installations, including consulting and project engineering, procurement, and construction (&#8220;EPC&#8221;) management. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 6pt 0pt;">Furthermore, we support our installed projects using our capabilities to offer contracted long term services contract commitments that include operation and maintenance, capacity augmentation, guarantee, 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:21.3pt;margin:0pt 0pt 6pt 0pt;">In the commercial, industrial, and residential sector we offer &#8220;ready-to-install&#8221; system kits, which includes PV panel, hybrid inverter, PCS, battery pack, system monitoring platform and other system accessories, to give our customers one-stop procurement and service experience.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.6pt;margin:0pt 0pt 12pt 0pt;">To leverage our significant growth and advancement into the global battery storage market, we are investing significantly into our developing our own battery storage proprietary products, technologies, and manufacturing. We have committed to deployment of our own lithium iron phosphate battery solutions for utility grid scale and residential markets. This is supported by our continuing investment into software technology like battery management systems, battery modules development, grid scale battery storage blocks and residential storage battery solutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">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 2021, we sold them primarily to customers in Brazil, Japan and China. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">EPC Services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our EPC services is a complete turn-key solutions for utility scale PV projects, including system design, procurement, installation, system testing and commissioning. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We provide EPC services in China<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>to ground-mounted projects, as well as to large-scale distributed system projects of industrial and commercial customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Products and Services Offered in Our Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar and Battery Storage Project Development and Sale</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We develop, build and sell solar and battery storage projects. Our solar project development activities have grown over the past several years through a combination of organic growth and acquisitions. Our global solar and battery storage project business develops projects primarily in Canada, the U.S., Japan, China, the EU, the U.K., Brazil, Mexico, Chile, Colombia, Australia and Korea. We have a team of experts who specialize in project development, evaluations, system designs, engineering, managing, project coordination and organizing financing. Our battery storage project development is fully integrated within the main solar development teams. Given the segment&#8217;s large and growing pipeline, we are uniquely positioned to capture utility-scale battery storage projects, both co-located with solar PV as well as stand-alone 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;">Our project sales team actively identifies and pursues suitable buyers for our solar and battery storage projects. See &#8220;&#8212;Sales, Marketing and Customers- Global Energy Segment&#8212;Solar Project Development&#8221; &#160;for a description of the status of our solar and battery storage projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operating Solar Power Plants and Sale of Electricity</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We operate certain of our solar plants and generate income from the sale of electricity. Although most of our solar power projects are developed for sale, we may operate them for a period of time before they are sold. We have been optimizing our operating model to increasingly retaining minority ownership interest in our own projects. As of January 31, 2022, we had a fleet of solar power plants in operation with an aggregate gross capacity of approximately 445 MWp. Certain of these plants were co-owned with third parties. </p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">O&amp;M Services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, we provided O&amp;M services primarily in North America, Japan and Australia. O&amp;M services include monitoring, inspections, repair and replacement of plant equipment and site management and administrative support services for solar projects in operation. We have deployed a number of unique technologies including semi-automated module washing, autonomous vegetation management, machine learning technologies in predictive maintenance and drone inspection. We continue to invest in developing these technologies and other areas of our service offering.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Asset Management Services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, 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;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Fund Formation</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 recently began establishing investment funds for the purpose of pooling capital to develop, build and accumulate solar projects. For example, we established JGIF in 2020 by partnering with a business unit of Macquarie Group, who holds a minority interest in JGIF. JGIF has secured JPY22 billion ($213.2 million) of committed capital that will be used to develop, build and accumulate new solar projects in Japan. A new CSFS Fund I, a closed-ended alternative investment fund of a similar nature to CSIF, has been established in Italy and we intend to contribute new projects in 2022 and market to third party investors. Once the projects are acquired, we expect to contract with the fund to provide asset management services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Supply Chain Management</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our CSI Solar segment depends on our ability to obtain a stable and cost-effective supply of polysilicon, solar ingots, wafers and cells. Our silicon wafer agreements set forth price and quantity information, delivery terms and technical specifications. While these agreements usually set forth specific price terms, most of them also include mechanisms to adjust the prices, either upwards or downwards, based on market conditions. Over the years, we have entered into a number of long-term supply agreements with various silicon and wafer suppliers in order to secure a stable supply of raw materials to meet our production requirements. Under our supply agreements with certain suppliers, and consistent with historical industry practice, we make advance payments prior to scheduled delivery dates. These advance payments are made without collateral and are credited against the purchase prices payable by us. In 2021, we purchased a significant portion of the silicon raw materials used in our solar modules from third parties. Our largest silicon raw material supplier was Hongyuan, with whom we have monocrystalline square silicon ingots purchase agreement through 2022. Our largest silicon wafer supplier was Longi. We plan to continue to diversify our external wafer and polysilicon suppliers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We purchase solar cells from a number of international and local suppliers primarily in China, in addition to manufacturing our own solar cells and having toll manufacturing arrangements with our solar cell suppliers. Our solar cell agreements set forth price and quantity information, delivery terms and technical specifications. These agreements generally provide for a period of time during which we can inspect the product and request the seller to make replacements for damaged goods. We generally require the seller to bear the costs and risks of transporting solar cells until they have been delivered to the location specified in the agreement. In 2021, our largest supplier of solar cells was Tongwei Solar. As we expand our business, we expect to increase our solar cell manufacturing capacity and diversify our solar cell supply channel to ensure we have the flexibility to adapt to future changes in the supply of, and demand for, solar cells.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For risks relating to the long-term agreements with our raw material suppliers, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Long-term supply agreements may make it difficult for us to adjust our raw material costs should prices decrease. Also, if we terminate any of these agreements, we may not be able to recover all or any part of the advance payments we have made to these suppliers and we may be subject to litigation.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our CSI Solar segment supplies part of the solar modules used in our Global Energy segment. We leverage on our scale of operations and have increasingly consolidated our procurement operations. With centralized procurement, we believe we are able to secure more competitive arrangements with our major suppliers, thereby enhancing our ability to complete 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Manufacturing, Construction and Operation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We assemble our solar modules by interconnecting multiple solar cells by tabbing and stringing them into a desired electrical configuration. We lay the interconnected cells, laminate them in a vacuum, cure them by heating and package them in a protective lightweight anodized aluminum frame. We seal and weatherproof our solar modules to withstand high levels of ultraviolet radiation, moisture and extreme temperatures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We selectively 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&#160;efficiency.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We develop, construct, maintain, sell and/or operate solar and battery storage projects primarily in Canada, the U.S., Japan, China, the EU, the U.K., Brazil, Mexico, Argentina, Chile, Colombia, Australia and Korea. We engage in all aspects of the development and operation of solar and battery storage projects, including project selection, design, permitting, engineering, procurement, construction, installation, monitoring, operation and maintenance. For the solar and battery storage projects that we develop, we have the option of either using our own engineering and operation teams or hiring third-party contractors to build and operate the projects prior to sale.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our solar and battery storage projects development process primarily consists of the following stages:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Market due diligence and project selection</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span><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;">We search for project opportunities globally with the goal of maintaining a robust and geographically diversified project portfolio. Our business team closely monitors the global solar and battery storage projects market and gathers market intelligence to identify project development opportunities. Our development team prepares market analysis reports, financial models and feasibility studies to guide us in evaluating and selecting solar and battery storage projects. As we consider undertaking new solar and battery storage projects, we weigh a number of factors including location, local policies and regulatory environment, financing costs and potential internal rate of&#160;returns.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New 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;">.</span><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;">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&#160;assets.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><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;">.</span><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;">We either obtain the permits and approvals necessary for solar projects ourselves or we acquire projects that have already received the necessary permits and approvals. The permitting and approval process for solar and battery storage projects varies from country to country and often from region to region within a&#160;country.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><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;">.</span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;"> </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Our engineering team generally designs solar and battery storage projects to optimize performance while minimizing construction and operational costs and risks. The engineering design process includes the site layout and electrical design as well choosing the appropriate technology, in particular module and inverter types. We use solar modules produced by us and by third-party manufacturers, and procure inverters and other equipment from third-party suppliers.</span></td></tr></table><div style="margin-top: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;">Currently, we operate and maintain solar power plants primarily in Japan and Latin America. We enter into grid-connection agreements and/or PPAs with the local grid companies. After a project is connected to the grid, we regularly inspect, monitor and manage the project site with the intention to maximize the utilization rate, rate of power generation and system life of the project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We operate a monitoring center in Guelph, Ontario, Canada, which adopts the global monitoring platform (&#8220;CSEye&#8221;) to monitor the operational performance data in real time, to automatically receive alerts about exceptions, and to automate the reporting of performance, technician work orders, warranty claims, spare parts, health &amp; 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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Quality Control and Certifications</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have registered our quality control system according to the requirements of ISO 9001:2008 standards. T&#220;V Rheinland Group, a leading international service company that documents the safety and quality of products, systems and services, audits our quality systems. We inspect and test incoming raw materials to ensure their quality. We monitor our manufacturing processes to ensure quality control and we inspect finished products by conducting reliability and other tests.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also maintain various international and domestic certifications for our solar modules. For example, we have obtained IEC61215/61730 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 Japan, Korea, India, Brazil, Australia, Colombia, Israel, Italy, Great Britain and under several solar programs in China. The IEC certification is issued by Verband Deutscher Elektrotechniker, or VDE, and the UL certification by Canadian Standards Association, or CSA. All of our modules launched in the past years satisfy the latest standards, including IEC 61215, IEC61730 and UL61730, and have achieved high California Energy Commission, or CEC, PVUSA test condition ratings. All have passed additional extended stress program qualifications such as salt mist testing, ammonia testing, PID testing, as well as extra-standard or &#8220;3-times&#8221; testing programs from PVEL or VDE. Earlier in 2020, we also achieved successfully all required steps for a new competitive carbon footprint certification for the French market special tender 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;">Our PV test laboratory is accredited by CNAS according to ISO 17025 quality management standard, and has been approved into various Data Acceptance Program, namely by CSA, VDE, and the China General Certification, or CGC, in China. The PV test laboratory allows us to conduct some product certification testing in-house, which decreases time-to-market and certification costs, as well as exhaustive product and component reliability research to drive improvements in product durability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Sales, Marketing and Customers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth, for the periods indicated, certain information relating to our total net revenues derived from our customers categorized by their geographic locations for the periods indicated:</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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:37.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;thousands&#160;of&#160;$,&#160;except&#160;for&#160;percentages)</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Asia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,018,083</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;"> 31.8</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;"> 1,620,840</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,139,070</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40.5</span></p></td></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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Americas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,402,041</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.8</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;"> 1,221,105</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,279,594</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43.2</span></p></td></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;padding-left:7.2pt;text-indent:-7.2pt;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;"> 780,459</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.4</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;"> 634,550</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 858,505</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16.3</span></p></td></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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 3,200,583</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;"> 3,476,495</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 5,277,169</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td></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 6pt 0pt;"><i style="font-style:italic;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our primary customers are distributors, system integrators, project developers and installers/EPC companies. A small number of customers have historically accounted for a significant portion of our net revenues. In 2019, 2020 and 2021, the top five customers of the CSI Solar segment by net revenues collectively accounted for approximately 15.8%, 15.8% and 14.0%, respectively, of our total net revenues. Sales to our largest customer in those years accounted for 6.6%, 3.9% and 3.9%, respectively, of our total net revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We market and sell solar modules worldwide for residential, commercial and utility-scale solar energy projects and solutions. We primarily sell our products to distributors and large-scale installers through our own, home-grown sales teams, who operate throughout Europe, the Americas, the Middle East and the Asia-Pacific regions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our marketing activities include brand sponsorship, social media discussions and digital marketing. Our teams also develop channel marketing programs to support our customers in their marketing of our business and products, in addition to providing to them 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, India, Japan, Australia, South Africa and Korea.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We sell our standard solar module products primarily under three types of arrangements: sales contracts to distributors; sales to systems integrators, installers/EPC companies and project developers; and OEM/tolling manufacturing arrangements.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We target our sales and marketing efforts for our specialty solar products at companies in selected industry sectors, including the automotive, telecommunications and LED lighting sectors. As standard solar modules increasingly become commoditized and technology advancements allow solar power to be used in more off-grid applications, we intend to increase our sales and marketing efforts on our specialty solar products and capabilities. Our sales and marketing team works with our specialty solar products development team to take into account changing customer preferences and demands to ensure that our sales and marketing team is able to effectively communicate to customers our product development changes and innovations. We intend to establish additional relationships in other market sectors as the specialty solar products market&#160;expands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As we expand our manufacturing capacity and enhance our brand name with our system solutions offering, we continue to develop new customer relationships in a wider range of geographic markets to further decrease single market dependency. Since 2013, we significantly increased our total number of buying customers and achieved leading market share in North America, Canada, Japan, South-Africa and Brazil, which we maintained and grew further. In 2021, we have successfully started to produce and sell our own CSI single-phase inverter portfolio to complement the already established and growing overall CSI branded inverter sales. Given our growing product and solutions offering, we became one of the leading turnkey EPC PV-system providers in Australia in 2018 and 2019 as well as becoming 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. In order to minimize the significant cost fluctuation exposure, we have shifted away from the full EPC service model and are now offering and helping our customer with system design and system optimization simulation and support.</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<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>(as system packages or as stand-alone components) directly to EPC, developer as well as contractor/installer, to lower customer concentration and to reduce payment risks and demand fluctuation risks. In order to access small installers and contractors (which we do not directly serve), we maintain a strong sales channel and business relationship with key distribution partners around the globe. In parallel we have started to further expand our Key Account / Utility Scale sales access and gaining market share in this segment &#8211; enabled by our high efficiency large format module portfolio for LCOE optimized large commercial and utility scale project usage. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar System Kits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A solar system kit is a ready-to-install package consisting of solar modules produced by us and components, such as inverters, racking system and other accessories, supplied by third parties. In 2021, we sold approximately 1.1 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 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery Storage Solutions</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We leverage our vast customer and supply chain network to offer competitive solutions for stand-alone battery storage offerings or &#8220;Photovoltaic + Storage&#8221; integrated solutions. We also continue to prioritize our R&amp;D and investments into battery storage product and technology development to further our advancement into downstream product, technology, and manufacturing as well as upstream project integrated battery storage solutions. </p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The table below sets forth CSI Solar&#8217;s battery storage system integration&#8217;s project as of January 31, 2022. LTSA projects are operational battery storage projects delivered by CSI Solar that are under multi-year long-term service agreements and generate recurring earnings. Contracted/in construction projects are expected to be delivered within the next 12 to 18 months. Forecast projects include those that have more than 75% probability of being contracted within the next 12 months, and the remaining pipeline includes projects that have been identified but have a below 75% probability of being contracted.</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: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;width:1.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;width:6.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.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;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.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: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;width:1.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;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contracted/</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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></tr><tr><td style="vertical-align:bottom;width: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;width:1.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;width:6.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;">LTSA</b></p></td><td style="vertical-align:bottom;width:1.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;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">In Construction</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.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;">Forecast</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.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;">Pipeline</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.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;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Storage (MWh)</p></td><td style="vertical-align:bottom;width:1.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:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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;width:1.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:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,043</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 390</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,619</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.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;"><span style="white-space:pre-wrap;"> 6,352</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 6pt 0pt;"><i style="font-style:italic;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We develop, construct, maintain, sell and/or operate solar power and battery storage plants primarily in Canada, the U.S., Japan, China, the EU, the U.K., Brazil, Mexico, Argentina, Chile, Colombia Australia and Korea. We also provide development, O&amp;M and assets management services. We sell our projects to large utility companies, corporate offtakers, other power producers and asset managers. Customers for our development, O&amp;M and asset management services include solar project developers and owners.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In order to continue to grow our Global Energy segment, we conduct market due diligence, routinely meet with industry players and interested investors, and attend industry conferences and events to identify project development opportunities. Our team has extensive industry expertise and significant experience in working with government authorities and developing new projects for our target markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar Project Development</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of January 31, 2022, our total project pipeline was 24.4 GWp, including 1.6 GWp under construction, 4.2 GWp of backlog, and 18.6 GWp of earlier stage pipeline. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Backlog projects are late-stage projects that have passed their Risk Cliff Date and are expected to be built 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, FIT arrangements and PPAs. Over 90% of projects in backlog are contracted (i.e., have secured a PPA or FIT), and the remaining are reasonably assured of securing PPAs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Pipeline projects are early- to mid-stage project opportunities currently under development that are yet to be de-risked. </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:57.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.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:9.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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: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: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: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: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:8.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 colspan="9" 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, 2022 (in MWp)*</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.99%;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.67%;border-bottom:1px solid #000000;margin:0pt;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 construction</b></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: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;">Backlog</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: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;">Pipeline</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: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.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;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.99%;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.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:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 262</span></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:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 509</span></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;">&#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;"><span style="white-space:pre-wrap;"> 7,247</span></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 8,018</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.99%;margin:0pt;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.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:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 841</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:8.5%;margin:0pt;padding:0pt;"><p style="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,435</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;">&#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;"><span style="white-space:pre-wrap;"> 3,437</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 6,713</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.99%;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;">EMEA</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 294</span></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;">&#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;"><span style="white-space:pre-wrap;"> 4,379</span></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 4,673</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.99%;margin:0pt;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.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:9.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 174</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:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 172</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 72</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 418</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.99%;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;">Asia Pacific excluding Japan and China</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 345</span></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:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'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;"><span style="white-space:pre-wrap;"> 1,695</span></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 2,231</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.99%;margin:0pt;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.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:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="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.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: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;"><span style="white-space:pre-wrap;"> 550</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;">&#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;"><span style="white-space:pre-wrap;"> 1,770</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,320</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.99%;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.7%;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:9.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="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,622</span></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: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;"><span style="white-space:pre-wrap;"> 4,151</span></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;">&#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;"><span style="white-space:pre-wrap;"> 18,600</span></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24,373</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><i style="font-style:italic;">*Note:</i> <i style="font-style:italic;">Total project pipeline table represents the gross MWp size of the projects, including minority interest. Gross MWp size of projects includes 405 MWp of projects in construction in Latin America were already sold to third parties.</i></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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operating Solar Power Plants and Sale of Electricity</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">In addition to our project backlog, we had a portfolio of solar power plants in operation totaling 445 MWp as of January 31, 2022. The resale value of these plants was estimated at approximately $260.0 million as of January 31, 2022. Our total portfolio of solar power plants in operation as of January 31, 2022 was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:15.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;width:3.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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.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:3.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="9" style="vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Solar Power Plants in Operation (in MWp)</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.2%;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;">Latin</b></p></td><td style="vertical-align:bottom;width:3.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:15.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:23.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;">Asia Pacific excluding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:15.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.2%;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-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">America</b></p></td><td style="vertical-align:bottom;width:3.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:15.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Japan</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:23.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;">Japan &amp; China</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:15.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">China</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:15.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:right;text-indent:-7.2pt;margin:0pt 3pt 0pt 0pt;">316</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:15.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.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;"><span style="white-space:pre-wrap;"> 16</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:15.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 82</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 445</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: Gross MWp size of projects, includes 196 MWp in Latin America and 2 MWp in Asia Pacific excluding Japan and China already sold to third parties.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery Storage Project Development</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have been actively developing utility-scale solar plus battery storage projects, as well as stand-alone battery storage projects. Since the first quarter of 2021, we have been co-hosting battery storage facilities with solar power plants on the same piece of land for nearly all projects under development. By using one interconnection point per project, we expect to significantly enhance the efficiency of our development and the value of our assets under development. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, we have already signed several storage tolling agreements with a variety of power purchasers, including community choice aggregators, investor-owned utilities, universities, and public utility districts. We have also signed development services agreements to retrofit operational solar projects with battery storage, many of which were previously developed by ourselves.</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 pipeline as of January 31, 2022.</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:60.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="9" 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;">Storage Project Backlog and Pipeline by Region as of January 31, 2022 (in MWp)</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.5%;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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.67%;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;">In construction</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Backlog</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pipeline</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.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;">North America</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#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:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,681</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#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.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.83%;background:#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.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,725</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#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.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,406</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.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;">Latin America</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 465</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.5%;margin:0pt;padding:0pt;"><p style="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,185</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.5%;margin:0pt;padding:0pt;"><p style="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,650</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.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;">EMEA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#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:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.82%;background:#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.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 56</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#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.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,611</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#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.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,667</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.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;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;margin:0pt;padding:0pt;"><p style="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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.5%;margin:0pt;padding:0pt;"><p style="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.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.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;">Asia Pacific excluding Japan and China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#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:9.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.82%;background:#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.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.83%;background:#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.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,280</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#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.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,300</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.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;">China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;"><span style="white-space:pre-wrap;"> 300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;"><span style="white-space:pre-wrap;"> 1,100</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.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;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="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,681</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#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.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;"><span style="white-space:pre-wrap;"> 841</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,620</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27,142</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Customer Support and Service</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We typically sell our standard solar modules with a twelve-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.<span style="font-size:11pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar and battery storage projects built by us, we provide a limited workmanship or balance of system warranty against defects in engineering, design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar project. In resolving claims under the workmanship or balance of system warranty, we have the option of remedying through repair, refurbishment or replacement of equipment. We have also entered into similar workmanship warranties with our suppliers to back up our warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As part of our energy business, before commissioning solar and battery storage projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements. In limited cases, we also provide for an energy generation performance test designed to demonstrate that the actual energy generation for up to the first three years meets or exceeds the modeled energy expectation (after adjusting for actual solar irradiation). In the event that the energy generation performance test performs below expectations, the appropriate party (EPC&#160;contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract price. In certain instances, a bonus payment may be received if the energy generation performance test performs above expectations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our customer support and service function handles technical inquiries and warranty-related issues. In recent years, we expanded our capacity in these areas to better enable us to handle our customer&#8217;s questions and concerns in a timely and professional manner.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have agreements with a group of insurance companies to reduce some of the risks associated with our warranties. See &#8220;&#8212;Insurance&#8221; below. Our customer support and service function will continue to expand and improve services we provide to our&#160;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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Competition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Module and Beyond-Pure-Module Business</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The market for solar power and<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>battery storage products is competitive and evolving. We compete with American companies, such as First Solar, and Asia-based companies such as Longi, Trina, Jinko, JA Solar and Hanwha Q Cells. Some of our competitors are developing or producing products based on alternative solar technologies, such as thin film PV materials, that may ultimately have costs similar to, or lower than, our projected costs. Solar modules produced using thin film materials, such as cadmium telluride and copper indium gallium selenide technology, generally have lower conversion efficiency but do not use silicon for production, compared to our crystalline silicon solar module products, and as such are less susceptible to increases in the costs of silicon. Some of our competitors have also become vertically integrated, from upstream polysilicon manufacturing to solar system integration. In addition, the solar power market in general competes with other sources of renewable and alternative energy as well as conventional power generation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe that the key competitive factors in the market for solar power and<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>battery storage products include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">price;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the ability to deliver products to customers on time and in the required volumes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">product quality and associated service issues;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">nameplate power and other performance parameters of the module, such as power tolerances;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">value-added services such as system design and installation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">value added features such as those that make solar power and battery storage products easier or cheaper to install;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">additional system components such as mounting systems, delivered as a package or&#160;bundle;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">brand equity and any good reputation resulting from the above items, including the willingness of banks to finance projects using modules produced by a particular supplier;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">customer relationships and distribution channels; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the aesthetic appearance of solar power and battery storage products.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In the immediate future, we believe that our ability to compete depends on our ability to deliver cost-effective products in a timely manner and to develop and maintain a strong brand name based on high quality products and strong relationships with downstream customers. Our competitiveness also depends on our ability to effectively manage our cash flow and balance sheet and to maintain our relationships with the financial institutions that fund solar and battery storage projects. Consolidation of the solar industry is already occurring and is expected to continue in the near future. We believe that such consolidation 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 products that deliver the lowest LCOE, 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Energy Business</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our energy business is a capital-intensive business with numerous industry participants. We face competition from a large and diverse group of local and international project developers, financial investors and certain utility companies. These competitors vary in terms of size, geographic focus, financial resources and operating capabilities. We compete in a diversified and complicated landscape since the commercial and regulatory environments for solar and battery storage project development, sale and operation vary significantly from region to region and country to country. While local policy frameworks on battery storage project development remain relatively new, many new entrants are seizing on the market opportunity. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our primary competitors are local and international developers and operators of solar and battery storage projects. We believe the key competitive factors in the global solar and battery storage project development industry include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">vertical integration with upstream manufacturing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">permit and project development experience and expertise;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reputation and track record;</span></td></tr></table></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">relationship with government authorities and knowledge of local policies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">strong internal working capital and good relationship with banks and international organizations that enhance access to external financing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">experienced technicians and executives who are familiar with the industry and the implementation of our business plans;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">expertise and experience in providing EPC.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We cannot, however, guarantee that some of our competitors do not or will not have advantages over us in terms of greater operational, financial, technical, management or other resources in particular markets or in general.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, we develop and construct and, in limited cases, operate and maintain solar and battery storage projects in various regions including Canada, the U.S., Japan, China, the EU, the U.K., Brazil, Mexico, Argentina, Chile, Colombia, Australia 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 and battery storage projects upon termination of previous PPAs, we compete with conventional utilities primarily based on cost of capital, generation located at customer sites, operations and management expertise, price (including predictability of price), green attributes of power, the ease by which customers can switch to electricity generated by our energy systems and our open architecture approach to working within the industry, which facilitates collaboration and project acquisitions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For further discussion of the competitive risks that we face, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Because the markets in which we compete are highly competitive and evolving quickly, because many of our competitors have greater resources than we do or are more adaptive, and because we have a limited track record in our energy business, we may not be able to compete successfully and we may not be able to maintain or increase our market share.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Insurance</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We maintain property risk insurance policies with reputable insurance companies to cover our equipment, facilities, buildings and inventories. The coverage of these insurance policies includes losses due to natural hazards and losses arising from unforeseen accidents. Our manufacturing plants in China and elsewhere are covered by business interruption insurance. However, significant damage or interruption to any of our manufacturing plants, whether as a result of fire or other causes, could still have a material and adverse effect on our results of operations. We also maintain commercial general liability (including product liability) coverage. We obtained credit insurance primarily from China Export&#160;&amp; Credit Insurance Corporation, or Sinosure. Credit insurance is designed to offset the collection risk of our account receivables for certain customers within the credit limits approved by the insurers. Risks related to marine, air and inland transit for the export of our products and domestic transportation of materials and products are covered under cargo transportation insurance. We also maintain directors and officers 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 agreements with a group of insurance companies to reduce some of the risks associated with our warranties. Under the terms of the insurance policies, 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 warranty against defects in workmanship and material and our warranty relating to power output. The warranty insurance is renewable annually. We believe that our warranty improves the marketability of our products and our customers are willing to pay more for products with warranties backed by&#160;insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Environmental Matters</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Except as disclosed in the &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China,&#8221; we believe we have obtained the environmental permits and passed relevant assessments necessary to conduct the business currently carried on by us at our existing manufacturing facilities. We have also conducted environmental studies in conjunction with our solar and battery storage projects to assess and reduce the environmental impact of such&#160;projects. Our major operations are certified under ISO14001 Environmental and ISO45001 Occupational Health and Safety standards, which required that we implement and operate according to various procedures that demonstrate waste reduction, energy conservation, injury reduction and other environmental, safety and health objectives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have finished establishing our internal ISO14064:2018 Green House Gas (&#8220;GHG&#8221;) quantification and reporting system under guidance of 3rd party Soci&#233;t&#233; G&#233;n&#233;rale de Surveillance (SGS), to identify, quantify and report our GHG emissions and removals at the organization level, setting up solid ground for continuous GHG emissions reduction.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our products must comply with the environmental regulations of the jurisdictions in which they are installed. We make efforts to ensure that our products comply with the EU Regulation (&#8220;EC&#8221;) No&#160;1907/2006 concerning the Registration, Evaluation, Authorization and Restriction of Chemicals (REACH). Our system solutions product lines, including string inverters, also comply with the European Union&#8217;s RoHS (Restriction of Hazardous Substances) Directive 2011/65/EU and its amendments. Note that Solar PV modules are exempted from the European Restriction of Hazardous Substances (&#8220;RoHS&#8221;) legislation as part of the decision from the European Commission to ensure achievement of energy renewable targets in its article 2. We also strictly adhere to Toxicity Characteristic Leaching Procedure (&#8220;TCLP&#8221;) testing of our photovoltaic module portfolio to monitor the presence of any toxic metal substances (arsenic, barium, cadmium, chromium, lead, mercury, selenium, silver) according to TCLP Standard EPA Test Method 1311, as issued by the U.S. Environmental Protection Agency (&#8220;EPA&#8221;) under the Toxic Substances Control Act (&#8220;TSCA&#8221;) for landfill disposal of modules. We adopted a new advanced TCLP sampling method developed by Arizona State University to improve sampling accuracy and testing results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our module and beyond-pure-module operations are subject to regulation and periodic monitoring by local environmental protection authorities. Also, various licenses, permits, and approvals are required for our solar and battery storage project developments within our energy business. If we fail to comply with present or future environmental laws and regulations, we could be subject to fines, suspension of production or cessation of&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Environmental, Social and Governance Initiatives</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We 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><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: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;">Environmental</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. We are committed to providing a safe and enriching work environment for employees and contractors and strive to reduce the environmental impact of our business activities. We track greenhouse gas emissions and manufacturing intensity on energy, water and waste across our facilities. As a result, we have meaningfully reduced greenhouse gas emissions and energy, water and waste intensity during the manufacturing of solar PV modules. In addition, we research, develop and implement new technologies to enhance product efficiency and reduce the environmental impact of our production processes. We have also established rolling 5-year key performance indicator (&#8220;KPI&#8221;) targets for key metrics that are integrated into employee KPIs and compensation plans. Moreover, we have established a sustainability program to manage the sustainability risks associated with the growth opportunities, which is overseen by the Sustainability Committee. </span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Social Responsibility. 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 (i) tracking our hiring practices including improving the balance of women, people of ethnic minority and people with disabilities in our hiring, (ii) expanding our recruiting channels to attract a more diverse range of candidates, (iii) establishing several employee resource groups to provide institutional for reaching professional career goals, and (iv) 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 the Canadian Solar University. See &#8220;Item&#160;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. In addition, we strive to be a responsible corporate citizen in the communities where we operate by (i) responding quickly to COVID-19 and developing a response plan to provide guidance to all offices internationally, and (ii) abiding to a strict code of business conduct and ethics and expecting no less from our business partners, including our suppliers. </span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Corporate Governance</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. 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 (i) establishing a framework of governance documents and guidelines, and (ii) conducting business ethics awareness and compliance training to our employees on a regular basis.</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;">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;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">60</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Environmental, Social Responsibility and Corporate Governance Policies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have adopted a suite of environmental, social responsibility and corporate governance policies to provide a framework for our sustainability commitments, which are publicly available on our website. Our Environment, Occupational Health and Safety Policy provides for the principles and guidelines for the protection of the environment, and the health and safety of our employees and others who are affected by our business. To better fulfill our social responsibilities, we also maintain our Labor and Human Rights Policy, Equal Employment Opportunity Policy, Anti-Modern Slavery Policy, Supplier Code of Conduct, and Conflict Minerals Policy. In addition, to maintain the highest standards of conduct and ethics in the way that we conduct our business, we have introduced the following corporate governance policies: Code of Business Conduct and Ethics, Whistleblower Policy, Insider Trading Policy, Related-Party Transactions, Prohibition Against Giving Bribes, and Prohibition Against Accepting Bribes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Government Regulations </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">This section sets forth a summary of certain significant regulations or requirements that affect our business activities in China or our shareholders&#8217; right to receive dividends and other distributions from&#160;us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Renewable Energy Law and Other Government Directives</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February&#160;2005, China enacted its Renewable Energy Law, which became effective on January&#160;1, 2006 and was revised in December&#160;2009. The revised Renewable Energy Law, which became effective on April&#160;1, 2010, sets forth policies to encourage the development and use of solar energy and other non-fossil energy sources and their on-grid generation. It also authorizes the relevant pricing authorities to set favorable prices for the purchase of electricity generated by solar and other renewable power generation systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The law also sets forth the national policy to encourage the installation and use of solar energy water-heating systems, solar energy heating and cooling systems, solar PV systems and other solar energy utilization systems. It also provides financial incentives, such as national funding, preferential loans and tax preferences for the development of renewable energy projects subject to certain regulations of the relevant authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November&#160;2005, the NDRC promulgated the Renewable Energy Industry Development Guidance Catalogue, in which solar power figured prominently. In January&#160;2006, the NDRC promulgated two implementation directives with respect to the Renewable Energy Law. In January&#160;2007, the NDRC promulgated another related implementation directive. These directives set forth specific measures for setting the price of electricity generated by solar and other renewable power generation systems, for sharing additional expenses, and for allocating administrative and supervisory authority among different government agencies at the national and provincial levels. They also stipulate the responsibilities of electricity grid companies and power generation companies with respect to the implementation of the Renewable Energy&#160;Law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In August&#160;2007, the NDRC promulgated the Medium and Long-Term Development Plan for the Renewable Energy Industry. This plan sets forth national policy to provide financial allowance and preferential tax regulations for the renewable energy industry. The Outline of the Thirteenth Five-Year Plan for National Economic and Social Development of the PRC, which was approved by the National People&#8217;s Congress in March&#160;2016, the Thirteenth Five-Year Plan for Renewable Energy Development, which was promulgated by the NDRC in December&#160;2016, and the Thirteenth Five-Year Plan for Solar Power Generation, which was promulgated by the National Energy Administration in December&#160;2016 also demonstrates a commitment to promote the development of renewable energy to enhance the competitiveness of the renewable energy industry, including the solar energy industry. In December 2021, the State Council promulgated the Fourteenth Five-Year Plan Comprehensive Work Plan for Energy Conservation and Emission Reduction, which encourages the application of wind, solar, biomass and other renewable energy in agricultural production and rural life and<span style="font-size:11pt;"> </span>promotes the integrated construction of building photovoltaics.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">China&#8217;s Ministry of Housing and Urban-Rural Development (formerly, the Ministry of Construction) also issued a directive in June&#160;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. Similarly, China&#8217;s State Council promulgated a directive in July&#160;2005, which sets forth specific measures to conserve energy resources. In November&#160;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&#160;2006, the State Council issued the Decision on Strengthening the Work of Energy Conservation which encourages the great development of the solar energy and other renewable energy. In addition, on April&#160;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&#160;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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On March&#160;8, 2011, China&#8217;s Ministry of Finance and Ministry of Housing and Urban-Rural Development jointly promulgated the Notice on Further Application of Renewable Energy in Building Construction, which aims to raise the percentage of renewable energy used in&#160;buildings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August&#160;21, 2012, China&#8217;s Ministry of Finance and Ministry of Housing and Urban-Rural Development jointly promulgated the Notice on Improving Policies for Application of Renewal Energy in Building and Adjusting Fund Allocation and Management Method, which aims to promote the use of solar energy and other new energy products in public facilities and residences, further amplifying the effect of the policies for application of renewable energy in&#160;buildings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In June&#160;2014, the General Office of the State Council issued its Notice on Printing and Distributing the Action Plan for the Energy Development Strategy (2014-2020), which requested accelerating the development of solar power generation, including promoting the construction of photovoltaic base construction, among&#160;others.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April&#160;2016, the NDRC and National Energy Administration issued the Notice on Printing and Distributing the Action Plan for Energy Technology Revolution and Innovation (2016-2030), which sets forth the focus, the main direction, the timetable and the route of energy technology innovation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November&#160;2017, the NDRC issued the Opinions on Comprehensively Deepening the Reform of the Price Mechanism, which requested improving the price mechanism of renewable energy, including adopting the decrement mechanism on the on-grid benchmark price of new energy resources such as wind power and photovoltaic power.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2021, National People&#8217;s Congress approved the Outline of the Thirteenth 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;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Environmental Regulations</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As we have expanded our ingot, silicon wafer and solar cell manufacturing capacities, we have begun to generate material levels of noise, wastewater, gaseous wastes and other industrial waste. Additionally, as we expand our internal solar components production capacity, our risk of facility incidents that would negatively affect the environment also increases. We are subject to a variety of governmental regulations related to the storage, use and disposal of hazardous materials. The major environmental laws and regulations applicable to us include the PRC Environmental Protection Law, which became effective in 1989, as amended and promulgated in 2014, the PRC Law on the Prevention and Control of Noise Pollution, which became effective in 1997, as amended and promulgated in 2018, the PRC Law on the Prevention and Control of Air Pollution, which became effective in 1988, as amended and promulgated in 1995, 2000, 2015 and 2018, the PRC Law on the Prevention and Control of Water Pollution, which became effective in 1984, as amended and promulgated in 1996, 2008 and 2017, the PRC Law on the Prevention and Control of Solid Waste Pollution, which became effective in 1996, as amended and promulgated in 2004, 2013, 2015, 2016 and 2020, the PRC Law on Evaluation of Environmental Affects, which became effective in 2003, as amended and promulgated in 2016 and 2018, the PRC Law on Promotion of Clean Production, which became effective in 2003, as amended and promulgated in 2012, and the Regulations on the Administration of Construction Project Environmental Protection, which became effective in 1998, as amended and promulgated in&#160;2017.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Some of our PRC subsidiaries are located in Suzhou, China, which is adjacent to Taihu Lake, a nationally renowned and protected body of water. As a result, production at these subsidiaries is subject to the Regulations on the Administration of Taihu Basin, which became effective on 2011, the Regulation of Jiangsu Province on Preventing Water Pollution in Taihu Lake, which became effective in 1996 and was further revised and promulgated in 2007, 2010, 2012, 2018 and 2021, and the Implementation Plan of Jiangsu Province on Comprehensive Treatment of Water Environment in Taihu Lake Basin, which was promulgated in February&#160;2009 and amended in 2013. Because of these regulations, the environmental protection requirements imposed on nearby manufacturing projects, especially new projects, have increased noticeably, and Jiangsu Province has stopped approving construction of new manufacturing projects that increase the amount of nitrogen and phosphorus released into Taihu Lake, except for those satisfy certain applicable statutory requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Admission of Foreign Investment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The principal regulation governing foreign ownership of solar power businesses in the PRC is the Catalogue of Encouraged Industries for Foreign Investment. Under the current catalogue, which was amended in December 2020 and became effective on January 27, 2021, 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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, and the current 2020 catalogue also cover the manufacture of solar light collector glass and&#160;etc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 5pt 18pt;"><i style="font-style:italic;">Administration of Foreign Invested Companies</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The establishment, approval, registered capital requirement and day-to-day operational matters of wholly foreign-owned enterprises, are regulated by the Wholly Foreign-Owned Enterprise Law of the PRC, effective in 1986 and amended in 2000 and 2016, and the Implementation Rules of the Wholly Foreign-owned Enterprise Law of the PRC, effective in 1990 and amended in 2001 and 2014. The establishment, operation and management of corporate entities in China are governed by the Company Law of the PRC, or the Company Law, effective in 1994 and amended in 1999, 2004, 2005, 2013 and 2018. The Company Law is applicable to our PRC subsidiaries unless PRC laws on foreign investment stipulate otherwise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2019, the Foreign Investment Law was promulgated, effective on January 1, 2020, at which time the Wholly Foreign-owned Enterprise Law will be repealed. Regulation for Implementing the Foreign Investment Law of the People&#8217;s Republic of China took effect on January 1, 2020. Foreign- invested enterprises that were established in accordance with Wholly Foreign-owned Enterprise Law before the implementation of Foreign Investment Law may retain their original organizational forms and other aspects for five years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 5pt 18pt;"><i style="font-style:italic;">Income Tax and VAT</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">PRC enterprise income tax is calculated based on taxable income determined under PRC accounting principles. Under the EIT Law, both foreign-invested enterprises and domestic enterprises are subject to a uniform enterprise income tax rate of 25%. The EIT Law provides for preferential tax treatment for certain categories of industries and projects that are strongly supported and encouraged by the state. For example, enterprises qualified as HNTEs are entitled to a 15% enterprise income tax rate, provided that they satisfy other applicable statutory requirements. Further, enterprises which engage in businesses within the scope of the Catalogue of Encouraged Industries in Western Regions promulgated by the NDRC, or Western Catalogue, are entitled to a 15% enterprise income tax rate provided that such enterprises satisfy other applicable statutory requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of our PRC subsidiaries, such as CSI New Energy Holding and CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2021, only Suzhou Sanysolar Materials Technology Co., Ltd, <span style="text-decoration-line:line-through;text-decoration-style:solid;"> </span>Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd), and Changshu Tlian Co., Ltd were HNTEs and enjoyed preferential enterprise income tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The EIT Law also provides that enterprises established outside China whose &#8220;de facto management body&#8221; is located in China are considered PRC tax residents and will generally be subject to the uniform 25% enterprise income tax rate on their global income. Under the implementation regulations, the term &#8220;de facto management body&#8221; is defined as substantial and overall management and control over aspects such as the production and business, personnel, accounts and properties of an enterprise. Circular&#160;82 further provides certain specific criteria for determining whether the &#8220;de facto management body&#8221; of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a)&#160;the premises where the senior management and the senior management bodies responsible for the routine production and business management of the enterprise perform their functions are mainly located within the PRC, (b)&#160;decisions relating to the enterprise&#8217;s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c)&#160;the enterprise&#8217;s primary assets, accounting books and records, company seals, and board and shareholders&#8217; meeting minutes are located or maintained in the PRC and (d)&#160;50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although Circular&#160;82 only applies to offshore enterprises controlled by enterprises or enterprise groups located within the PRC, the determining criteria set forth in the Circular&#160;82 may reflect the tax authorities&#8217; general position on how the &#8220;de facto management body&#8221; test may be applied in determining the tax resident status of offshore enterprises. As the tax resident status of an enterprise is subject to the determination by the PRC tax authorities, uncertainties remain with respect to the interpretation of the term &#8220;de facto management body&#8221; as applicable to our offshore entities.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law and implementing regulations issued by the State Council, the PRC withholding tax rate of 10% is generally applicable to interest and dividends payable to investors from companies that are not &#8220;resident enterprises&#8221; in the PRC, to the extent such interest or dividends have their sources within the PRC. If our Canadian parent entity is deemed a PRC tax resident under the EIT Law based on the location of our &#8220;de facto management body,&#8221; dividends distributed from our PRC subsidiaries to our Canadian parent entity could be exempt from Chinese dividend withholding tax. However, in that case, dividends from us to our shareholders may be regarded as China-sourced income and, consequently, be subject to Chinese withholding tax at the rate of 10%, or at a lower treaty rate if applicable. Similarly, if we are considered a PRC tax resident, any gain realized by our shareholders from the transfer of our common shares is also subject to Chinese withholding tax at the rate of 10% if such gain is regarded as income derived from sources within the PRC. It is unclear whether any dividends that we pay on our common shares or any gains that our shareholders may realize from the transfer of our common shares would be treated as income derived from sources within the PRC and subject to PRC&#160;tax.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the Provisional Regulation of the PRC on Value Added Tax amended in 2008, 2016 and 2017 and its implementation rules, which became effective in 2009 and were amended in 2011, all entities and individuals that are engaged in the sale of goods, processing, repairs and replacement services, the sales of services, intangible assets or real estate, and the importation of goods in China are required to pay VAT. Gross proceeds from sales and importation of goods and sales of labor services are generally subject to VAT at a rate of 17%, with exceptions for certain categories of goods that are taxed at a rate of 11%. Gross proceeds from sales of real estate are subject to VAT at a rate of 11%. Gross proceeds from sales of services and intangible assets are generally subject to VAT at a rate of 6%, with exceptions for certain categories of services or intangible assets that are taxed at a rate of 17% or 11%. When engaging in exportation of certain goods or cross-border sales of certain services or intangible assets, the exporter or the seller is entitled to a refund of a portion or all of the VAT that it has already paid or&#160;borne.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April&#160;2018, Ministry of Finance and State Administration of Taxation jointly announced that as of May&#160;1, 2018, if the VAT taxpayer is subject to VAT taxable sales or imported goods, the original 17% tax rate or the original 11% tax rate shall be adjusted to 16% or 10%, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March&#160;2019, Ministry of Finance, State Administration of Taxation and General Administration of Customs jointly announced that as of April&#160;1, 2019, if the VAT general taxpayer is subject to VAT taxable sales or imported goods, the original 16% tax rate shall be adjusted to 13%; if the original 10% tax rate is applied, the tax rate shall be adjusted to&#160;9%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Foreign Currency Exchange</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Foreign currency exchange regulation in China is primarily governed by the Foreign Currency Administration Rules, which became effective in 1996 and were amended in 1997 and 2008, and the Settlement, Sale and Payment of Foreign Exchange Administration Rules (1996), or the Settlement Rules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, the Renminbi is convertible for current account items, including the distribution of dividends, interest payments, trade and service-related foreign exchange transactions. Conversion of the Renminbi for most capital account items, such as security investment and repatriation of investment, however, is still subject to limitation and requires the approval by or registration with&#160;SAFE.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">However, SAFE began to reform the foreign exchange administration system and issued the Notice on Reforming the Administrative Approach Regarding the Settlement of the Foreign Exchange Capitals of Foreign-invested Enterprises, or Circular&#160;19, on March&#160;30, 2015, which allows foreign invested enterprises to settle their foreign exchange capital on a discretionary basis according to the actual needs of their business operation and allows a foreign-invested enterprise with a business scope including &#8220;investment&#8221; to use the RMB capital converted from foreign currency registered capital for equity investments within the PRC. On June&#160;9, 2016, SAFE issued the Circular on Reforming and Regulating Policies on the Control over Foreign Exchange Settlement of Capital Accounts, or Circular&#160;16. Compared to Circular&#160;19, Circular&#160;16 provides that discretionary foreign exchange settlement applies to foreign exchange capital, foreign debt offering proceeds and remitted foreign listing proceeds, and the corresponding RMB obtained from foreign exchange settlement are not restricted from extending loans to related parties or repaying the inter-company loans (including advances by third&#160;parties).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February&#160;13, 2015, SAFE promulgated the Circular on Further Simplifying and Improving the Policies Concerning Foreign Exchange Control on Direct Investment, or SAFE Circular No.&#160;13, which delegates the authority to enforce the foreign exchange registration in connection with the inbound and outbound direct investment under relevant SAFE rules to certain banks and therefore further simplifies the foreign exchange registration procedures for inbound and outbound direct investment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On January&#160;18, 2017, SAFE promulgated the Circular on Further Improving Reform of Foreign Exchange Administration and Optimizing Genuineness and Compliance Verification, which sets out various measures that relaxes the policy restriction on foreign exchange inflow to further enhance trade and investment facilitation and that tightens genuineness and compliance verification of cross-border transactions and cross-border capital&#160;flow.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Dividend Distribution</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The principal regulations governing distribution of dividends paid by Foreign Investment Law and its implementation rules both effective in 2020, the Company Law effective in 1994 and amended in 1999, 2004, 2005, 2013 and 2018 and the EIT Law effective in 2008 and amended in 2017, 2018, and the implementation rules of EIT Law effective in 2008 and 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. The board of directors of a foreign-invested enterprise has the discretion to allocate a portion of its after-tax profits to staff welfare and bonus funds, which may not be distributed to equity owners except in the event of&#160;liquidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Employment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">There are multiple laws and regulations governing the employment relationship, including wage and hour requirements, working and safety conditions, social insurance, housing funds and other welfare. The PRC Labor Law which became effective on January&#160;1, 1995 and amended on August&#160;27, 2009, and December&#160;29, 2018, the Labor Contract Law of the People&#8217;s Republic of China, which became effective on January&#160;1, 2008, and was later revised on December&#160;28, 2012, its Implementing Regulation and the amendment thereunder, which became effective on September&#160;18, 2008 and July&#160;1, 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&#160;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 on March&#160;1, 2014, the number of dispatched workers used by an employer shall not exceed 10% of its total number of&#160;workers.</p><a id="_Hlk98443172"></a><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 as of July 1, 2011 and amended on December 29, 2018, the Rules on Implementing the Social Insurance Law issued by Ministry of Human Resource and Social Security and effective as of July 1, 2011, the Interim Regulations on the Collection and Payment of Social Security Funds promulgated by the State Council and effective as of January 22, 1999, as amended in 2019, the Interim Measures Concerning Maternity Insurance promulgated by the Ministry of Labor and effective as of January 1, 1995, the Regulations on Occupational Injury Insurance promulgated by the State Council and effective as of January 1, 2004 and amended on December 20, 2010, and the Regulations on the Administration of Housing Accumulation Funds promulgated by the State Council and effective as of April 3, 1999, as amended on March 24, 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;">We are a corporation governed by the laws of the province of Ontario, Canada and a substantial portion of our assets and business operations are located outside of the United States. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">Some of our directors and officers reside outside the United States (principally in Canada, mainland China and Hong Kong). Because these persons are located outside the United States, 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><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:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></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;"><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><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 54pt;"><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:36pt;"></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;"><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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">C</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Organizational Structure</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets out our significant subsidiaries, including their place of incorporation and our ownership interest, as of February 28, 2022. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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:4.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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;">Place&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">incorporation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">interest</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar O and M (Ontario) Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar UK Projects Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Projects K.K.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Netherlands Cooperative U.A.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Energy Singapore Pte Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Energy Holding Singapore Pte. Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Construction (Australia) Pty Ltd</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Investment Management Pty Ltd</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">FieldFare Argentina S.R.L.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Argentina</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Energy Project Technology (SuZhou) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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;"> 79.59</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI New Energy Holding Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Suzhou Sanysolar Materials Technology Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Solar Manufacturing (Funing) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Changshu Tegu New&#160;Material Technology&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;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.19%;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:1.81%;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.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Changshu Tlian&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;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:10.19%;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:1.81%;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:10.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI New Energy Development (Suzhou) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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;"> 90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Electricity Sales (JiangSu) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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;"> 57.4197</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%* **</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.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:10.19%;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:1.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:10.2%;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;"> 73.2063</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%* ***</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI New Energy Technology (Zhejiang) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Manufacturing Vietnam&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;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:10.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Vietnam</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;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:10.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Japan K.K.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;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:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar International Limited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar South East Asia Pte. Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.2%;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:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;background:#cceeff;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:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;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;white-space:nowrap;width:71.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar SSES (US) Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.19%;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:1.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:10.2%;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:4.57%;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;white-space:nowrap;width:71.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar SSES (UK) Ltd</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.2%;background:#cceeff;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:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;">* </p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;">Significant subsidiaries within the scope of CSI Solar are held through CSI Solar Co., Ltd. of which CSI holds 79.59% equity rights of CSI Solar Co., Ltd. Such equity right percentage may differ when calculated on different bases of accounting, e.g. PRC GAAP.</p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;">** </p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;">Canadian Solar Manufacturing (Changshu) Inc. holds 46.73% equity rights of CSI Modules (DaFeng) Co., Ltd., a limited partnership fund, of which Canadian Solar Manufacturing (Changshu) Inc. holds 20% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Co., Ltd. holds 0.067% shares as a general partner, holds 53.27% equity rights of CSI Modules (DaFeng) Co., Ltd.</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;">CSI Cells Co., Ltd. holds 57.13% equity rights of CSI Cells (Yancheng) Co., Ltd., a limited partnership fund, of which CSI Cells Co., Ltd. holds 37.33% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Co., Ltd. holds 0.17% shares as a general partner, holds 42.87% equity rights of CSI Cells (Yancheng) Co., Ltd.</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="font-family:'Times New Roman','Times','serif';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','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Property, Plants and Equipment</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following is a summary of our material properties, including information on our manufacturing facilities and office buildings as of the date of this annual report on Form&#160;20-F: </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Canadian Solar Sunenergy (Baotou) Co., Ltd. have obtained the land use right of a piece of land in Baotou of Inner Mongolia of approximately 224,997 square meters, on which we have built poly ingots manufacturing facilities with a floor area of approximately 18,000 square meters. The production of poly ingots manufacturing has commenced since May 2017. We have also started the construction of other facilities producing mono ingots with a floor area of approximately 93,415 square meters on the same land.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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. have obtained a land use right of a piece of land in Xining of Qinghai province of approximately 200,000 square meters in May 2021. &#160;We have obtained land use right certificate in July, 2021. We plan to build total of 185,000 square meters (Phase I &amp; Phase II) manufacturing facility on such land. &#160;We are building phase I manufacturing facility of 107,000 square meters at present, expect to obtain property ownership certificate of phase I by the end of 2022.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Luoyang Manufacturing has a land use right to a piece of land of approximately 35,345 square meters in Luoyang (Phase I), on which we have built manufacturing facilities of approximately 6,761 square meters. The certificates for property ownership were granted in June 2008. In the same year of 2008, CSI Luoyang Manufacturing obtained the land use right to a piece of land adjacent of approximately 79,685 square meters (Phase II), on which we have built manufacturing facilities of approximately 29,811 square meters. The floor area of Phase II is approximately 29,811 square meters. The certificates for property ownership were granted in September 2013. Subsequently in 2016, CSI Luoyang Manufacturing obtained the land use right to another piece of land of 159,961 square meters (Phase III), on which we have constructed manufacturing facilities with the floor area of approximately 38,955 square meters. We obtained the certificates for property ownership of Phase III in March 2018.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 (Fu Ning</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;">Co., Ltd. which was founded in November, 2017, have leased 3 manufacturing facilities located at No. 9, Jichao Road, Funing Development Zone, with a floor area of 24,016.7 square meters in total for four years since April 2021. Such leased facilities has 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:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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. </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(formerly known as &#8220;</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Solar Manufacturing (Yan Cheng) Inc.&#8221;</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;"> has leased the cell manufacturing facilities of approximately 26,921 square meters on a piece of land of approximately 66,667 square meters (Phase I) since 2015. It has the right and expects to purchase these facilities and obtain the property ownership and land use right by the end of 2022. In 2016, CSI Solar Manufacturing &#160;(Funing) obtained the land use right to a piece of land of approximately 133,333 square meters (Phase II and Phase III), on which we have built cell manufacturing facilities with a total floor area of approximately 26,097.42 square meters. The commercial operations have commenced since then and we obtained the certificates for property ownership of Phase II and Phase III cell manufacturing facilities in August 2018. In 2017, CSI Solar Manufacturing &#160;(Funing) obtained the land use right of approximately 33,664 square meters for the construction of Phase IV facilities, on which and former land, we are building manufacturing facilities with a total floor area of approximately 60,259.01 square meters and has obtain the certificate of property ownership on March 11&#8217;2022 which consists of a consolidated land use right of phase II and phase III with 166,997.27 square meters and all built facilities of 86,356.43 square meters.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 has the land use right to a piece of land of approximately 65,661 square meters in Suzhou. We completed the construction of our first solar cell manufacturing facilities of 14,077 square meters (Phase I) on this site in the first quarter of 2007 and subsequently obtained the certificate of property ownership. The Phase II cell manufacturing facilities, with 30,102 square meters of workshop space, were completed in 2009. The Phase III cell manufacturing facilities, with a total floor area of approximately 21,448 square meters of manufacturing and office space, were completed in August 2011. We obtained the certificates of property ownership for Phase II and Phase III in September 2019. CSI Cells merged with CSI Solar New Energy (Suzhou) Co., Ltd. in 2012, and obtained the land use right to another piece of land of approximately 10,000 square meters in Suzhou and the certificate of property ownership for approximately 4,833 square meters of floor area. </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">In 2020, </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Cells Co., Ltd. &#160;merged with Canadian Solar Sunenergy (Suzhou) Co., Ltd. and obtained the land use right to a piece of land of approximately 60,000 square meters and owns the module manufacturing facility thereon with a floor area of 28,355 square meters, which commenced production in the first quarter of 2017.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Cells (Yancheng) Co., Ltd. has the land use right to a piece of land of approximately 133,857 square meters (Phase I) located in National Yancheng Economic Technical Development Zone of Yancheng City. The floor area of cell manufacturing facilities (Phase I) is approximately 62,910.15 square meters. A part of the cell manufacturing facilities has completed construction and commenced operations since September 2018 and the entire Phase I facilities commenced operations in May 2019. In the same year of 2019, we made an advanced payment to purchase the Phase II land of approximately 64,436 square meters and have obtained the land use right in September 2020.</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Changshu Manufacturing has the land use right to two pieces of land of approximately 40,000&#160;square meters and 180,000&#160;square meters, respectively, in Changshu, on which we have built manufacturing facilities with a total floor area of approximately 164</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">,771</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#160;square meters. We have obtained certificates of property ownership for all of CSI Changshu Manufacturing&#8217;s facilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 200,006 square meters in Yan-Cheng Da-Feng Economic Development District in 2017. The module production facility of 78,133 square meters (Phase I) completed construction and the production began in September 2018. We obtained the certificate of property ownership for Phase I in January 2020. On the same piece of land, we have built manufacturing facilities with a total floor area of approximately 67</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">,374</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> square meters (Phase II) in May 2021</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, and obtained the</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> certificate of property ownership in 2021. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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. (formerly known as CSI Modules (JiaXing) Co., Ltd.) obtained the land use right to a piece of land of 165,057 square meters in 2018. On which we have constructed manufacturing facilities with the floor area of approximately 124,576 square meters (Phase I) by the end of 2020, and is building a manufacturing facility with floor area of approximately 100,935 square meters (Phase II) at present.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 (Su Qian) Co., Ltd. has leased approximately 182,892 square meters of manufacturing facilities for four years in Su Qian City, Jiang Su Province commencing from Nov 28, 2020. Half of the facility has been started in production by the end of 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">In Thailand, Canadian Solar Manufacturing (Thailand) Co., Ltd. has a land of 179.2 Rai (286,732 square meters) with the ownership certificate obtained. A module manufacturing facility of 29,723 square meters and a cell manufacturing facility of 19,139 square meters were built and the production commenced in the third quarter of 2016 and in April 2017, respectively. The construction of another cell manufacturing facility with a floor area of 18,100 square meters and a module manufacturing facility with a floor area of 15,460 square meters were completed and the production commenced in the third quarter of 2019.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">In Vietnam, we lease approximately 15,784 square meters of manufacturing facilities in Haiphong City, Vietnam since 2015 and have renewed for another three years commencing August 7, 2018. The production has begun since 2016.</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:36pt;margin:0pt;">Except as disclosed in the &#8220;Item 3. Key Information&#8212;D. Risk Factors-Risks Related to Doing Business in China,&#8221; we believe we have obtained the environmental permits necessary to conduct the business currently carried on by us at our existing manufacturing facilities. For more details, see &#8220;B. Business Overview&#8212;Environmental Matters.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_55774e51_efb3_45b4_a20c_e5e16b021427"></a><a id="ITEM4AUNRESOLVEDSTAFFCOMMENTS_703349"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;4A&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">UNRESOLVED STAFF COMMENTS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_db23279c_23c1_4547_af1f_9aa7de937b00"></a><a id="ITEM5OPERATINGANDFINANCIALREVIEWANDPROSP"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;5&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">OPERATING AND FINANCIAL REVIEW AND PROSPECTS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our consolidated financial statements and the related notes thereto included elsewhere in this annual report on Form&#160;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&#160;3. Key Information</i>&#8212;<i style="font-style:italic;">D. Risk Factors&#8221; or in other parts of this annual report on Form&#160;20-F. For discussion of 2019 and 2020 items and year-over-year comparisons between 2020 and 2019 that are not included in this annual report on Form 20-F, refer to &#8220;Item 5.</i> &#8212;<i style="font-style:italic;">Operating and Financial Review and Prospects&#8221; found in our Form 20-F for the year ended December 31, 2020, that was filed with the Securities and Exchange Commission on April 19, 2021.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">In November 2021, we completed the transfer of the China Energy business from CSI Solar to the Global Energy segment to avoid any potential competition between us and our CSI Solar subsidiary, as part of the CSI Solar carve-out listing process. The scope of the transfer includes all of the project development and ownership business in China. Refer to &#8220;Item 5. Operating and Financial Review and Prospects&#8212;A. Operating Results&#8212;Segment Reporting&#8221; for further details.</i></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">A</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operating Results</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Factors Affecting Our Results of Operations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The most significant factors that affect our financial performance and results of operations&#160;are:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">solar power products pricing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">costs of silicon raw materials and solar ingots, wafers and cells relative to the selling prices of&#160;modules;</span></td></tr></table></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">government subsidies and the availability of financing for solar and battery storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">industry and seasonal demand;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impact of assets impairment;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">solar and battery storage project development and sale;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">antidumping, countervailing and other duty costs and true-up charges; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">foreign exchange.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar Power Products Pricing</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2004, all of our net revenues were generated from sales of specialty solar modules and products. In 2004, we began selling standard solar modules. In 2020, we generated 79.1% of our net revenues from our CSI Solar segment and 20.9% from our Global Energy segment. In 2021, we generated 78.7% of our net revenues from our CSI Solar segment and 21.3% from our Global Energy segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our standard solar modules are priced based on the actual flash test result or the nameplate capacity of our modules, expressed in watts-peak. The actual price per watt is affected by overall demand for modules in the solar power market and increasingly by the total power of the module. Higher-powered modules usually command slightly higher prices per&#160;watt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We price our standard solar modules based on the prevailing market price at the time we enter into sales contracts with our customers, taking into account the size of the contract, the strength and history of our relationship with the customer and the costs of silicon raw materials and solar ingots, wafers and cells. During the first few years of our operations, the average selling price for standard solar modules rose year-over-year across the industry, primarily because of high demand. During the period from 2004 to 2008, the average selling price of our standard solar modules ranged from $3.62 to $4.23. Following a price peak in the third quarter of 2008, the industry-wide average selling price of standard solar modules has declined sharply as competition increased. In 2018, 2019 and 2020, the average selling price of our standard solar modules was approximately $0.34, $0.29 and $0.25 per watt, respectively; in 2021, it increased to approximately $0.28 per watt. Despite the increase in 2021, we expect the averaging selling price of our standard solar modules to continue to decline, albeit at a more moderate rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Costs of Silicon Raw Materials and Solar Ingots, Wafers and Cells Relative to the Selling Prices of&#160;Modules</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We produce solar modules, which are an array of interconnected solar cells encased in a weatherproof frame, and products that use solar modules. Solar cells are the most important component of solar modules. Our solar cells are currently made from mono-crystalline and multi-crystalline solar wafers through multiple manufacturing steps. Solar wafers are the most important material for making solar cells. Solar ingots are the most important material for making solar wafers. If we are unable to procure silicon raw materials and solar ingots, wafers and cells at reduced prices in line with the decreasing selling prices of our solar modules, our revenues and margins could be adversely impacted, either due to higher manufacturing costs than our competitors or write-downs of inventory, or both. Our market share could decline if our competitors are able to offer better pricing than we&#160;are.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Government Subsidies and the Availability of Financing for Solar and Battery Storage</i> <i style="font-style:italic;">Projects</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Over the past few years, the cost of solar energy has 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, 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. 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 6pt 0pt;">For a detailed discussion of the impact of government subsidies and incentives, possible changes in government policy and associated risks to our business, see &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Governments may revise, reduce or eliminate incentives and policy support schemes for solar and battery storage power, which could cause demand for our products to decline.&#8221; and &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and&#160;Customers.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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 a detailed discussion of the impact of the availability and cost of debt or equity for solar and battery storage projects and our customers&#8217; ability to finance the purchase of our products or to construct solar and battery storage projects, see &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;The execution of our growth strategy depends upon the continued availability of third-party financing arrangements for our customers, which is affected by general economic conditions. Tight credit markets could depress demand or prices for solar power and battery storage products and services, hamper our expansion and materially affect our results of&#160;operations.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Industry and Seasonal Demand</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 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&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We may be adversely affected by volatile solar power market and industry conditions; in particular, the demand for our solar power and battery storage products and services may decline, which may reduce our revenues and earnings.&#8221; Industry demand is affected by seasonality. Demand tends to be lower in winter, when adverse weather conditions can complicate the installation of solar power systems, thereby decreasing demand for solar modules. See &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Seasonal variations in demand linked to construction cycles and weather conditions may influence our results of&#160;operations.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Impact of Assets Impairment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For our property, plant and equipment, investments in affiliates, and project assets, if their fair value is less than their carrying value or their carrying value cannot be recoverable, we need to record an impairment loss. We had impairment loss of $36.3&#160;million and $23.2 million for our property, plant and equipment, investments in affiliates, and project assets in 2020 and 2021, 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 business development and operation involve numerous risks and uncertainties which could lead to the assets impairment. These risks and uncertainties include what have been discussed in &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We may not continue to be successful in developing and maintaining a cost-effective solar cell, wafer and ingot manufacturing capability.&#8221; and &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our project development and construction activities may not be successful, projects under development may not receive required permits, property rights, EPC agreements, interconnection and transmission arrangements, and financing or construction of projects may not commence or continue as scheduled, all of which could increase our costs, delay or cancel a project, and have a material adverse effect on our revenue and profitability.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar and Battery Storage Project Development and Sale</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Revenues generated from our Global Energy segment accounted for 20.9% and 21.3% of our net revenues in 2020 and 2021, respectively. The majority of these revenues came from the sale of solar and battery storage projects. We intend to monetize the majority of our current portfolio of solar power plants in operation that have an estimated resale value of approximately $260 million as of January 31, 2022. We also intend to monetize certain of our projects before they reach COD. Our revenues from the Global Energy segment are affected by the timing of the completion and sale of solar and battery storage projects. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and Customers&#8212;Global Energy Segment&#8212;Solar Project Development&#8221; for a description of the status of our solar and battery storage projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Solar and battery storage project development and sale involve numerous risks and uncertainties. For a detailed discussion of these risks and uncertainties, see &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our future success depends partly on our ability to expand the pipeline of our energy business in several key markets, which exposes us to a number of risks and uncertainties&#8221; and &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our project development and construction activities may not be successful, projects under development may not receive required permits, property rights, EPC agreements, interconnection and transmission arrangements, and financing or construction of projects may not commence or continue as scheduled, all of which could increase our costs, delay or cancel a project, and have a material adverse effect on our revenue and profitability.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Antidumping, Countervailing and Other Duty Costs and True-up Charges</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we booked the benefits of antidumping and countervailing duty provision reversals of $38.3&#160;million, primarily associated with prior years&#8217; module sales based on the updated rates arising from the administrative reviews carried out by the U.S.&#160;Department of&#160;Commerce. </p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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 been in the past, and may be in the future, subject to antidumping and countervailing duty rulings and orders. In particular, we have been subject to antidumping and countervailing duty rulings in the U.S., the EU, &#160;and Canada and have, as a result, been party to lengthy proceedings related thereto. See &#8220;Item&#160;8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings.&#8221; The U.S., EU 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 6pt 0pt;"><i style="font-style:italic;">Foreign 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;">The majority of our sales in 2021 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 Canadian dollars. The majority of our costs and expenses in 2021 were denominated in Renminbi, primarily related to purchases of solar cells and wafers and silicon 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, Australian dollars and Euros. The majority of our cash and cash equivalents and restricted cash is denominated in Renminbi. See &#8220;Item 3. Key Information&#8212;D. Risk Factors-Risks Related to Our Company and Our Industry&#8212;Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of operations.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Segment Reporting</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We use the management approach to determine operating segments. The management approach considers the internal organization and reporting used by our chief operating decision maker for making decisions, allocating resources and assessing performance. We have identified our chief executive officer as our chief operating decision maker, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance for&#160;us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In July 2020, we reached a strategic decision to pursue a listing of our subsidiary, CSI Solar, in China. The scope of the transfer includes all of the project development and ownership business in China. From November 2021, we completed the transfer of the China Energy assets from CSI Solar to the Global Energy segment to avoid any potential competition between ourselves and our CSI Solar subsidiary, as part of the CSI Solar carve-out listing process.<span style="font-size:11pt;"> </span>As a result, we report our financial performance, including revenue, gross profit and income from operations, based on the following two reportable business segments:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Global Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which includes all of our global project development activities for both solar and battery storage project development. The Global Energy segment develops both stand-alone solar and stand-alone battery storage projects, as well as hybrid solar plus storage projects. Its monetization strategies vary between develop-to-sell, build-to-sell, and build-to-own, depending on business strategies and market conditions, with the goal of maximizing returns, accelerating cash turn, and minimizing capital risk.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">CSI Solar</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which consists of solar module manufacturing and total system solutions, including inverters, solar system kits and EPC services. The CSI Solar segment also includes our battery storage integration business, delivering bankable, end-to-end, turnkey battery storage solutions for utility scale, commercial and industrial, and residential applications. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services. </span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The distinction of the two battery storage businesses is that the former, Global Energy, is in the project development business, including sourcing land, interconnection, structuring power purchase agreements and other permits and requirements for battery storage projects, whereas the latter, CSI Solar, is in the system integration business, delivering turnkey battery storage technology 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;">Comparative period financial information for 2019 by reportable business segment in this annual report has been recast to conform to current presentation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Impact of COVID-19</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of our business, including our operations, customers, suppliers and projects. Global commerce generally has been negatively affected due to travel restrictions, disruptions of global supply chain, shipping and logistics systems, quarantines, and other measures taken by governments. Near-term global economic growth has also been adversely impacted. As a result, investors may have a reduced appetite for equity investment in the near term; credit markets may become unsettled in the near term; and project installation activities may see delays. In addition, lockdowns may impact the rooftop installation market. The COVID-19 situation remains fluid, and we will continue to monitor it closely to assess the potential 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We continue to take mitigation strategies to reduce the adverse impact of COVID-19 to our business. For our module and beyond-pure-module business, we closely monitor market changes; secure orders by leveraging our channel strength and brand loyalty; adjust production plans by, for example, increasing the amount of &#8220;build-to-order&#8221; production and reducing &#8220;build-to-stock&#8221; production; tightening credit controls to reduce potential credit losses; and accelerating R&amp;D and product development to improve our product offerings ahead of an eventual market recovery. For our Global Energy business, we closely monitor market changes; intend to increase NTP and COD sales; renegotiate PPA execution dates; leverage our global footprint to ensure access to financing; start construction on critical projects to sell later; and accelerate storage projects that do not require ITC. We will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed to slow the spread of COVID-19.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We will also continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed to slow the spread of COVID-19. </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-We face risks related to natural disasters, health epidemics, such as COVID-19, and other catastrophes, which could significantly disrupt our operations.&#8221; for further discussion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Overview of Financial Results</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We evaluate our business using a variety of key financial measures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Net Revenues</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Revenues generated from our CSI Solar segment accounted for 79.1% and 78.7% of our net revenues in 2020 and 2021, respectively. Our revenues from our CSI Solar segment are affected primarily by average selling prices per watt and unit volumes shipped of modules, both of which depend on product supply and demand. Our revenues from sales to customers are recorded net of estimated returns.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Revenues generated from our Global Energy segment accounted for 20.9% and 21.3% of our net revenues in 2020 and 2021, respectively. Our revenues from our Global Energy segment are affected primarily by the timing of the completion and sale of solar and battery storage projects. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and Customers&#8212;Global Energy Segment&#8212; Battery Storage Project Development&#8221; for a description of the status of our Solar and battery storage projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Revenue recognition for our Global Energy segment is not necessarily linear in nature due to the timing of when all relevant revenue recognition criteria for the sale of our solar and battery storage projects have been met. During 2021, our Global Energy segment recognized $1,064.2 million of revenue from the sale of solar and battery storage projects. Our revenue recognition policies for the Solar and battery storage projects development are described in &#8220;&#8212;Critical Accounting Estimates&#8212;Revenue.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Cost of Revenues</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The cost of revenues of our CSI Solar segment consists primarily of the costs of:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">solar cells;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">silicon wafers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">high purity and solar grade silicon materials;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">materials used in solar cell production, such as metallic pastes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 modules such as glass, aluminum frames, ethylene vinyl acetate (&#8220;EVA&#8221;), an encapsulant used to seal the module, junction boxes and polymer back&#160;sheets; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">lithium iron phosphate battery cell;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">production labor, including salaries and benefits for manufacturing personnel;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">warranty costs;</span></td></tr></table></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">overhead, including utilities, production equipment maintenance, share-based compensation expenses for restricted share units and options granted to employees in our manufacturing department and other support expenses associated with the manufacture of our solar power&#160;products;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">depreciation and amortization of manufacturing equipment and facilities, which are increasing as we expand our manufacturing capabilities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">operation and maintenance costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">solar project EPC services; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">antidumping, countervailing and other duty costs and true-up charges.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2009, we typically sold our standard solar modules with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In 2009, we increased our guarantee for defects in materials and workmanship to six years. In 2011, we increased our guarantee for defects in materials and workmanship to ten years. In 2019, we increased our guarantee for defects in materials and workmanship up to twelve years and we warrant that, for a period of 25 years, our standard polycrystalline modules will maintain the following performance levels:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">from the second year to the 24th year, the actual annual power output decline of the module will be no more than 0.7%; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have provided warranty against decline in performance for our bifacial module and double glass module products for 30 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In resolving claims under the workmanship guarantee, we have the option of remedying the defect through repair, refurbishment or replacement of equipment. In resolving claims under the performance warranty, we have the right to repair or replace solar modules at our&#160;option.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe our warranty periods are consistent with industry practice. Due to the long warranty period, we bear the risk of extensive warranty claims long after we have shipped our products and recognized revenue. See &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We may be subject to unexpected warranty and product quality expenses that may not be adequately covered by our insurance policies.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We maintain warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. We currently take a 1% warranty provision against our revenue for sales of solar power&#160;products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into agreements with a group of insurance companies with high credit ratings to back up a portion of our warranties. Under the terms of the insurance policies, which are designed to match the terms of our solar module product warranty policy, the insurance companies are obliged to reimburse us, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that we incur under the terms of our solar module product warranty policy. We record the insurance premiums initially as prepaid expenses and amortize them over the respective policy period of one year. The warranty insurance is renewable annually. See &#8220;&#8212;Critical Accounting Estimates&#8212;Warranty Costs.&#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 2021, we booked the benefits of antidumping and countervailing duty provision reversals of $38.3 million, primarily associated with prior years&#8217; module sales based on the updated rates arising from the administrative reviews carried out by the U.S.&#160;Department of&#160;Commerce. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The cost of revenues of our Global Energy segment consists primarily of the costs of:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">acquiring solar and battery storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">acquiring and developing solar and battery storage project sites, including interconnection fees and permitting costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">interest capitalized for solar and battery storage projects during construction period;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">operating and maintaining solar power plants, including depreciation of solar power plants;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impairment of project assets.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar and battery storage projects built by us, we provide a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar project. In resolving claims under the workmanship or balance of system warranty, we have the option of remedying through repair, refurbishment or replacement of equipment. We have entered into similar workmanship warranties with our suppliers to back up our warranties. We maintain warranty reserves to cover potential liabilities that could arise under these guarantees and&#160;warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Before commissioning solar and battery storage projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements. In limited cases for solar projects, we also provide for an energy generation performance test designed to demonstrate that the actual energy generation for up to the first three years meets or exceeds the modeled energy expectation (after adjusting for actual solar irradiation). In the event that the energy generation performance test performs below expectations, the appropriate party (EPC&#160;contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract&#160;price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gross Profit/Gross Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our gross profit is affected by a number of factors, including the success of and contribution from both of our operating segments, the average selling price of our solar power products, our product mix, loss on firm purchase commitments under long-term supply agreements, our ability to cost-effectively manage our supply chain, the timing of completion of construction of our solar and battery storage projects, the timing and pricing of project sales and financing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Operating Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our operating expenses include selling and distribution expenses, general and administrative expenses, research development expenses and other operating income, net. Our operating expenses increased in 2020 and 2021. We expect our operating expenses to increase as our net revenues grow in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Selling and Distribution Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Selling and distribution expenses consist primarily of salaries and benefits, transportation and customs expenses for delivery of our products, 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 2020 and 2021. We expect that as we increase our sales volumes in the future, our selling and distribution expenses will increase as we incur more transportation costs, hire additional sales personnel, target more markets, launch more products, and initiate additional marketing programs to reach our goal of continuing to be a leading global brand.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">General and Administrative Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">General and administrative expenses consist primarily of salaries and benefits for our administrative and finance personnel, consulting and professional service fees, government and administration fees, insurance fees and impairment of long-lived assets. Our general and administrative expenses decreased in 2020 and increased in 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Research and Development Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Research and development expenses consist primarily of costs of raw materials used in our research and development activities, salaries and benefits for research and development personnel and prototype and equipment costs related to the design, development, testing and enhancement of our products and our silicon reclamation program. In 2020 and 2021, our research and development expenses accounted for 1.3%<span style="font-size:11pt;"> </span>and 1.1%, 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 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Operating Income, Net</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Other operating income, net, primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received, and insurance claims on weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Share-based Compensation Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under our share incentive plan, as of December&#160;31, 2021, we had outstanding:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">26,291&#160;stock options; 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">116,500&#160;restricted shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3,335,303 restricted share units.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For a description of the stock options, restricted share units and restricted shares granted, including the exercise prices and vesting periods, see &#8220;Item&#160;6. Directors, Senior Management and Employees&#8212;B. Compensation of Directors and Executive Officers&#8212;Share Incentive Plan.&#8221; We recognize share-based compensation to employees as expenses in our statement of operations based on the fair value of the equity awards on the date of the grant. The compensation expense is recognized over the period in which the recipient is required to provide services in exchange for the equity&#160;award.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have made an estimate of expected forfeitures and recognize compensation costs only for those equity awards that we expect to vest. We estimate our forfeitures based on past employee retention rates and our expectations of future retention rates. We prospectively revise our forfeiture rates based on actual history. Our share-based compensation expenses may change based on changes in actual forfeitures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For the year ended December 31, 2021, we recorded share-based compensation expenses of $8.8 million, compared to $12.4 million for the year ended December 31, 2020. 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 options and restricted share units.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth, for the periods indicated, the allocation of our share-based compensation expenses both in absolute amounts and as a percentage of total share-based compensation expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.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><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.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.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.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.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:6.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.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.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.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></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;</b></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:31.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;">Years&#160;Ended&#160;December&#160;31,</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></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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 colspan="3" style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="3" style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;</b></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:31.96%;margin:0pt;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.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></tr><tr><td style="vertical-align:bottom;width:64.33%;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.85%;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:6.37%;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.85%;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:6.37%;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;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.37%;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.85%;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:6.37%;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.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></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cost of revenues</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.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;"><span style="white-space:pre-wrap;"> 1,270</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.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;"><span style="white-space:pre-wrap;"> 10.3</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:6.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;"><span style="white-space:pre-wrap;"> 1,044</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.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;"><span style="white-space:pre-wrap;"> 11.9</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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;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: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.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;"><span style="white-space:pre-wrap;"> 1,961</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.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;"><span style="white-space:pre-wrap;"> 15.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"><span style="white-space:pre-wrap;"> 2,284</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.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;"><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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;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.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.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;"><span style="white-space:pre-wrap;"> 8,343</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.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;"><span style="white-space:pre-wrap;"> 67.5</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:6.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;"><span style="white-space:pre-wrap;"> 4,878</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.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;"><span style="white-space:pre-wrap;"> 55.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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;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: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.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 776</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.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.3</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:6.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 602</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.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.8</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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;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.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.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 12,350</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.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><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:6.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 8,808</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.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><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;">%</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We expect to incur additional share-based compensation expenses as we expand our&#160;operations and complete the STAR Listing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest Expense</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Interest expense consists primarily of interest incurred with respect to our short and long-term borrowings from banks and other lenders, and the convertible senior notes issued by us in September 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gain (Loss) on Change in Fair Value of Derivatives</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have entered into foreign currency derivatives to hedge part of the risks of our expected cash flows, mainly in Renminbi, Brazilian reals, Euros, Canadian dollars and South African rand, commodity hedge to manage part of risks of rising raw material costs, and interest rate swap to hedge the part of risks of floating interest rate. In 2020, we had a gain on the change in fair value of derivatives of $50.0 million, which included a $51.2 million gain on change in fair value of foreign currency derivatives and a $1.2 million loss in change in fair value of interest rate swap. In 2021, we had a gain on the change in fair value of derivatives of $23.8 million, which included a $22.8 million gain on change in fair value of foreign currency derivatives and a $1.0 million gain in change in fair value of commodity hedge. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income Tax Benefit (Expense)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We recognize deferred tax assets and liabilities for temporary differences between the financial statement and income tax bases of assets and liabilities. Valuation allowances are provided against deferred tax assets when management cannot conclude that it is more likely than not that some portion or all deferred tax assets will be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are governed by the BCBCA and are registered to carry on business in Ontario and British Columbia. This subjects us to Canadian federal, Ontario provincial and British Columbia provincial corporate income taxes. Our combined tax rate was 26.5% for each of the years ended 2020 and 2021.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">PRC enterprise income tax is calculated based on taxable income determined under PRC accounting principles with a uniform enterprise income tax rate of 25%. Certain of our PRC subsidiaries, such as CSI New Energy Holding and CSI Luoyang Manufacturing, once enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2021, only Suzhou Sanysolar Materials Technology Co., Ltd,<span style="text-decoration-line:line-through;text-decoration-style:solid;"> </span>Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd) and Changshu Tlian Co., Ltd enjoyed preferential enterprise income tax rates. &#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;">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. In prior years, we assumed all of the undistributed earnings of our PRC subsidiaries to be indefinitely reinvested in China, and, consequently, we have made no provision for withholding taxes for those amounts. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><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(ak) Recently issued accounting pronouncements in the notes to our consolidated financial statements, included herein. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">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:63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:5.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: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.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:5.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;</p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.97%;border-bottom:1px solid #000000;margin:0pt;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:63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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="4" style="vertical-align:bottom;white-space:nowrap;width:16.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="11" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:33.97%;margin:0pt;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:63%;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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;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.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,476,495</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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;"> 5,277,169</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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:63%;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,105,044</span></p></td><td style="vertical-align:bottom;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:5.18%;margin:0pt;padding:0pt;"><p style="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.3</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;"> 4,371,603</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 82.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Global Energy segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 726,167</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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,124,083</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (354,716)</span></p></td><td style="vertical-align:bottom;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:5.18%;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;"> (10.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;"><span style="white-space:pre-wrap;"> (218,517)</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4.1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,786,581</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 4,367,857</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 82.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,496,153</span></p></td><td style="vertical-align:bottom;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:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 71.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,689,126</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Global Energy segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 577,052</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 930,099</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (286,624)</span></p></td><td style="vertical-align:bottom;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:5.18%;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;"> (8.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;"><span style="white-space:pre-wrap;"> (251,368)</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4.8)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 689,914</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19.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;"> 909,312</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 608,891</span></p></td><td style="vertical-align:bottom;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:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17.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;"> 682,477</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Global Energy segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 149,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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 193,984</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (68,092)</span></p></td><td style="vertical-align:bottom;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:5.18%;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;"> (2.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;"> 32,851</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="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.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:63%;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.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;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.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.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:5.57%;background:#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:63%;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 224,243</span></p></td><td style="vertical-align:bottom;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:5.18%;margin:0pt;padding:0pt;"><p style="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.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;"> 398,650</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 225,597</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 308,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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 45,167</span></p></td><td style="vertical-align:bottom;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:5.18%;margin:0pt;padding:0pt;"><p style="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: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;"> 58,407</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (25,523)</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#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.7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (47,068)</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:63%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 469,484</span></p></td><td style="vertical-align:bottom;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:5.18%;margin:0pt;padding:0pt;"><p style="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.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;"> 718,931</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 220,430</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 190,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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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%;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%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.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:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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:63%;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.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (71,874)</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#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;"> (2.1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (58,153)</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#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:63%;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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 9,306</span></p></td><td style="vertical-align:bottom;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:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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;"> 11,051</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="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%;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Gain on change in fair value of derivatives, 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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 50,001</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,785</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign exchange loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (64,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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;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.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;"><span style="white-space:pre-wrap;"> (47,234)</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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%;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 (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (8,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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#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.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;"> 18,634</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other expenses, 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:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (85,946)</span></p></td><td style="vertical-align:bottom;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:5.18%;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;"> (2.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;"><span style="white-space:pre-wrap;"> (51,917)</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.0)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:63%;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 unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 134,484</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 138,464</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax benefit (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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;"> (35,844)</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equity in earnings of unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 10,779</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,256</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 147,246</span></p></td><td style="vertical-align:bottom;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:5.18%;margin:0pt;padding:0pt;"><p style="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.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;"> 109,876</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;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.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 543</span></p></td><td style="vertical-align:bottom;white-space: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:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 14,628</span></p></td><td style="vertical-align:bottom;white-space: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:5.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar&#160;Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 146,703</span></p></td><td style="vertical-align:bottom;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:5.18%;margin:0pt;padding:0pt;"><p style="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.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;"> 95,248</span></p></td><td style="vertical-align:bottom;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:5.57%;margin:0pt;padding:0pt;"><p style="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.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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Year Ended December&#160;31, 2021 Compared to Year Ended December&#160;31, 2020 </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Net Revenues. </i>Our total net revenues increased $1,800.7 million, or 51.8%, from $3,476.5 million in 2020 to $5,277.2 million in 2021. The increase was primarily due to higher solar module shipments recognized in revenue from 10.3 GW to 14.3 GW, an increase in the average selling price of our solar modules, an increase in revenue contribution in battery storage solutions and increased sale of solar and battery storage projects. Revenue contribution from Americas region increased from 35.1% in 2020 to 43.2% in 2021, Asia region decreased from 46.6% in 2020 to 40.5% in 2021, and Europe and others region decreased from 18.3% in 2020 to 16.3% in 2021.</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="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;"><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;">.</span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;"> </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Revenues increased by 40.8% from $3,105.0 million in 2020 to $4,371.6 million in 2021. Solar modules revenues was $2,703.4 million in 2020 and $3,546.8 million in 2021, increased by 31.2%, of which 22.1% was attributable to an increase in volume of shipments and 9.1% was attributable to an increase in the average selling price of our solar modules. Our solar system kits revenues increased by 91.6% from $157.7 million in 2020 to $302.1 million in 2021. Our battery storage solutions business revenues significantly increased 2,718.8% from $7.9 million in 2020 to $222.7 million in 2021. Our China Energy and EPC sales increased by 2.0% from $175.4 million in 2020 to $178.8 million in 2021. Our other revenues 99.7% increase from $60.7 million in 2020 to $121.2 million in 2021, primarily related to an increase in solar materials sale. </span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 36pt;">Our solar module shipments recognized in revenue for 2021 were 14.3 GW, an increase of 25.6% from 11.4 GW for 2020. Within these shipments, 0.9 GW and 1.1 GW represented sales to Global Energy segment in 2021 and 2020, respectively. The increase was primarily due to an increase in sales in our key geographical regions, particularly the Americas region where sales increased by 0.7 GW to 4.5 GW for 2021, from 3.8 GW for 2020, driven by higher shipments to U.S. and Brazilian customers. Shipments to Asian region increased by 1.6 GW to 6.6 GW for 2021, from 5.0 GW for 2020. Shipments to European and other regions increased by 0.6 GW.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 36pt;">The average selling price of our solar modules increased from $0.25 per watt in 2020 to $0.28 per watt in 2021. The increase was primarily due to<span style="font-size:11pt;"> </span>higher raw material and supply chain costs, coupled with an increase in global solar installations.</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="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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;"> </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Revenues increased by $397.9 million, or 54.8%, from $726.2 million in 2020 to $1,124.1 million in 2021. This increase was primarily due to an increase in sales of solar and battery storage projects.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 36pt;">The increase in revenues was primarily due to a $372.9 million increase in sales in the U.S., a $44.6 million increase in sales in Japan and a $44.0 million increase in sales in Australia, partially offset by a decrease of $72.9 million in sale in Canada.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Cost of Revenues. </i>Our total cost of revenues increased $1,581.3 million, or 56.7%, from $2,786.6 million in 2020 to $4,367.9 million in 2021. The increase was primarily due to higher solar module shipments and higher raw material and supply chain costs in our manufacturing operations, as well as an increase in cost of revenues related to solar and battery storage project sales. Total cost of revenues as a percentage of total net revenues increased from 80.2% in 2020 to 82.8% in 2021.</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="width:18pt;"></td><td style="font-family:'Times New 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;">.</span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;"> </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Cost of revenues increased by $1,192.9 million, or 47.8%, from $2,496.2 million in 2020 to $3,689.1 million in 2021. The increase was primarily due to increased solar module shipments and higher raw material and supply chain costs in our manufacturing operations. Our module manufacturing cost in China, including purchased polysilicon, wafers and cells, increased to $0.246 per watt in December 2021 from $0.219 per watt in December 2020.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">In 2021, our results of operations were impacted by the rising supply chain costs. We took actions to build higher buffer inventories to improve cost certainty for our manufacturing operations and in anticipation of the higher solar module shipments outlook. These inventories are held in our manufacturing facilities to cater to production forecast, and in transit to third-party logistical centers to facilitate shipment of solar modules to the ultimate sales destination. The inventory balances held by us represent the volumes we believe are necessary and sufficient to execute our growth strategies. We have funded our increase in working capital for inventories by $312.8 million, $181.0 million and $518.7 million in 2019, 2020 and 2021, respectively, primarily through cash flows generated from operations, but also with short-term borrowings, as needed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">We are tracking constraints and cost trends and have taken steps to mitigate the potential impacts by building buffers in our materials inventory as described above, and ensuring our suppliers have adequate access to materials level aligned to our forecasts. Additionally, we may enter into long-term supply agreements with silicon and wafer suppliers in order to secure a stable supply of raw materials to meet our production requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">We have not experienced significant shortage in our supply chain. However, any supply chain disruption for materials and essential components of our solar power products could significantly delay the shipment of our solar power products and have a material adverse effect on our revenues, profitability and financial condition. For further discussion, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Supply chain issues, including shortages of adequate raw materials, component and equipment supply, cancellation or delay of purchase orders, inflationary pressures and cost escalation could adversely affect our business, results of operations and relationship with customers, particularly given our dependence on a limited number of suppliers of key elements like silicon wafers and cells.&#8221;</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">For 2021, we recognized $38.3 million of reversal benefits from our provision for antidumping and countervailing duty, primarily associated with prior years&#8217; module sales based on the updated rates arising from the administrative reviews carried out by the USDOC.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">. </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Cost of revenues increased by $353.0 million, or 61.2%, from $577.1 million in 2020 to $930.1 million in 2021. The increase was primarily due to an increase in solar and battery storage project sales.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gross Profit.</i> &#160;Our total gross profit increased by $219.4 million, or 31.8%, from $689.9 million in 2020 to $909.3 million in 2021. Our total gross margin decreased from 19.8% in 2020 to 17.2% in 2021.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><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;">.</span><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;">Gross profit increased by $73.6 million, or 12.1%, from $608.9 million in 2020 to $682.5 million in 2021. Gross margin decreased from 19.6% in 2020 to 15.6% in 2021, primarily due to lower margin from solar module sale due to increased raw material and supply chain costs, and an increase in battery storage solutions sale which has a lower margin. These are partially offset by higher margin from an increase in solar module ASP as we passed through some of our increased costs to customers.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span><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;">Gross profit increased by $44.9 million, or 30.1% from $149.1 million in 2020 to $194.0 million in 2021. Gross margin decreased from 20.5% in 2020 to 17.3% in 2021, primarily due to increased sales of lower-margin solar and battery storage projects in the U.S. in 2021.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Operating Expenses.</i> &#160;Our operating expenses increased by $249.4 million, or 53.1%, from $469.5 million in 2020 to $718.9 million in 2021, primarily due to an increase in our selling and distribution expenses. Operating expenses as a percentage of our total net revenues increased from 13.5% in 2020 to 13.6% in 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Selling and Distribution Expenses.</i> &#160;The increase of $174.4 million, or 77.8%, was primarily due to an increase of $182.1 million in shipping and handling expenses which was contributed by the increase in module shipment volume and higher transportation costs from logistics challenges during the year, partially offset by a decrease of $4.7 million in legal and consulting expenses, and a decrease of $4.1 million in insurance costs. Selling and distribution expenses as a percentage of our net total revenues increased from 6.5% in 2020 to 7.6% in 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">General and Administrative Expenses. &#160;</i>The increase of $83.3 million, or 36.9%, was primarily due to an increase of $33.8 million in depreciation expenses due to the accelerated depreciation of a production facility in China, $20.1 million in personnel cost, $14.5 million in legal and consulting costs, $10.0 million in contingency related to project assets, $5.3 million in financing charges and $3.3 million in lease expenses, partially offset by a decrease of $3.0 million in long-lived asset impairment charges. General and administrative expenses as a percentage of our total net revenues decreased from 6.5% in 2020 to 5.9% in 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Research and Development Expenses. &#160;</i>The increase of $13.2 million, or 29.3%, was primarily due to increased research and development activities during 2021. Research and development expenses as a percentage of our total net revenues were 1.3% in 2020 and 1.1% in 2021.<i style="font-style:italic;"> </i>Refer to &#8220;C. Research and Development&#8221; for further details of our research and development activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Other Operating Income, Net. &#160;</i>Our other operating income, net, increased by $21.6 million, or 84.4% from $25.5 million in 2020 to $47.1 million in 2021. The increase was primarily due to an increase of $14.2 million in government grants, and a net gain on disposal of solar power system of $10.0 million.</p><a id="_Hlk98789587"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest Expense, Net.</i> &#160;Our interest expense, net, decreased $15.5 million, or 24.7%, in 2021. Interest expense decreased by $13.7 million, or 19.1%, in 2021 primarily due to repayment of debt with higher interest rates, partially offset by interest expense from higher debt balance. Our debt balance increased to $2,341 million as of December 31, 2021 compared to $2,070 million as of December 31, 2020. Interest income increased by $1.8 million, or 18.8%, from $9.3 million in 2020 to $11.1 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 6pt 0pt;"><i style="font-style:italic;">Gain on Change in Fair Value of Derivatives, Net.</i> &#160;We recorded a gain of $23.8 million on change in fair value of derivatives in 2021, compared to a gain of $50.0 million in 2020. The gain recorded in 2021 was due to a gain of $22.8 million on change in fair value of foreign currency derivatives and a gain of $1.0 million on change in fair value of commodity hedge. The gain recorded in 2020 was due to a gain of $51.2 million on change in fair value of foreign currency derivatives and a loss of $1.2 million on change in fair value of interest rate swap.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Foreign Exchange Loss.</i> &#160;We recorded a foreign exchange loss of $47.2 million in 2021, compared to a foreign exchange loss of $64.8 million in 2020. The loss in 2021 was primarily due to the appreciation of Renminbi and Euros against the U.S. dollars.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Investment Income. </i>We recorded investment income of $18.6 million in 2021, compared to investment loss of $8.6 million in 2020, primarily due to a gain in sale of investment in affiliates.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income Tax Benefit (Expense).</i> &#160;We recorded an income tax expense of $35.8 million in 2021, compared to an income tax benefit of $2.0 million in 2020. The income tax expense in 2021 was primarily due to effect of higher tax jurisdictions such as Brazil and Australia, changes in valuation allowance and net operating losses in the U.S., and the effect of certain non-deductible items during the year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Equity in Earnings of Unconsolidated Investees. &#160;</i>Our share of the earnings of unconsolidated investees was a net gain of $7.3 million and $10.8 million in 2021 and 2020, 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 Interest. &#160;</i>The net income attributable to non-controlling interest is the share of net income attributable to the interests of non-controlling shareholders in CSI Solar Co., Ltd and certain of our project companies in Mexico, Japan and Australia. </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;">Liquidity and Capital Resources</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, we had $869.8 million in cash and cash equivalents and $564.5 million in restricted cash. Additionally, we had total outstanding contractual credit facilities of $3,357.0 million, of which $1,249.6 million were undrawn and available. 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, capital expenditures, investment requirements, share repurchases, as well as debt service repayment obligations. &#160;We may also from time to time seek to refinance our outstanding debt or retire or purchase our outstanding debt through cash purchases and exchanges for securities, in the open market purchases, privately negotiated transactions or otherwise. From time to time, we may make acquisitions of, or investments in, other companies and businesses that we believe could expand our business, augment our market coverage, enhance our technical capabilities, or otherwise offer growth opportunities. Such additional financing, refinancing, repurchases, exchanges, acquisitions, or investments, if any, will depend on prevailing market conditions, our liquidity requirements, contractual restrictions, and other factors. The amounts involved may be significant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, we announced a RMB1.78 billion (approximately $261.3 million) capital raising 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. 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. Our future cash flows and working capital needs will depend on many factors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We intend to expand our annual solar cell, wafer and ingot production capacity to meet expected growth in demand for our solar modules and remain competitive. As we invest in these expansions and in the acceleration of our high efficiency cell and wafer technology roadmap, we expect our near-term capital expenditures to be intensive compared to historical levels. The prepayment for future supply of raw materials and other components will continue to increase cash outflows in the near term. We made $260.1 million of prepayments to certain suppliers as of December 31, 2021, which might increase in amount if we encounter supply chain constraints or raw material shortages. While we require some customers to make partial prepayments which helped alleviate working capital needs, our customer prepayments have decreased from $189.5 million to $135.5 million as of December 31, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our energy business requires significant investment in project assets, solar power systems and<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>investment in affiliates related to such assets. Furthermore, our focus on increasing our base of recurring revenue from retained assets and growing our pipeline of solar and battery storage projects is expected to require additional capital. The development time cycles of our solar and battery storage project development can vary substantially and take many years. As a result, we may need to make significant up front investments of resources before the collection of any cash from the sale or operation of these projects. These investments include payment of interconnection and other deposits, posting of letters of credit, and incurring engineering, permitting, legal and other expenses. We may have to use part of our existing bank facilities to finance the acquisition, development and construction of these solar and battery storage projects. We also rely on partners&#8217; capital if the projects are not wholly owned by us. Depending on the size and number of solar and battery storage projects that we are developing and self financing, our liquidity requirements could be significant. Delays in constructing or completing the sale of any of our solar and battery storage projects which we are self financing could also impact our liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cash Flows and Working Capital</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">As of February 28, 2022, we had contractual credit facilities of approximately $3,398.6 million, of which approximately $1,599.9 million has been drawn under borrowings and $529.6 million has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and approximately $1,269.1 million was available for draw down upon demand. In addition, as of February 28, 2022, we also had uncommitted credit facilities of approximately $996.6 million,</span><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span><span style="background:#ffffff;">of which approximately $377.2 million has been drawn under borrowings and $363.4 million has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable.</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">As of February 28, 2022, we had approximately $540.6 million of long-term borrowings, $331.7 million of long-term borrowings on project assets &#8211; current and $1,114.0 million of short-term borrowings. We enter into non-recourse financing that is designed to limit cross-default risk to us. Non-recourse debt used to finance solar projects was approximately $524.5 million as of February 28, 2022.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">The long-term borrowings will mature during the period from the first quarter of 2023 to the first quarter of 2034 and bear interest ranging from 1.00% to 7.80% per annum. The long-term borrowings on project assets &#8211; current, have maturity dates ranging from the first quarter of 2023 to the first quarter of 2039, which are reclassified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold in 2022. These borrowings bear interest ranging from 1.03% to 5.40% per annum. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">The short-term borrowings will mature during the period from the first quarter of 2022 to the fourth quarter of 2022 and bear interest ranging from 0.00% to 5.66% per annum. 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. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In 2016, we entered into a financing agreement with the Export Development Canada &#160;(&#8220;EDC&#8221;), pursuant to which EDC agreed to provide bank guarantees or letters of credit of up to $100.0 million to support our global project development. Royal Bank of Canada and Toronto Branch of China Construction Bank Corporation serve as fronting banks for the facility. In July 2018, we renewed the agreement with EDC and increased the facility amount to $125.0 million with a more focused support for project development activities in North America, Latin America, Europe, Asia and Australia. Since September 2019, Credit Agricole Corporate and Investment Bank (Canada Branch) has joined as one of the fronting banks. In July 2020, the guarantee was renewed with an extended facility amount totaling $150.0 million. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">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 facility is unsecured and is guaranteed by us. The loan proceeds may be used to develop our solar project pipeline in Japan and for general corporate working capital purposes. In October 2020, the facility agreement was renewed with 11 participating financial institutions led by SMBC at a term of two years and a facility amount of JPY9.1 billion ($88.2 million). In September 2021, we further expanded the facility to JPY10 billion ($89.9 million). &#160;This facility will mature in September 2024. As of February 28, 2022, the loan was fully drawn.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In 2017, we entered into a three-year credit agreement of JPY4.0 billion ($35.5 million) with Sumitomo Mitsui Finance and Leasing Company, Limited (&#8220;SMFL&#8221;), a member of Sumitomo Mitsui Financial Group. The facility received commitments from five finance leasing institutions. In April 2019, we renewed the agreement with a syndicate of four finance leasing institutions led by SMFL and expanded the facility to JPY5.4 billion ($48.0 million). In September 2019, we further expanded the facility to JPY6.9 billion ($63.0 million) and the facility will mature in March 2022. In September 2021, we further expanded the facility to JPY7.2 billion ($64.2 million). &#160;This facility will mature in September 2024. As of February 28, 2022, JPY2.1 billion ($17.9 million) was utilized for our solar projects in Japan. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In August 2019, we obtained a five-year syndicated credit facility of $188.0 million with the Siam Commercial Bank Public Company Limited (&#8220;SCB&#8221;), acting as the lead arranger and China Minsheng Banking Corporation Ltd, as one of the lenders. This facility is guaranteed by us. As of February 28, 2022, the facility was fully drawn to finance the construction of our solar cell and module manufacturing facilities in Thailand and the outstanding balance was $61.5 million. Under the same facility agreement, we obtained a working capital facility of THB3.5 billion ($106.7 million) from SCB to support the operations of our manufacturing company in Thailand and $99.0 million was drawn as of February 28, 2022. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In September and October 2019, Recurrent entered into two credit facilities with syndicated financial institutions led by Rabobank and Nomura Corporate Funding Americas, LLC. (&#8220;Nomura&#8221;), which agreed to provide financing of $123.7 million and $60.0 million, respectively. The proceeds from the credit facilities were available for purchasing solar modules and other eligible equipment that will allow solar energy systems to qualify for the U.S. Federal Investment Tax Credit by satisfying the 5% safe harbor method outlined in the U.S. Internal Revenue Service (IRS) guidance notice. In August 2021, the Nomura loan was fully repaid. &#160;The outstanding balance as of February 28, 2022 was $61.7 million and requires repayment by September 2024. The outstanding credit facility is secured by the solar modules and project assets, and is guaranteed by us. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In March 2020, we secured a bilateral revolving facility of &#8364;55.0 million ($61.7 million) with Intesa Sanpaolo to fund a 151 MWp portfolio of 12 solar projects in Italy, located across different municipalities in Sicily, Apulia and Lazio.</span><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> A</span><span style="background:#ffffff;">s of February 28, 2022, no amounts were drawn on this facility.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In August 2020, Recurrent executed a $75.0 million development loan with Nomura. The loan facility leverages Recurrent&#8217;s strong existing pipeline to fund and is intended to accelerate our development activities of solar energy projects and battery storage projects in the U.S. and Canada and is guaranteed by us. In November 2021, the facility was renewed with an extended amount totaling $ 125.0 million that matures in November 2023. The outstanding credit facility is secured by the project assets and is guaranteed by us. As of February 28, 2022, the loan was fully drawn. </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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In September 2020, we completed an offering of $230.0 million in aggregate principal amount of 2.50% convertible senior notes, or the Notes. We received net proceeds of approximately $223.0 million from the offering, after deducting discounts, commissions and offering expenses. The Notes will mature on October 1, 2025.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In September 2020, we obtained a syndicated five-year non-recourse facility of AUD 289.4 million ($206.0 million) with Australia and New Zealand Banking Group Limited, or ANZ, acting as the facility agent and three other financial institutions, to finance the construction of the Suntop and Gunnedah solar projects in Australia. The facility is secured by project assets and will mature in 2025. As of February 28, 2022, the outstanding balance is $183.4 million.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In 2020, we established Japan Green Infrastructure Fund LP (&#8220;JGIF&#8221;), partnering with a business unit of Macquarie Group as a minority investor of JGIF to secure JPY22 billion ($213.2 million) of committed capital that will be used to develop, build and accumulate new solar projects in Japan. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In February 2021, we obtained a syndicated project finance loan facility of JPY24.5 billion with Nomura Capital Investment Co., Ltd. acting as lead arranger and 5 other participating financial institutions (Societe Generale, The Shizuoka Bank, Shinhan Bank, ING Bank and OCBC). The facility is for constructing our 100MWp Azuma Kofuji project in Japan. The project finance loan is secured by project assets and will mature in November 2023. As of February 28, 2022, the outstanding balance was $105.6 million.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In March 2021, we issued JPY8.1 billion ($73.2 million) of non-recourse green project bonds to construct 42.8 MW of projects in Japan. The project bonds are secured by project assets and will mature in 2039. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In March 2021, we secured a $70.0 million credit facility with HSBC to support our operations in China. The credit facility is guaranteed by CSI Solar Co., Ltd and will mature in March 2022. As of February 28, 2022, $18.6 million was drawn.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In April 2021, we established &#8220;CSFS Fund I&#8221;, a closed ended alternative investment fund of a similar nature to CSIF, in Italy. We intend to contribute new projects in 2022 and market to third party investors.</span></p><a id="_Hlk101769814"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In April 2021, we entered into two credit facilities in the aggregate of RMB1,150.0 million ($177.8 million) with Bank of China. CSI Solar Co., Ltd. is the borrower or guarantor of these credit facilities. As of February 28, 2022, $49.3 million was drawn, and $26.6 million letter of guarantee was issued to support our manufacturing operations in China. &#160;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In May 2021, we secured a &#8364;50.0 million ($61.1 million) credit facility with Banco Santander, S.A. (&#8220;Santander&#8221;). The facility will support the project development in the EMEA region and is guaranteed by us. As of February 28, 2022, the outstanding balance was $35.2 million.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In July 2021, we closed a BRL500.0 million ($95.9 million) financing facility with BTG Pactual and Ita&#250; BBA to support the equity contribution for the development and construction of our solar projects in Brazil. The facility is guaranteed by us. As of February 28, 2022, the outstanding balance was $23.3 million.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In August 2021, we signed a RMB600.0 million ($92.8 million) credit facility with China Merchants Bank. The credit facility is unsecured and is guaranteed by CSI Solar Co., Ltd. As of February 28, 2022, $60.7 million was drawn.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In November 2021, we entered into a RMB580.0 million ($90.9 million) long term loan facility with Shanghai Pudong Development Bank. The loan facility is secured by certain property, plant and equipment, is guaranteed by CSI Solar Co., Ltd and matures in November 2028. As of February 28, 2022, the outstanding balance was $16.4 million. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">In November 2021, our indirectly wholly-owned subsidiary, Canadian Solar EMEA Capital Markets, S.A.U., registered in Spain a &#8364;100.0 million ($113.4 million) medium term note program in the Spanish multilateral trading facility (&#8220;MTF&#8221;) for debt securities (&#8220;MARF&#8221;). Any payment under the notes issued under the note program will be guaranteed by us. In December 2021, Canadian Solar EMEA Capital Markets, S.A.U. completed a &#8364;30.0 million ($34.1 million) green bond issuance due on December 2026 under the Euro MTF Program. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">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 $189.5 million and $135.5 million as of December 31, 2020 and 2021, 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, or other risk mitigation channels such as local credit insurance or factoring.</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">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:76.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: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:9.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.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:9.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:76.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:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:21.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;">As&#160;of&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.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:2.41%;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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></tr><tr style="height:0pt;visibility:hidden;"><td colspan="5" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:76.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:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:21.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;">(in&#160;thousands&#160;of&#160;$)</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash used in operating activities</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:9.51%;background:#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;"> (120,541)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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="white-space:pre-wrap;"> (408,254)</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.14%;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.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:9.51%;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;"> (319,662)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (429,570)</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.14%;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.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:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 823,501</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 614,071</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 434,295</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (205,433)</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.14%;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.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:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,205,420</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,639,715</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.14%;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.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:9.51%;margin:0pt;padding:0pt;"><p style="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,639,715</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">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 6pt 0pt;">Net cash used in operating activities was $408.3 million in 2021, primarily due to increased working capital used in inventories as a result of higher raw material and supply chain costs, and increased working capital used in accounts receivable trade<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>as we increased our revenue. These were partially offset by an increase in short-term notes payable and other liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 6pt 0pt;">Net cash used in operating activities was $120.5 million in 2020, primarily due to an increase of inventories which includes safe-harbor inventories increase in the U.S., and an increase in advances to suppliers due to expansion in manufacturing capacity. These were partially offset by an increase in other liabilities, an increase in notes payable, and a decrease in accounts receivable trade due to timing of collection.</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 continue to maintain safe harbor inventories of $181.0 million and $163.1 million as of December 31, 2020 and 2021, respectively, that allow solar energy systems to qualify for the U.S. Federal Investment Tax Credit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Investing Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Net cash used in investing activities was $429.6 million in 2021, primarily due to payment of $410.2 million for purchase of property, plant and equipment and intangible assets, net of disposal, and investment in affiliates of $54.0 million, partially offset by $18.4 million proceeds from disposal of solar power 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;">Net cash used in investing activities was $319.7 million in 2020, primarily due to payments of $334.8 million for purchase of property, plant and equipment, and $17.8 million of investment in affiliates, partially offset by a $33.0 million of proceeds from disposal of investment in affiliates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Financing Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Net cash provided by financing activities was $614.1 million in 2021, primarily due to net increase of $450.3 million in borrowings and net proceeds from issuance of common shares of $148.5 million in connection with our at-the-market equity offering 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;">Net cash provided by financing activities was $823.5 million in 2020, primarily due to $313.7 million net increase in borrowings, $261.3 million of proceeds from issuance of and disposal to non-controlling interests, $222.8 million of proceeds from issuance of convertible notes, as well as subscription advances of $36.3 million relating to CSI Solar&#8217;s employee stock ownership plan (for additional information of the plan, see Note 1 to our consolidated financial statements, included herein).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Material cash requirements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our material cash requirements as of December 31, 2021 and any subsequent interim period primarily include our long-term and short-term borrowings obligations, purchase obligations, convertible notes obligation, operating and finance lease obligations, financing liability obligations, and interest obligations related to our borrowings, convertible notes and financing liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our purchase obligations arise in the normal course of business, consisting of binding purchase orders for inventories and capital expenditures. As of December 31, 2021, our commitments for the purchase of inventories were $13.5 million, of which $8.7 million were expected to be paid in 2022. We made capital expenditures of $334.8 million and $428.7 million in 2020 and 2021, respectively. Our capital expenditures were primarily to maintain and increase our ingot, wafer, cell and module manufacturing capacity. As of December 31, 2021, our commitments for the purchase of property, plant and equipment were $167.9 million, of which $67.4 million was expected to be paid 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, we had $523.6 million of long-term borrowings and $1,592.9 million of short-term borrowings outstanding. Principal payments required on long-term borrowings outstanding as of December 31, 2021 are $336.5 million in 2023, $160.0 million in 2024, $6.8 million in 2025, $4.8 million in 2026 and $15.5 million in 2027 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 required on long-term borrowing outstanding at December 31, 2021 are $18.1 million in 2022, $14.9 million in 2023, $3.1 million in 2024, $0.8 million in 2025, $0.4 million in 2026 and $0.7 million in 2027 and thereafter. Interest payments required on short-term debt outstanding at December 31, 2021 are $25.3 million.<span style="font-size:11pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, 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. Interest payments required on convertible notes as of December 31, 2021 are $5.8 million in each of 2022, 2023 and 2024, and $5.5 million in 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, we had financing liability of $83.8 million, of which $30.2 million was expected to be repaid in 2022,<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>$12.5 million in 2023 and $41.1 million in 2024. As of December 31, 2021, we had $40.5 million of operating lease liabilities, of which $12.8 million was expected to mature in 2022. As of December 31, 2021, we had $53.7 million of finance lease liabilities, of which $20.4 million was expected to mature in 2022. Our financing liabilities are expected to result in interest obligation of $12.2 million as of December 31, 2021, of which $5.1 million was expected to be paid in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 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, 2021 were $274.8 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Changes in the timing of increases in, or delays in the regulatory determinations, of tariffs, taxes and duties could affect the cash flows and results of operations of our businesses. We have been in the past, and may be in the future, subject to antidumping and countervailing duty rulings and orders. In particular, we have been subject to antidumping and countervailing duty rulings in the U.S., the EU and Canada and have, as a result, been party to lengthy proceedings related thereto. See &#8220;Item&#160;8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings.&#8221; for further information.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have contingent contractual obligations in the ordinary course of developing solar and battery storage projects. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We have substantial indebtedness and may incur substantial additional indebtedness 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 beyond 2021, 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, including annual output of 10 GW pull rod manufacturing, annual output of 10 GW silicon wafer manufacturing, annual output of 4 GW high-efficiency photovoltaic cell manufacturing and annual output of 10 GW high-efficiency photovoltaic cell module manufacturing. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Even if the STAR Listing is completed, we may not achieve the results contemplated by our business strategy (including with respect to use of proceeds from that offering). In addition, it is difficult to predict the effect of the proposed STAR Listing on our common shares.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Net Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our PRC subsidiaries are required under PRC laws and regulations to make appropriations from net income as determined under accounting principles generally accepted in the PRC, or PRC GAAP, to non-distributable reserves, which include a general reserve, staff welfare and bonus reserve. The general reserve is required to be made at not less than 10% of the profit after tax as determined under PRC GAAP. The boards of directors of our PRC subsidiaries determine the staff welfare and bonus reserves. The general reserves are used to offset future extraordinary losses. Our PRC subsidiaries may, upon a resolution of their boards of directors, convert their general reserves into capital. The staff welfare and bonus reserves are used for the collective welfare of the employees of the PRC subsidiaries. In addition to their general reserves, our PRC subsidiaries are required to obtain approval from the local government authorities prior to decreasing and distributing any registered share capital to their shareholders. Accordingly, both the appropriations to general reserve and the registered share capital of our PRC subsidiaries are considered as restricted net assets. These restricted net assets amounted to $568.9 million and $602.5 million as of December 31, 2020 and 2021, respectively.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our operations in China are subject to certain restrictions on the transfer and use of cash within our company. Transfers of cash between our PRC subsidiaries and the Canadian parent company are restricted to normal trade business payments and any further capital contribution from the Canadian parent company may only be made under China&#8217;s existing foreign currency regulations. Foreign exchange transactions by our PRC subsidiaries under most capital accounts continue to be subject to significant foreign exchange controls and require the approval of or registration with PRC governmental authorities. In particular, if we finance our PRC subsidiaries by means of additional capital contributions, certain government authorities, including the Ministry of Commerce or its local counterparts, must approve these capital contributions. These limitations could affect the ability of our Chinese subsidiaries to obtain foreign exchange through equity financing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2021, all of the undistributed earnings of approximately $604.8 million attributable to our PRC subsidiaries are considered to be indefinitely reinvested so that no provision of withholding taxes has been provided in our consolidated financial statements. Our PRC subsidiaries are required to make appropriations of at least 10% of net income, as determined under PRC GAAP, to a non-distributable general reserve. After making this appropriation, the balance of the undistributed earnings is distributable. Should our PRC subsidiaries subsequently distribute their distributable earnings, they are subject to applicable withholding taxes to the PRC State Administration of Tax.</p><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;">Research and Development</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 6pt 0pt;">We conduct research and development activities in the following areas: i) ingot growth and wafering, ii) cells, iii) modules, iv) system performance analysis, v) energy solution products, vi) reliability testing and analysis and vii) battery storage products.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Ingot growth and wafering is focused on developing advanced crystallization and sawing technologies to produce high quality mono wafers.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Solar cell research is focused on developing new high efficiency solar cells and advanced solar cell processing technologies.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">System performance analysis provides system-level performance evaluation and LCOE 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:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Research and development on energy solution products is aimed at developing high quality inverters and battery storage systems for utility, commercial and residential applications.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Changshu Photovoltaic Testing Laboratory (&#8220;CPTL&#8221;) located in Changshu, China is a fully ISO17025 accredited testing facilities for conducting certification per IEC61215/61730/62804 standards as well as extensive reliability research on PV modules and components. Since 2010, the laboratory is approved by VDE and CSA certification bodies under their data approval programs. The laboratory is engaged in research collaboration with leading research institutes to accelerate market penetration of incremental and rupture PV technologies, by allowing state-of-the-art reliability evaluation and performance characterization. The team focuses on enabling products with longer service lifetime and lower degradation rates, through the use of data science and extensive characterization platforms.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, we had 156 employees engaged in research, product development and engineering.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our research and development activities are generally focused on the following items: </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing Czochralski (&#8220;CZ&#8221;) mono pulling technologies compatible to 182 mm and 210 mm ingot size with competitive cost structure;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">continuously improving the conversion efficiency of existing solar cells and reducing cost through process and material improvement and innovation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing new cell structures and technologies for higher efficiencies and performance;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">continuously improving the wattage of existing solar modules and reducing cost through process and material improvement and innovation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing new modules with improved design and assembly methods to have higher power output, module-level efficiency, reliability and system-level performance;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">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:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">designing and developing battery storage systems;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing data-based accurate reliability models to guide future materials and design innovations and commercialize long lifetime and long degradation solar modules;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">establishing highly accelerated reliability testing and innovative characterization methods to fasten large scale commercialization of our product innovations.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the future, we expect to focus on the following research and development initiatives that we believe will enhance our competitiveness. As we continue to move into the downstream energy business, we have strengthened the capabilities of our engineering staff and increased investment in the system areas. </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Ingot and wafer</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. We have developed CZ pulling technologies compatible with 182 mm and 210 mm ingot growth and related diamond wire sawing process for thin wafers. We have developed not only P-type mono wafers for PERC cells, but also N-type wafer for our HJT cell production. R&amp;D activities in this area are focused on continuously improving the cost and quality performance of the mono wafers. We plan to reduce the thickness of P-type wafers from about 180 um to 160 um and N-type HJT wafers from about 150 um to 130 um. Additional R&amp;D activities focus on consuming less energy and materials in the CZ pulling and diamond wire sawing, for instance, increasing the pulling speed, improving the success rate of seeding and neck growth in the CZ pulling, and reducing the diamond wire diameter while improving the A rate of diamond wire sawing. To support the new cell development, we also plan to develop N-type wafers for TOPCon cells in the future.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">High efficiency cells</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. For current cell capacity, we are converting to large-size wafers. Most of our mono PERC cells are based on 182 mm and 210 mm large size wafers. Our research and development efforts for existing products focus on improving the conversion efficiency of cells and reducing the cost to be most competitive in the industry. We have focused our research and development initiatives for new products on N-type HJT cell, TOPCon cell, and other technologies such as interdigitated back contact (&#8220;IBC&#8221;) cell. To explore the next generation technology beyond PERC, we invested on HJT technology and built a pilot line in Jiaxing, China. The development of HJT cell technologies started from March 2021 and we have achieved industry-leading HJT cell efficiencies and yield. &#160;We plan to launch HJT module products in mid 2022. In addition, we began the construction of the TOPCon pilot line from Oct 2021. The TOPCon related product is anticipated to launch in late 2022. With these advanced technologies, we can significantly lower the LCOE on the system level and improve our products&#8217; market competitiveness.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Competitive solar module products</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Our R&amp;D teams including the module R&amp;D, processing, testing and reliability, makes our products the most competitive in the market. We were the first to develop and mass-produce multi bus-bar (9BB) half-cut (Ku) modules in GW-scale. We were among the first to mass-produce bifacial modules with significant reduction in LCOE. We also pioneered the introduction and volume production of cells and modules using 166 mm, 182 mm and 210 mm wafers. We mass-produced HiKu6 modules using 182 mm cells at the beginning of 2021 and HiKu7 modules using 210 mm cells in the first half of 2021, with wattage exceeding 655W, and the module efficiency exceeding 21%. Most of our existing production lines have been converted to be compatible with MBB half-cut, bifacial and 182 mm and 210 mm cells. 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 improved from 0.7%/year to 0.45%/year for our reliability leading BiHiKu7 modules. Continuously improving our existing modules&#8217; wattage, reliability, system-level performance and reducing costs are the main R&amp;D activities at module level. For new products, we plan to launch HJT and TOPCon cell based modules in 2022 and develop technologies to facilitate new module types such as IBC modules. Last but not least, we were developing special modules per customers&#8217; requests. In 2021, we launched lightweight modules for loading-limited roofs. In the future, we will develop modules for seawater floating systems, over 40 years&#8217; long lifetime modules for utility applications, and Innovative modules and installation methods for building integrated applications.</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Energy solution products</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Our energy solution products developed are mainly single-phase solar, three-phase solar and hybrid storage inverters, as well as battery storage systems for utility, commercial, residential applications, for both front and behind the meter applications. Our string inverter products will be certified and will be available broadly in many regions globally. We continue to advance our solar system kits which are &#8216;ready-to-install&#8217;, consisting of solar modules, inverters, racking system, battery storage and other accessories. These kits are deployed in significant markets globally.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Battery storage products</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Our R&amp;D on battery storage products includes energy storage battery pack and system products development, and testing center construction. The design of the energy storage pack and system started in May 2021 and the prototype products have been completed in December 2021. SolBank system is the first battery storage product of CSI, adopting advanced technologies of high energy density (201kWh/m</span><sup style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;font-style:normal;font-weight:normal;line-height:100%;top:0pt;vertical-align:top;">2</sup><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">), liquid cooling, active balancing BMS and fire safety measures using a 20-foot container as enclosure. By the end of 2021, the SolBank product has passed UL9540A, UL1973, UL9540 and UN38.3 certifications. Our energy storage testing center has begun operation in August 2021, with battery cell, pack and system testing capabilities. Our packing and system assembly production line operation is expected to start in 2022.</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="font-family:'Times New Roman','Times','serif';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','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Trend Information</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Other than as disclosed elsewhere in this annual report on Form&#160;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><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;">E</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;">Critical Accounting Estimates</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="font-size:6pt;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;">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;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-align:justify;text-indent:18pt;margin:0pt;">Critical accounting estimates are those that reflect significant judgments or uncertainties, and which could potentially result in materially different results under different assumptions and conditions. We have described below what we believe are our most critical accounting estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="font-size:6pt;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;">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;"><span style="font-size:6pt;font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">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 projects at a point in time when customers obtain control of solar power projects. Our solar power projects are often held in separate legal entities which are formed for the special purpose of constructing the solar power projects, which we refer to as &#8220;project companies&#8221;. There is judgment used to determine whether deconsolidation of the project companies is appropriate upon transfer of equity interest to customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Warranties</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We provide warranties on the solar products and balance of systems we sell against defects in materials, workmanship and performance degradation, which vary depending on the type of products. Due to limited warranty claims to date, we establish our estimates for warranties based on an assessment of our competitors&#8217; and our own actual claim history, industry-standard accelerated testing, estimates of failure rates from our quality review, and other assumptions that we believe to be reasonable under the circumstances. We currently record a 1% warranty provision against the revenue for sales of solar power products. Experience has shown that our initial warranty claims data for any given period may be inherently unpredictable; therefore, we assess our warranty reserves on a regular basis using our assessment estimation and actual claims experience. To the extent that accrual for warranty costs differs from the estimates, we will prospectively revise its accrual rate. We made upward adjustments to our accrued warranty costs of $2.6 million and other non-current assets of $2.2 million during 2021, to reflect the recent increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Changes in our assumptions and claims experience could materially affect 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income Taxes</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are subject to the income tax laws and regulations of the many jurisdictions in which we operate. These tax laws and regulations are complex and involve uncertainty and judgment on how to interpret and apply tax laws and regulations in determining the provision for income taxes for financial reporting purposes. In addition, the various jurisdictions may enact tax legislation that could significantly affect our ongoing operations. For example, tax authorities could impose rate changes along with additional corporate tax provisions that would disallow or tax perceived base erosion or profit shifting. We make these estimates and judgments primarily in the calculation of tax credits and the differences in the timing of recognition of revenue and expense for tax reporting and financial statement purposes, and the calculation of interest and penalties related to uncertain tax positions. Changes in these estimates and judgments may result in a material increase or decrease to our tax provision, which would be recorded in the period in which the change occurs. We must also assess the likelihood that we will be able to recover our deferred tax assets against future sources of taxable income and reduce the carrying amount of deferred tax assets by recording a valuation allowance if, based on all available evidence, it is more likely than not that all or a portion of such assets will not be realized. However, the ultimate realization of our deferred tax assets is subject to a number of variables, including our future profitability within relevant tax jurisdictions. Accordingly, our valuation allowances may increase or decrease in future periods. As of December 31, 2020 and 2021, we believe valuation allowance of $50.1 million and $45.7 million, respectively, are 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 and tax planning in future periods. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">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;">We assess our project assets and solar power systems for impairment whenever events or changes in circumstances arise that may 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. &#160;We recognize impairment based upon project or investment specific factors, history of losses and current economic conditions. During 2020 and 2021, we recorded impairment loss of $0.4 million and $17.2 million, respectively, on our project assets. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_a4d91536_9aeb_41b9_8fc9_c97cf0c0ee3e"></a><a id="ITEM6DIRECTORSSENIORMANAGEMENTANDEMPLOYE"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;6&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">DIRECTORS, SENIOR MANAGEMENT AND EMPLOYEES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Directors and Senior Management</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth information regarding our directors, strategic advisor 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="font-size:6pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width: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;">58</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;">63</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;">64</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;">62</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;">46</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;">67</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;">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;">Karl E. Olsoni</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;">64</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;">Yan Zhuang</p></td><td style="vertical-align:bottom;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: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;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 President of CSI Solar</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;">Huifeng Chang</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;">56</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;">Director and Chief Financial 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;">Jianyi Zhang</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;">Senior Vice President, General Counsel and Chief Compliance Officer</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dr.&#160;Shawn (Xiaohua) Qu</i> has served as our chairman, president and chief executive officer since founding our company in October&#160;2001. Through his leadership, we became a public listed company on the Nasdaq in 2006 and have since firmly established ourselves among the top ranked manufacturers of solar PV products globally. Dr. Qu has also served as chairman of the board of CSI Solar since July 2009. Prior to founding Canadian Solar, Dr.&#160;Shawn Qu held various positions in product engineering, business development and strategic planning at ATS Automation Tooling Systems,&#160;Inc., or ATS, and its solar subsidiary Photowatt International&#160;S.A. Prior to ATS, Dr.&#160;Shawn Qu was a research scientist at Ontario Power Generation where he worked as a process leader in its solar product commercialization team. In 2011, Dr.&#160;Shawn Qu became a visiting professor at Tsinghua University, one of the most prestigious universities in China. Dr.&#160;Shawn Qu has published research articles in academic journals including IEEE Quantum Electronics, Applied Physics Letter and Physical Review. He received a Ph.D. in material sciences in 1995 from the University of Toronto, focusing on semiconductor super lattice and optical effects. He also holds a Master of Science in physics from University of Manitoba and a Bachelor of Science in applied physics from Tsinghua University in&#160;Beijing.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">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 6pt 0pt;"><i style="font-style:italic;">Mr.&#160;Andrew (Luen Cheung) Wong</i> has served as an independent director of our company since August 2014. He has also served as a director of Chubb Life Insurance Company Ltd. since 2008, and is an independent director and the vice-chairman of Huazhong In-vehicle Holdings Company Limited, which is listed in Hong Kong Stock Exchange. Previously, Mr. Wong served as a director and a member of the audit committee, nomination and remuneration committee of China CITIC Bank Corporation Limited, a company listed on The Stock Exchange of Hong Kong, between 2013 and 2018. Mr. Wong was the director of Intime Retail (Group) Co. Ltd., a company listed on The Stock Exchange of Hong Kong, between 2013 and 2014, and was the director and a member of audit committee, risk management committee, nomination and remuneration committee of China Minsheng Bank, a company listed on The Stock Exchange of Hong Kong, from 2006 to 2012. From 1982 to 2006, Mr. Wong held senior positions at the Royal Bank of Canada, the Union Bank of Switzerland, Citicorp International Limited, a merchant banking arm of Citibank, Hang Seng Bank Limited and DBS Bank Limited, Hong Kong. Mr. Wong was awarded the National Excellent Independent Director by the Shanghai Stock Exchange in 2010 and received the Medal of Honour (Hong Kong SAR) from the Hong Kong SAR Government in 2011. Mr. Wong obtained his Bachelor of Social Sciences (Honours) degree from the University of Hong Kong in 1980 and a Master of Philosophy degree from Hong Kong Buddhist College in 1982.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Lap Tat Arthur Wong </i>has served as an independent director of our company since March 2019. Mr. Wong currently serves as an independent director and chair of the audit committee of the following companies: Daqo New Energy Corp. (NYSE: DQ); Microvast Holdings, Inc. (NASDAQ: MVST); and China Maple Leaf Educational Systems Limited (HKSE: 1317). 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 fellow of the Hong Kong Institute of Certified Public Accountants; a fellow of the Association of Chartered Certified Accountants; and a member of the American Institute of Certified Public Accountants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Ms. Lauren C. Templeton</i> has served as an independent director of our company since January 2020. Ms. Templeton is the founder and President of Templeton &amp; Phillips Capital Management, LLC, a global investing boutique located in Chattanooga, Tennessee. She is also an independent director and member of the audit committee of Fairfax Financial Holdings Limited, a financial holding company engaged in property and casualty insurance and reinsurance and associated investment management, and its publicly-traded subsidiary, Fairfax India Holdings Corporation. Ms. Templeton serves on a number of non-profit organizations, including serving as Chairperson of the Board of Trustees of the John Templeton Foundation. She is a member of the Templeton World Charities Foundation and the Templeton Religion Trust. She also serves on the Board of Overseers at the Atlas Economic Research Foundation. Ms. Templeton is the former President of the Southeastern Hedge Fund Association, based in Atlanta, Georgia. She is also the co-author of &#8220;Investing the Templeton Way: The Market Beating Strategies of Value Investing&#8217;s Legendary Bargain Hunter&#8221;, which has been translated into nine languages. Ms. Templeton holds a Bachelor of Arts Degree in Economics from the University of the South, Sewanee.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Leslie Li Hsien Chang</i> has been serving as an independent director of our company since September 2020, and has been serving as a director of CSI Solar since December 2020. Mr. Chang is currently an independent nonexecutive director 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 listed companies in Hong Kong. He joined CITIC Pacific limited as General Manager, Finance in 1994 and later became the Executive Director and Deputy Managing Director of the company responsible for the Group&#8217;s financial management, accounting, and treasury functions. Mr. Chang also served as the Executive Director and Chief Executive Officer of HKC (Holdings) Limited; Executive Director and Vice Chairman of China Renewable Energy Investment Limited; Alternate Director on the board of Cathay Pacific Airways Limited and Independent Non-Executive Director of Pou Sheng International (Holdings) Limited, among other roles. Mr. Chang started his career after graduating from George Mason University business school in 1984 and joined the New York Office of KPMG. He became a partner of the firm specializing in the financial services industry and served as the Director of the Chinese Practice. Mr. Chang served as a certified public accountant in the State of New York and member of the American Institute of Certified Public Accountants, Chartered Global Management Accountants, and the Hong Kong Institute of Certified Public Accountants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Karl E. Olsoni</i> has been serving as an independent director of our company since June 2020 and was a strategic advisor to the Board of Directors between January 2020 and June 2020. Mr. Olsoni has more than 30 years of international energy sector experience. He is currently an Operating Partner with Quinbrook Infrastructure Partners, an infrastructure fund manager investing in clean energy infrastructure in the United States, the United Kingdom and Australia. He is also a Partner with the kRoad group of companies which invest in battery storage, waste transformation and e-mobility. He previously served as Managing Director of the Clean Energy and Infrastructure team at Capital Dynamics where he and his partners raised and invested approximately $1 billion in clean energy infrastructure projects. Mr. Olsoni was formerly Chief Financial Officer and Senior Vice President of PPM Energy Inc. (now Iberdrola Renewables/Avangrid), a US-based energy company, and Chief Financial Officer of Koch Materials, Inc., a unit of the Koch Industries, Inc. Before that, he spent 16 years with the Southern Company where, among other things, he was part of the original management team that built the Southern Company&#8217;s independent power and merchant energy business (Southern Energy, Inc., later Mirant, Inc. and NRG Energy, Inc.) into one of the largest independent power producers in the world. Mr. Olsoni holds a Bachelor of Arts degree in Economics from George Washington University and an MBA from the College of William and Mary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Yan Zhuang </i>has been serving as a director of our company since September 2020. He is also the President of CSI Solar, and has been serving as a director of CSI Solar since September 2020. He has served various leadership roles, most recently as our president and chief operating officer, and previously as acting chief executive officer, senior vice president and chief commercial officer, senior vice president of global sales and marketing, and prior to that as our vice president of global sales and marketing. He was an independent director of our company from September 2007 to June 2009. Mr. Zhuang has worked in corporate branding, sales and marketing positions with, or provided consulting services to, a variety of multinational companies for over 20 years. In 2008, he founded and became a director of INS Research and Consulting. Mr. Zhuang was the head of Asia for Hands-on Mobile, Inc., a global media and entertainment company with operations in China, South Korea and India, from 2006 to 2007. He previously served as its senior vice president of business operations and marketing in Asia. Before joining Hands-on Mobile, Inc., he held various marketing and business operation positions with Motorola Inc., including as its Asia Pacific regional director of marketing planning and consumer insight. Mr. Zhuang holds a bachelor&#8217;s degree in electrical engineering from Northern Jiaotong University, China, a Master of Science degree in applied statistics from the University of Alberta, Canada and a Master of Science degree in marketing management from the University of Guelph, Canada.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dr.&#160;Huifeng Chang</i> has served as our senior vice president and chief financial officer since May&#160;2016, and as a director of our company since September 2020. Mr. Chang is also an independent director, chair of the nominating committee, and a member of the audit and compensation committees of Scienjoy Holding Corporation (NASDAQ: SJ). He is also an independent director and a member of the audit committee of Denali Capital Acquisition Corp. (NASDAQ: DECAU). He has 19 years of experience in capital markets, financial investment and risk management. Before joining us, Dr.&#160;Chang was the co-head of Sales&#160;&amp; Trading at the U.S.&#160;subsidiary of China International Capital Corp (&#8220;CICC&#8221;) from 2010 to 2015. Prior to that, he was the CEO of CSOP Asset Management based in Hong Kong from early 2008 to 2010, investing funds from China in the international markets. From 2000 to 2008, Dr.&#160;Chang was vice president and an equity proprietary trader at Citigroup Equity Proprietary Investments in New&#160;York. Before going to New&#160;York, Dr.&#160;Chang worked at Kamakura Corp in Hawaii as a risk consultant to banks in Asia. He received a Ph.D. in soil physics and MBA from University of Hawaii in the early 1990s, M.S. degree from Academia Sinica in 1987 and B.S. degree from Nanjing Agricultural University in&#160;1984.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Executive Officer</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Mr.&#160;Jianyi Zhang</i> joined us at the end of February&#160;2016 as senior vice president and chief legal officer, and was appointed as chief compliance officer in May&#160;2016 and as corporate secretary in November 2019. After graduation from Washington University School of Law, Mr.&#160;Zhang worked at Troutman Sanders&#160;LLP as an associate from June&#160;1993 to September&#160;1994. Thereafter, he formed a law firm Su&#160;&amp; Zhang in Los Angeles, California. He rejoined Troutman Sanders&#160;LLP as an associate in April&#160;1995, became a partner in September of 1999 and worked in that position until December&#160;2001. From January&#160;2002 to June&#160;2005, Mr.&#160;Zhang worked at Walmart Stores,&#160;Inc. first as a senior corporate counsel II and then as senior assistant general counsel. From July&#160;2005 to February&#160;2016, he served, consecutively, as senior advisor to Chinese law firms of Jingtian&#160;&amp; Gongcheng Law Firm, Runbo Law Firm, East Associates Law Firm and East&#160;&amp; Concord Partners in Beijing. Mr.&#160;Jianyi Zhang received his B.A. degree and M.A. degree from the University of Helsinki, Finland in 1982 and 1983, respectively. After graduation from the University of Helsinki in 1983, Mr.&#160;Zhang worked at the Chinese Foreign Ministry until September&#160;1989. Thereafter, he went to study at Washington University School of Law in St.&#160;Louis, Missouri and received his J.D.&#160;degree in&#160;1992.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Duties of Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the BCBCA, our directors are required to manage, or to supervise the management of, the business and affairs of our company. They have a duty of loyalty to act honestly and in good faith with a view to our best interests. They also have a duty to 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&#160;breached.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The functions and powers of our board of directors include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">convening shareholder meetings and reporting to shareholders at such meetings;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">declaring dividends and authorizing other distributions to shareholders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">appointing officers and determining the term of office of officers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">exercising the borrowing powers of our company and mortgaging the property of our company;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">approving the issuance of shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">No provision in a contract or in our articles relieves a director or officer from the duty to act in accordance with the BCBCA or from liability that by virtue of any enactment or rule of law or equity would otherwise attach to that director or officer in respect of any negligence, default, breach of duty or breach of trust of which the director or officer may be guilty in relation to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">However, a director will not be liable for breaching his or her duty to act in accordance with the BCBCA in certain circumstances if the director relied in good faith on:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">financial statements of our company represented to the director by an officer or in a written report of the auditor to fairly reflect the financial position of our company;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 written report of a lawyer, accountant, engineer, appraiser or other person whose profession lends credibility to a statement made by that person;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">statement</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> of fact represented to the director by an officer to be correct, or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">record</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, information or representation that a court considers provides reasonable grounds for the actions of the director, whether or not the record was forged, fraudulently made or inaccurate, or the information or representation was fraudulently made or inaccurate.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Compensation of Directors and Executive Officers</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cash Compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We paid our directors and executive officers aggregate cash remuneration, including salaries, bonuses and benefits in kind, of approximately $7.1 million for 2021. Of this amount, we paid approximately $0.4 million to our six independent directors and approximately $6.7 million to our executive officers. The total amount set aside or accrued by us and our subsidiaries to provide pension, retirement or similar benefits for our directors and executive officers was approximately $0.1 million in 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Share Incentive Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March&#160;2006, we adopted a share incentive plan, or the Plan.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The 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 6pt 0pt;">In September 2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of restricted shares, options and restricted share units under the Plan to the sum of (i) 2,330,000 plus<span style="font-family:'Courier New';"> </span>(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 February 28, 2022, 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 20,548,000 common shares, of which 566,190 restricted shares, 3,283,393 options, and 9,096,348 restricted share units (in each case net of forfeitures) have been awarded, leaving 7,602,069 common shares available to be issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following describes the principal terms of the Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Types of Awards.</i> &#160;We may make the following types of awards under the Plan:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">restricted shares, which are common shares that are subject to certain restrictions and may be subject to risk of forfeiture or&#160;repurchase;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">options, which entitle the holder to purchase our common shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">restricted share units, which entitle the holder to receive our common shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Plan Administration.</i> &#160;The Compensation Committee of our board of directors administers the Plan, except with respect to awards made to our non-employee directors, where the entire board of directors administers the Plan. The Compensation Committee or the full board of directors, as appropriate, determines the provisions, terms, and conditions of each&#160;award.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Award Agreement.</i> &#160;Awards are evidenced by an award agreement that sets forth the terms, conditions and limitations for each&#160;award.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Eligibility.</i> &#160;We may grant awards to employees, directors and consultants of our company or any of our related entities, which include our subsidiaries and any entities in which we hold a substantial ownership interest. We may, however, grant options that are intended to qualify as incentive share options only to our&#160;employees.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Acceleration of Awards upon Corporate Transactions.</i> &#160;Outstanding awards will accelerate upon a change-of-control where the successor entity does not assume our outstanding awards. In such event, each outstanding award will become fully vested and immediately exercisable, the transfer restrictions on the awards will be released and the repurchase or forfeiture rights will terminate immediately before the date of the change-of-control transaction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Exercise Price and Term of Options.</i> &#160;In general, the Compensation Committee determines the exercise price of an option and sets out the price in the award agreement. The exercise price may be a fixed or variable price related to the fair market value of our common shares. If we grant an incentive share option to an employee who, at the time of that grant, owns shares representing more than 10% of the voting power of all classes of our share capital, the exercise price cannot be less than 110% of the fair market value of our common shares on the date of that grant and the share option is exercisable for no more than five years from the date of that&#160;grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The term of an award may not exceed ten years from the date of the grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Vesting Schedule.</i> &#160;In general, the Compensation Committee determines the vesting schedule.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Shares</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table summarizes, as of February 28, 2022, the restricted shares that we had granted under the Plan to our employees and certain individuals as a group. We have not granted any restricted shares to our directors and executive officers. The restricted shares granted in May 2006 vested over a two-year period beginning in March 2006. The vesting periods for all other restricted shares are indicated in the notes below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.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.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:7.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:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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: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;white-space:nowrap;width:7.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: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;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></tr><tr><td style="vertical-align:bottom;width:60.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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:7.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;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;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.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:7.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;">Granted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">Vested</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">Forfeited</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;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;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;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.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;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.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.29%;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.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Twelve individuals as a group</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="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.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;"><span style="white-space:pre-wrap;"> 330,860</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="white-space:pre-wrap;"> 330,860</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="white-space:pre-wrap;"> &#8212;</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;">&#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;">May&#160;30, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Hanbing Zhang<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)&#160;&#160;</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="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.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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;">July&#160;28, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Employees as a group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 447,360</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 447,360</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><b style="font-weight:bold;white-space:pre-wrap;"> &#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Other Individuals</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;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.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.29%;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.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">One individual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="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.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;"><span style="white-space:pre-wrap;"> 2,330</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)&#160;&#160;</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="white-space:pre-wrap;"> 2,330</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="white-space:pre-wrap;"> &#8212;</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;">&#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;">May&#160;30, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">One individual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)&#160;&#160;</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="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.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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;">June&#160;30, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Other Individuals as a group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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.29%;border-bottom:3px double #000000;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;"> 118,830</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:3px double #000000;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;"> 118,830</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:3px double #000000;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;"> &#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total Restricted Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 566,190</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 566,190</b></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><b style="font-weight:bold;white-space:pre-wrap;"> &#8212;</b></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;">&#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;">&#160;&#160;</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The wife of Dr. Shawn Qu.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest over a four-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest on accelerated termination.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest over a two-year period from the date of grant.</span></td></tr></table><div style="margin-top:12pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Options</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following table summarizes, as of February 28, 2022, the options that we had granted under the Plan to our directors and certain other individuals. The options granted to our independent directors vest immediately. Unless otherwise noted, all other options granted vest over a four-year period (one-quarter on each anniversary date) from the date of grant, and exercise prices are equal to the average of the trading prices of the common shares for the five trading days preceding the date of grant.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:20.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: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: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.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:20.89%;margin:0pt;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;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">($&#160;per</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Exercised</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">Share)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expiration</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Directors:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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><td style="vertical-align:bottom;white-space:nowrap;width: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:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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;"><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;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="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.18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">March&#160;12, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 25,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August&#160;27, 2010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 18,779</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,779</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="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.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;20, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;20, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Harry E. Ruda</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August&#160;14, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="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.03</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">June&#160;11, 2012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.29</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">June&#160;7, 2013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Yan Zhuang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="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.36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">September&#160;24, 2007</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 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:10.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.75</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">June&#160;26, 2008</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 80,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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,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;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 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:10.33%;margin:0pt;padding:0pt;"><p style="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.37</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;23, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August&#160;27, 2010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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,268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="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.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;20, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Directors as a Group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;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;"> 266,547</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;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;"> 244,468</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;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;"> 23,300</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 18,779</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Employees:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Hanbing Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,600</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,600</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.29</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">July 28, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,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;"> 6,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="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.18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">March 12, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 12,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August 27, 2010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.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:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 7,512</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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: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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,512</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="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.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May 20, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;20, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other employees and certain individuals as a group</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,389,731</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,948,034</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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,421,697</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 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:10.33%;background:#cceeff;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.12 to 46.28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Various dates from May 30, 2006 to June 7, 2013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Various dates from May 29, 2016 to June 6, 2023 </p></td></tr><tr><td style="vertical-align:bottom;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Total Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;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;"> 4,728,390</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 3,257,102</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;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,444,997</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 26,291</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;font-style:normal;font-weight:normal;">Vest immediately upon the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;font-style:normal;font-weight:normal;">Exercise price equal to the average of the trading prices of the common shares for the 20&#160;trading days preceding the date of&#160;grant.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Share Units</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes, as of February 28, 2022, 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:54.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.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: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.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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;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;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">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:54.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.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: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;">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:54.75%;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.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: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;">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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Directors:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:8%;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:54.75%;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.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: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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;"> 13,513</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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;"> 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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"><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;"> 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: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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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;"> 2,981</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"><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;"> &#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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.75%;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.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: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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;"> 9,009</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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;"> 5,230</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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;"> 2,625</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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;"> 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: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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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;"> &#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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Yan Zhuang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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;"> 9,009</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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;"> 5,230</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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;"> 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: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:54.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"><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;"> 2,981</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:54.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"><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;"> &#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;">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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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:55.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.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: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:55.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;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: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:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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: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:55.31%;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: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:55.31%;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: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;"> 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&#160;1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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,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&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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,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&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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,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&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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,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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;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: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;"> 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&#160;7, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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,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&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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,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&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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,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&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;"> 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&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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,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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2019</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;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: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;"> 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;">&#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 8, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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&#160;1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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: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:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;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: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: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&#160;1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Karl E. Olsoni</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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: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: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&#160;1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,412</span></p></td><td style="vertical-align:bottom;white-space: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: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;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;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: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;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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: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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:55.31%;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,672,561</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: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;white-space:pre-wrap;"> 893,507</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:center;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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-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.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:8.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.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.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.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:53.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size: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.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.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;">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.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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:53.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:8.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.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;">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.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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:53.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">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.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.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;">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.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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:53.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Executive Officer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;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:8.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:53.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Jianyi Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 25,934</span></p></td><td style="vertical-align:bottom;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.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;"> 25,934</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:53.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.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;"> 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;"><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.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;"> 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:8.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:53.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.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;"> 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;"><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.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;"> 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:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:53.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.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,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;"><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.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;"> 9,009</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:53.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.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;"> 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;"><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.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;"> 5,230</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:53.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.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,499</span></p></td><td style="vertical-align:bottom;white-space: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.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;"> 2,625</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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 23, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:53.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.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;"> 7,949</span></p></td><td style="vertical-align:bottom;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.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;"> 1,987</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;">August 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:53.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.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;"> 120,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.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;"> &#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:8.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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:53.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Executive Officer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 215,403</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;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:8.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 73,334</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.16%;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: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-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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:bottom;width:52.44%;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;">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:bottom;width:52.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Hanbing Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-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:bottom;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:bottom;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:bottom;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:bottom;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:bottom;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:bottom;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:bottom;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:bottom;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;"> 3,153</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:bottom;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;"> 1,830</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:bottom;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;"> 1,312</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:bottom;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;"> 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: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:bottom;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;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="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:bottom;width:52.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other employees and certain individuals as a group</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;"> 8,750,641</span></p></td><td style="vertical-align:bottom;white-space: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;"> 4,731,903</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,682,296</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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 14, 2020</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 44,392</span></p></td><td style="vertical-align:bottom;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;"> 1,582</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,382</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-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 January 1, 2021 to August 8, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:52.44%;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 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;"> 10,782,026</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;"> 5,769,554</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,685,678</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:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;font-style:normal;font-weight:normal;">Vest over a one-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;font-style:normal;font-weight:normal;">Vest over a four-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;font-style:normal;font-weight:normal;">Vest over an eight-quarter period from date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;font-style:normal;font-weight:normal;">Vest immediately upon the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;font-style:normal;font-weight:normal;">13,844 restricted share units granted on May 8, 2011 vested over one-year period from the date of grant. 126,036 restricted share units granted on August 11, 2013 vested immediately upon the date of grant. Vesting of 1,326,000 restricted share units granted on June 2, 2021 is contingent on the successful carve-out IPO of CSI Solar Co., Ltd (50% vesting on the IPO date, then 25% vesting each on the first and second anniversaries of the IPO). The other restricted share units granted vest over a four-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:8pt;font-style:normal;font-weight:normal;">Vesting contingent on the successful carve-out IPO of CSI Solar Co., Ltd (50% vesting on the IPO date, then 25% vesting each on the first and second anniversaries of the IPO).</span></td></tr></table><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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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-indent:18pt;margin:0pt 0pt 12pt 0pt;">We grant each of our independent directors restricted share units quarterly in advance on the first day of July, October, January and April in each year of service. The number of restricted share units granted quarterly is determined by dividing $30,000 by the average of the closing price of our common shares on each of the five trading days preceding the date of the grant. Each restricted share unit will entitle those directors to receive one of our common shares upon vesting. These restricted share units vest on the earlier of the date that the director ceases to be a member of our board of directors for any reason and three years after the grant date. We agree to issue common shares to those directors as soon as practicable, and in any event within 60 days, after the granted restricted share units vested.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Deferred Compensation Plans </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">In 2021, we adopted two nonqualified deferred compensation plans for eligible employees, one plan for Global Energy 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.  No amount was contributed to the trustee in 2021.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">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-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, our board of directors held 12 meetings and passed 51 resolutions by unanimous written consent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Terms of Directors and Executive Officers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our officers are appointed by and serve at the discretion of our board of directors. Our current directors have not been elected to serve for a specific term and, unless re-elected, hold office until the close of our next annual meeting of shareholders or until such time as their successors are elected or&#160;appointed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Board Diversity </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:100%;background:#ffffff;"><tr style="height:1pt;"><td style="vertical-align:middle;width:46.63%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:11.63%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:11.63%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:11.63%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:18.44%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td></tr><tr style="height:17.95pt;"><td colspan="5" style="vertical-align:middle;width:100%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Board Diversity Matrix (As of April 15, 2022)</b></p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Country of Principal Executive Offices:</p></td><td colspan="4" style="vertical-align:middle;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Canada</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Foreign Private Issuer</p></td><td colspan="4" style="vertical-align:middle;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Yes</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Disclosure Prohibited Under Home Country Law</p></td><td colspan="4" style="vertical-align:middle;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">No</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Total Number of Directors</p></td><td colspan="4" style="vertical-align:middle;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">9</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"></td><td style="vertical-align:middle;width:11.63%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Female</b></p></td><td style="vertical-align:middle;width:11.63%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Male</b></p></td><td style="vertical-align:middle;width:11.63%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-Binary</b></p></td><td style="vertical-align:middle;width:18.44%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Did Not Disclose Gender</b></p></td></tr><tr style="height:17.95pt;"><td colspan="5" style="vertical-align:middle;width:100%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">Part I: Gender Identity</b></p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Directors</p></td><td style="vertical-align:top;width:11.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">1</p></td><td style="vertical-align:top;width:11.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">7</p></td><td style="vertical-align:top;width:11.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">0</p></td><td style="vertical-align:top;width:18.44%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">1</p></td></tr><tr style="height:17.95pt;"><td colspan="5" style="vertical-align:middle;width:100%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">Part II: Demographic Background</b></p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Underrepresented Individual in Home Country Jurisdiction</p></td><td colspan="4" style="vertical-align:top;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">7</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">LGBTQ+</p></td><td colspan="4" style="vertical-align:top;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">0</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Did Not Disclose Demographic Background</p></td><td colspan="4" style="vertical-align:top;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">2</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Committees of the Board of Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our board of directors has established an audit committee, a compensation committee, a nominating and corporate governance committee, a technology committee and a sustainability committee. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Audit Committee</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our audit committee consists of Messrs. Lap Tat Arthur Wong, Olsoni and Dr. Ruda and is chaired by Mr. Lap Tat Arthur Wong. Mr. Lap Tat Arthur Wong qualifies as an &#8220;audit committee financial expert&#8221; as required by the SEC. Each of Messrs. Olsoni and Dr. Ruda is &#8220;financially literate&#8221; as required by the Nasdaq rules. Each of the members of our audit committee satisfies the &#8220;independence&#8221; requirements of the Nasdaq corporate governance rules. The audit committee oversees our accounting and financial reporting processes and the audits of the financial statements of our company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The audit committee is responsible for, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">selecting our independent auditors and pre-approving all auditing and non-auditing services permitted to be performed by our independent auditors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing with our independent auditors any audit problems or difficulties and management&#8217;s responses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing and approving all proposed related-party transactions, as defined in Item&#160;404 of Regulation&#160;S-K under the Securities&#160;Act;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">discussing the annual audited financial statements with management and our independent auditors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing major issues as to the adequacy of our internal controls and any special audit steps adopted in light of material control deficiencies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">annually reviewing and reassessing the adequacy of our audit committee charter;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">such other matters that are specifically delegated to our audit committee by our board of directors from time to&#160;time;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">meeting separately and periodically with management and our internal and independent auditors;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reporting regularly to the full board of directors.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, our audit committee held five meetings and passed one resolution by unanimous written consent. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Compensation Committee</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our compensation committee consists of Messrs. Ruda, Andrew (Luen Cheung) Wong and Ms. Templeton and is chaired by Mr.&#160;Andrew (Leun Cheung) Wong. Each of the members of our compensation committee satisfies the &#8220;independence&#8221; requirements of the Nasdaq corporate governance rules. The compensation committee assists the board in reviewing and approving the compensation structure for our directors and executive officers, including all forms of compensation to be provided to our directors and executive officers. Members of the compensation committee are not prohibited from direct involvement in determining their own compensation. Our chief executive officer may not be present at any committee meeting during which his compensation is deliberated. The compensation committee is responsible for, among other&#160;things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing and approving corporate goals and objectives relevant to the compensation of our chief executive officer, evaluating the performance of our chief executive officer in light of those goals and objectives, and setting the compensation level of our chief executive officer based on this evaluation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing and approving the compensation arrangements for our other executive officers and our directors;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">overseeing and periodically reviewing the operation of our employee benefits plans, including bonus, incentive compensation, stock option, pension and welfare&#160;plans.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, our compensation committee held five meetings and passed two resolutions by unanimous written consent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Nominating and Corporate Governance Committee</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our nominating and corporate governance committee consists of Messrs. Andrew (Luen Cheung) Wong, Lap Tat Arthur Wong, Leslie Li Hsien Chang and Ms. Templeton and is chaired by Ms. Templeton. Each of the members of our nominating and corporate governance committee satisfies the &#8220;independence&#8221; requirements of the Nasdaq corporate governance rules. The nominating and corporate governance committee assists the board of directors in identifying individuals qualified to become our directors and in determining the composition of the board and its committees. The nominating and corporate governance committee is responsible for, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">identifying and recommending to the board nominees for election or re-election to the board, or for appointment to fill any&#160;vacancy;</span></td></tr></table></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing annually with the board the current composition of the board in light of the characteristics of independence, age, skills, experience and availability of service to&#160;us;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">identifying and recommending to the board the directors to serve as members of the board&#8217;s committees;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">advising the board periodically with respect to significant developments in the law and practice of corporate governance as well as our compliance with applicable laws and regulations, and making recommendations to the board on all matters of corporate governance and on any corrective action to be taken;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">monitoring compliance with our code of business conduct and ethics, including reviewing the adequacy and effectiveness of our procedures to ensure proper compliance.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, our nominating and corporate governance committee held six meetings and did not pass any resolutions by unanimous written consent. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Technology Committee</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our technology committee consists of Dr. Harry E. Ruda and Dr. Shawn Qu and is chaired by Dr. Ruda. The technology committee advises and assists the board of directors and management on matters relating to technology and technological innovation and development as it relates to our solar power business. The technology committee is responsible for, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing, evaluating and advising the board of directors and management regarding the quality, scope, direction and effectiveness of our research and development programs and&#160;activities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing, evaluating and advising the board of directors and management regarding our progress in achieving our research and development goals and&#160;objectives;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing, evaluating and making recommendations to the board of directors and management on our internal and external investments in science and&#160;technology;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">monitoring, identifying, evaluating and advising the board of directors and management regarding competing solar power technologies and new and emerging developments in solar power science and&#160;technology;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing, evaluating and advising the board of directors and our chief executive officer regarding the composition and quality of the research and development team;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">providing general oversight of matters relating to the protection of our intellectual property.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, our technology committee held one 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 6pt 0pt;"><i style="font-style:italic;">Sustainability Committee</i><i style="font-style:italic;"> </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We established a sustainability committee at the board level in April 2021. Our sustainability committee consists of Messrs. Olsoni, Leslie Li Hsien Chang and Dr. Huifeng Chang and is chaired by Mr. Olsoni. The sustainability committee oversees management&#8217;s ESG plans. The sustainability committee is responsible for, among other things: </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing sustainability-related risks and opportunities associated with our strategy and business development;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing climate-related risks and opportunities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">monitoring progress and advising on strategic measures related to the long-term sustainability of the firm; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">overseeing the progress and execution of our ESG plans; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">meeting on a biannual basis to review&#8217; our ESG plans;</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, our sustainability committee held one meeting and did not pass any resolutions by unanimous written consent.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interested Transactions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Pursuant to the BCBCA, a director or senior officer of our company holds a disclosable interest in a contract or transaction if (a) the contract or transaction is material to our company, (b) our company has entered, or proposes to enter, into the contract or transaction, and (c) either the director or senior officer has a material interest in the contract or transaction, or the director or senior officer is a director or senior officer of, or has a material interest in, a person who has a material interest in the contract or transaction. A director or senior officer does not hold a disclosable interest in a contract or transaction merely because the contract or transaction relates to the remuneration of the director or senior officer in that person&#8217;s capacity as director, officer, employee or agent of our company or of an affiliate of our company. A director who has a disclosable interest in a contract or transaction into which we have entered or propose to enter is not entitled to vote on any directors&#8217; resolution to approve that contract or transaction, unless all the directors have a disclosable interest in that contract or transaction, in which case any or all of those directors may vote on such resolution. A director who holds a disclosable interest in a contract or transaction into which we have entered or propose to enter and who is present at the meeting of directors at which the contract or transaction is considered for approval may be counted in the quorum at the meeting whether or not the director votes on any or all of the resolutions considered at the meeting. Further, subject to the BCBCA, generally a director or senior officer of the company is liable to account to the company for any profit that accrues to him or her under or as a result of a contract or transaction in which he or she holds a disclosable interest. However in certain circumstances a director or senior officer of the company will not be liable to account for and may retain any such profit including if the contract or transaction is approved by the directors after the nature and extent of the disclosable interest has been disclosed to the directors, or if the contract or transaction is approved by a special resolution of the shareholders after the nature and extent of the disclosable interest has been disclosed to the shareholders entitled to vote on that resolution. The disclosure of the nature and extent of a disclosable interest may be made to the company in writing or be evidenced in a consent resolution, the minutes of a meeting or other record deposited in the company&#8217;s records office.</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 did not enter into any interested transactions other than those described in this &#8220;Item&#160;6. Directors, Senior Management and Employees&#8221; and &#8220;Item&#160;7. Major Shareholders and Related Party Transactions&#8212;B. Related Party Transactions.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Remuneration and Borrowing</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our directors may determine the remuneration to be paid to them. The compensation committee will assist the directors in reviewing and approving the compensation structure for our directors. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our articles provide that our board of directors may from time to time on behalf of our company (a)&#160;borrow money in the manner and amount, on the security, from the sources and on the terms and conditions that they consider appropriate; (b)&#160;issue bonds, debentures and other debt obligations either outright or as security for any liability or obligation of ours or any other person, and at any discount or premium and on such terms as they consider appropriate; (c)&#160;guarantee the repayment of money by any other person or the performance of any obligation of&#160;any other person; and (d) mortgage or charge, whether by way of specific or floating charge, or give other security on the whole or any part of the present and future assets and undertaking of our company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="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&#160;director.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Employment Agreements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into employment agreements with each of our executive officers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the employment agreements with our executive officers are for an indefinite term. Under the employment agreements, we may terminate the employment of an executive officer at any time by giving written notice of termination to the executive officer. An executive officer may terminate his employment at any time by giving 30 days&#8217; written notice of termination to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we terminate the employment of an executive officer for any reason other than cause or disability, or the executive officer terminates his employment for good reason, in both cases other than within 12 months after a change of control, (a) the unvested RSUs held by the executive officer immediately before the date of termination of the employment that would otherwise vest within 12 months after the date of termination of the employment will be deemed to have vested immediately before the date of termination of the employment; (b) the executive officer is entitled to receive his target bonus for the year in which the date of termination of the employment occurs; and (c) the executive officer is entitled to continue to receive his base salary and benefits for a period of six plus N months following the date of termination of the employment provided that he continues to comply with his confidentiality, inventions, non-competition, non-solicitation and assistance obligations described below. &#8220;N&#8221; is the number of years (including part years) that the executive officer was employed by us and our subsidiaries during the period beginning on January 1, 2007 and ending on the date of termination of the Employment but not exceeding 12.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we terminate the employment of an executive officer for any reason other than cause or disability, or the executive officer terminates his employment for good reason, in both cases within 12 months after a change of control, (a) all unvested RSUs held by the executive officer immediately before the date of termination of the employment will be deemed to have vested immediately before the date of termination of the employment; (b) the executive officer is entitled to receive an lump sum amount equal to the sum of: (1) his target bonus for the year in which the date of termination of the employment occurs, (2) his annual base salary and (3) the estimated annual cost of his providing his benefits multiplied by a fraction, the numerator of which is 12 plus N and the denominator of which is 12.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Each executive officer has agreed: (a) not to disclose or use any of our confidential information, including trade secrets and information concerning our finances, employees, technology, processes, facilities, products, suppliers, customers and markets, except in the performance of his duties and responsibilities or as required pursuant to applicable law; (b) to disclose in confidence to us all inventions, designs and trade secrets which he may conceive, develop or reduce to practice during his employment and to assign all right, title and interest in them to us; (c) during and within one year after the termination of his employment, (1) not to communicate or have any other dealings with our customers or suppliers that would be likely to harm the business relationship between us and our suppliers; (2) not to provide services, whether as a director, officer, employee, independent contractor or otherwise, to a competitor; and (3) not to solicit, whether by offer of employment or otherwise, the services of any of our employees; and (d) at our request, to answer our requests for information about those aspects of our business and affairs in which he was involved and assist us in prosecuting or defending claims or responding to investigations or reviews by any regulatory authority or stock exchange in relation to events or occurrences that took place during the employment. &#8220;Competitor&#8221; is a person that, directly or indirectly, carries on business in any jurisdiction where we and our subsidiaries carry on business if that person or any subsidiary or division of that person generates more than 10% of its revenues from solar power products and services similar to those provided by the us and our subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our compensation committee is required to approve the employment agreements entered into by us with our executive officers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Director Agreements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have entered into director agreements with our independent directors, pursuant to which we make payments in the form of an annual cash retainer, payable quarterly, and quarterly grants of restricted share units to our independent directors for their services. See &#8220;&#8212;B. Compensation of Directors and Executive Officers.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Indemnification of Directors and Officers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under Division 5 of Part 5 of the BCBCA, we may indemnify any 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 corporation or entity, against all judgments, penalties or fines awarded or imposed in, or amounts paid in settlement of, a proceeding in which any such director, officer or other individual, by reason of him or her being or having been a director of officer of, or holding or having held a position equivalent to that of a director or officer of, our company or an associated corporation (a) is or may be joined as a party, or (b) is or may be liable for or in respect of a judgment, penalty or fine in, or expenses related to, the proceeding. In addition we may, after the final disposition of any such proceeding, pay the expenses actually and reasonably incurred by any such director, officer or other individual in respect of that proceeding, or in certain circumstances we may pay such expenses as they are incurred. However, Division 5 of Part 5 of the BCBCA also provides that we must not provide such indemnification or payment of expenses in certain circumstances including if, in relation to the subject matter of the proceeding, such director, officer or other individual did not act honestly and in good faith with a view to our best interests, or, as the case may be, to the best interests of the associated corporation, and if, in the case of a proceeding other than a civil proceeding, such director, officer or other individual did not have reasonable grounds for believing that his or her conduct was lawful.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under our articles, our board of directors must cause us to indemnify our directors and officers and former directors and officers, and their respective heirs and personal or other legal representatives to the greatest extent permitted by Division 5 of Part 5 of the BCBCA.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into indemnity agreements with each of our directors agreeing to indemnify them, to the fullest extent permitted by law, against all liability, loss, harm damage cost or expense, reasonably incurred by the director in respect of any threatened, pending, ongoing or completed claim or civil, criminal, administrative, investigative or other action or proceeding made or commenced against him or in which he is or was involved by reason of the fact that he is or was a director of our&#160;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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">D</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">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&#160;31, 2019, 2020 and 2021, we had 13,478, 12,774 and 13,535 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, 2021.</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;2021</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;"> 11,412</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;"> 84</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;"> 1,099</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;"> 8</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;"> 156</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;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.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;"> 868</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;"> 13,535</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 6pt 0pt;">As of December 31, 2021, we had 10,698 employees at our facilities in China, and 2,837 employees based in our facilities and offices in Canada, Japan, Australia, Singapore, Korea, Hong Kong, Taiwan, India, Indonesia, Israel, Thailand, Vietnam, Brazil, United Arab Emirates, South Africa, the Americas and the EU (which includes Germany, Italy, Netherlands 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 6pt 0pt;">Continuous learning is the cornerstone of our human capital development strategy. Employees across all functions and levels of us are offered participation in the Canadian Solar University program, which is designed to support their career development through an extensive suite of resources including classroom training, e-learning, coaching, mentoring and on-the-job training. We partner with professional consultants such as Development Dimensions International (&#8220;DDI&#8221;) for establishing leadership standards and creating tailor-made development programs. &#160; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Training programs for junior positions are focused on developing technical and professional skills, including but not limited to areas such as project development, permitting, asset management, financing, sales management, order management and operations, supply chain management, marketing, technical services and support, etc. This is complemented by a CSI Boot Camp, which is designed to develop soft skills and nurture a culture of continuous self and mutual learning.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For more senior-level employees, our in-house training program is more targeted on developing leadership and managerial skills. The Leadership Foundation Program focuses on executive strategy, effective decision-making, coaching for peak performance, delegation, and other leadership skills. Global workshops on key business topics such as PPA and storage are organized to help our leaders continue to learn. We also selectively sponsor key talents to attend top MBA programs. We regularly carry out global succession planning reviews to identify the high-potential talents and follows up with individual development plans for 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;">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><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">E</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Share Ownership</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following table sets forth information with respect to the beneficial ownership of our common shares as of February 28, 2022, the latest practicable date, by:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">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:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">each person known to us to own beneficially more than 5% of our common shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The calculations in the table below are based on the 64,151,481 common shares outstanding, as of February 28, 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Beneficial ownership is determined in accordance with the rules and regulations of the SEC. In computing the number of shares beneficially owned by a person and the percentage ownership of that person, we have included shares that the person has the right to acquire within 60 days from February 28, 2022, 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,760,492</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.4</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;"> 1,623</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,717</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;"> 2,180</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;">Jianyi Zhang <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;"> 3,485</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;">All Directors and Executive Officers as a Group</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;"> 13,771,497</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;"> 21.5</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;"><b style="font-weight:bold;">Principal Shareholders:</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: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;margin:0pt;"><span style="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;">&#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;">&#160;&#160;</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;">BlackRock, Inc. <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;"> 4,740,612</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;"> 7.4</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;">(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;"> 3,215,741</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;"> 5.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></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;">*&#160;&#160;&#160;&#160;&#160;The person beneficially owns less than 1% of our outstanding shares.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:36pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Beneficial ownership is determined in accordance with Rule 13d-3 of the General Rules and Regulations under the Exchange Act, and includes voting or investment power with respect to the securities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:36pt;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:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:36pt;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,734,201 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:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:36pt;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 1,623 common shares issuable upon vesting of restricted share units held by Dr. Harry Ruda within 60 days from February 28, 2022.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:36pt;padding:0pt;">(5)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Comprises 2,094 common shares directly held by Mr. Andrew (Luen Cheung) Wong and 1,623 shares issuable upon vesting of restricted share units held by Mr. Andrew (Luen Cheung) Wong within 60 days from February 28, 2022.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:36pt;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 557 common shares directly held by Mr. Lap Tat Arthur Wong and 1,623 shares issuable upon vesting of restricted share units held by Mr. Lap Tat Arthur Wong within 60 days from February 28, 2022.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:36pt;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 3,485 common shares directly held by Mr. Jianyi Zhang.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:36pt;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;">Represents 4,740,612 common shares owned by BlackRock, Inc., as reported on Schedule 13G/A filed by BlackRock, Inc. on February 3, 2022. The percentage of beneficial ownership was calculated based on the total number of our common shares as of February 28, 2022. The principal business address of BlackRock, Inc. is 55 East 52nd Street, New York, NY 10055.</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:36pt;padding:0pt;">(9)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represents 3,215,741 common shares held by Grantham, Mayo, Van Otterloo &amp; Co. LLC, as reported on Schedule 13G filed by Grantham, Mayo, Van Otterloo &amp; Co. LLC on February 11, 2022. The percentage of beneficial ownership was calculated based on the total number of our common shares as of February 28, 2022. The principal business address of Invesco Ltd. is 1555 Peachtree Street NE, Suite 1800, Atlanta, GA 30309.</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;">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;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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_85664aca_5131_4280_b81a_2dc098963d0d"></a><a id="ITEM7MAJORSHAREHOLDERSANDRELATEDPARTYTRA"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;7&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">MAJOR SHAREHOLDERS AND RELATED PARTY TRANSACTIONS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Major Shareholders</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 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 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Related Party Transactions</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Guarantees and Loans</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dr. Shawn Qu fully guaranteed loan facilities from two Chinese banks of RMB1,420 million ($203.5 million), RMB135 million ($20.6 million) in 2019 and 2020, and one Chinese bank of RMB12 million ($1.9 million), in 2021. Amounts drawn down under the facilities as at December 31, 2019, 2020 and 2021 were $82.9 million, nil and nil, respectively. These guaranteed loan facilities will mature in the first quarter of 2023. We do not intend to renew these guarantees with, nor seek additional guarantees from, Dr. Shawn Qu 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 granted 26,691, 26,073 and nil restricted share units to Dr. Shawn Qu in 2019, 2020 and 2021, respectively, on account of his having guaranteed these loan facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Sales and Purchase Contracts with Affiliates</span></p><a id="_Hlk98857572"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020 and 2021, we sold two and two solar projects to CSIF, our 14.64% owned affiliate in Japan, respectively, in the amount of JPY888.0 million ($8.4 million) and JPY30.6 billion ($282.1 million), respectively, recorded in revenue. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Additionally, in 2020 and 2021, we provided asset management service to CSIF in the amount of JPY394.5 million ($3.7 million) and JPY829.1 million ($7.5 million), respectively, and provided O&amp;M service to CSIF in the amount of JPY805.0 million ($7.6 million) and JPY981.2 million ($9.2 million), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we sold modules to Salgueiro I Renewable Energy S.A., Salgueiro II Renewable Energy S.A. and Salgueiro III Renewable Energy S.A., each our 20% owned affiliate in Brazil, in the amount of $0.1 million. In 2020, we sold modules to these affiliates in the amounts of $11.6 million, $10.0 million and $9.4 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we sold modules to Jaiba 3 Renewable Energy S.A., Jaiba 4 Renewable Energy S.A. and Jaiba 9 Renewable Energy S.A., each our 20% owned affiliate in Brazil, in the amounts of $0.8 million, $3.2 million and $3.0 million, respectively. In 2020, we sold modules to these affiliates in the amounts of $6.0 million, $3.7 million and $1.4 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we sold modules to Francisco SA I Renewable Energy S.A., Francisco SA II Renewable Energy S.A. and Francisco SA III Renewable Energy S.A., each our 20% owned affiliate in Brazil, in the amounts of $7.2 million, $7.6 million and $8.1 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we sold modules to Lavras I Solar Renewable Energy S.A., Lavras II Solar Renewable Energy S.A., Lavras III Solar Renewable Energy S.A., Lavras IV Solar Renewable Energy S.A. and Lavras V Solar Renewable Energy S.A., each our 20% owned affiliate in Brazil, in the amounts of $5.7 million, $5.8 million, $6.0 million, $6.2 million and $6.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we provided battery storage solutions to Sonoran West Solar Holdings, LLC. And Sonoran West Solar Holdings 2, LLC, each our 20% owned affiliate in the United States, in the amounts of $12.8 million and $7.0 million, respectively</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020 and 2021, we purchased raw materials from Luoyang Jiwa New Material Technology Co., Ltd., our 20% owned affiliate, in the amount of RMB31.4 million ($4.5 million) and RMB19.4 million ($3.0 million), respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we purchased raw materials from Yancheng Jiwa New Material Technology Co., Ltd., our 20% owned affiliate, in the amount of RMB10.8 million ($1.7 million). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, we provided EPC services to Lavras Solar Holding S.A., our 20% owned affiliate in Brazil, in the amount of BRL5.1 million ($1.0 million).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2020, we fully disposed of our ownership of Suzhou iSilver Materials Co., Ltd., our former 14.63% owned affiliate in PRC, to an unrelated third party. From January 1, 2020 through the date of disposal, we purchased raw materials in the amount of RMB168.0 million ($24.3 million) from this former affiliate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In July 2020, we fully disposed of our ownership of Suzhou Kzone Equipment Technology Co., Ltd., our former 32% owned affiliate in PRC, to an unrelated third party. From January 1, 2020 through the date of disposal, we purchased raw materials in the amount of RMB7.4 million ($1.0 million) from this former affiliate.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Employment Agreements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;6. Directors, Senior Management and Employees&#8212;C. Board Practices&#8212;Employment Agreements.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Share Incentive Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;6. Directors, Senior Management and Employees&#8212;B. Compensation of Directors and Executive Officers&#8212;Share Incentive Plan.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Interests of Experts and Counsel</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_c21453b6_d0c0_450d_8cab_a0af7ba07a28"></a><a id="ITEM8FINANCIALINFORMATION_288618"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;8&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">FINANCIAL INFORMATION</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Consolidated Statements and Other Financial Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have appended audited consolidated financial statements filed as part of this annual&#160;report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Legal and Administrative Proceedings</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In January 2015, the plaintiff in a class action lawsuit filed against us and certain of our executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court approved a settlement of the action on October 30, 2020. The settlement is no admission of liability or wrongdoing by us or any of the other defendants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">U.S. Antidumping, Countervailing Duty and Safeguard Proceedings</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar 1</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On October&#160;17, 2012, the United&#160;States Department of Commerce, or USDOC, issued final affirmative determinations with respect to its antidumping and countervailing duty investigations on crystalline silicon photovoltaic, or CSPV, cells, whether or not incorporated into modules, from China. On November&#160;30, 2012, the U.S.&#160;International Trade Commission, or USITC, determined that imports of CSPV cells had caused material injury to the U.S.&#160;CSPV industry. The USITC&#8217;s determination was subsequently affirmed by the U.S.&#160;Court of International Trade, or CIT, and the U.S.&#160;Court of Appeals for the Federal Circuit, or Federal Circuit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As a result of these determinations, we were required to pay cash deposits on Chinese-origin CSPV cells imported into the U.S., whether or not incorporated into modules. The rates applicable to us were 13.94% (antidumping duty) and 15.24% (countervailing duty). We paid all the cash deposits due under these determinations. Several parties challenged the determinations of the USITC in appeals to the CIT. On August&#160;7, 2015, the CIT sustained the USITC&#8217;s final determination and on January&#160;22, 2018, the Federal Circuit upheld the CIT&#8217;s decision. There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the first administrative reviews in July&#160;2015. As a result of these decisions, the duty rates applicable to us were revised to 9.67% (antidumping duty) and 20.94% (countervailing duty). The assessed rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s countervailing duty rates, and no change was made to our countervailing duty rate. This decision by the CIT was not appealed to the Federal Circuit. The CIT likewise affirmed USDOC&#8217;s antidumping duty rates, and no change was made to our antidumping duty rate. This decision by the CIT was, however, appealed to the Federal Circuit, which upheld the CIT&#8217;s decision. There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the second administrative reviews in June 2016 (antidumping duty) and July 2016 (countervailing duty). As a result of these decisions, the antidumping duty rate applicable to us was reduced to 8.52% (from 9.67%) and then to 3.96% (from 8.52%). Because we were not subject to the second administrative review of the countervailing duty order, our countervailing duty rate remained at 20.94%. The antidumping duty rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s second antidumping duty rate. This decision by the CIT was appealed to the Federal Circuit, which in June 2020 reversed the CIT&#8217;s decision, in part, and directed the USDOC to reconsider certain issues related to its final determination. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. &#160;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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the 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. &#160;In August 2020, the CIT sustained USDOC&#8217;s second remand redetermination. As a result, our countervailing duty rate was reduced to 7.36% (from 18.16%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s countervailing duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fourth administrative reviews in July 2018 (both antidumping duty and countervailing duty), with the countervailing duty rate later amended in October 2018. Because we were not subject to the fourth administrative review of the antidumping duty order, our antidumping duty rate remained at 13.07%. In this review, the countervailing duty rate applicable to us was reduced to 11.59% (from 18.16%). 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%). We appealed the CIT decision to the Federal Circuit to contest USDOC&#8217;s continued assessment of a countervailing duty rate related to the alleged electricity subsidy program. In January 2022, the Federal Circuit sustained the CIT&#8217;s decision, and no change was made to our countervailing duty rate. &#160;There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the 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. The USDOC submitted its countervailing duty redetermination to the CIT in December 2021. A decision is expected in mid-2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The 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. &#160;In April 2022, the CIT remanded the antidumping duty appeal to the USDOC to consider adjustments to our rate. We did not appeal USDOC&#8217;s final results of its sixth administrative review of the countervailing duty order and, therefore, this decision is final and our countervailing duty rate is expected to remain at 11.97%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the seventh administrative reviews in August 2021 (countervailing duty) and October 2021 (antidumping duty). The antidumping duty rate applicable to us was lowered to 0.00% (from 95.50%). The countervailing duty rate applicable to Canadian Solar International Limited (&#8220;CSIL&#8221;) was raised to 19.28% (from 11.97%). &#160;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 these companies. &#160;We did not appeal USDOC&#8217;s final results of its seventh administrative reviews and, therefore, these decisions are final. Our antidumping duty rate will remain at 0.00% and our countervailing duty rate is expected to remain at 19.28% for CSIL.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The eighth and ninth antidumping duty and countervailing duty administrative reviews were initiated in February 2021 and February 2022 and are currently underway. The USDOC is currently scheduled to release the final results of the eighth administrative reviews on June 21, 2022 (antidumping duty) and June 29, 2022 (countervailing duty), subject to potential extensions. USDOC will likely issue preliminary results of the ninth administrative reviews in late 2022 or early 2023. The final results of the eighth and ninth administrative reviews may result in duty rates that differ from the previous duty rates and cash deposit rates applicable to us. These duty rates could materially and adversely affect our U.S. import operations and increase our cost of selling into the U.S. 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">Between 2017 and 2019, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. We did not participate in USDOC&#8217;s first sunset review. We did, however, participate in the USITC&#8217;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar 2</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. We were identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">&#8220;Chinese CSPV products subject to Solar 2 orders&#8221; refers to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#8220;Taiwanese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 23, 2014, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigation on these CSPV products. On January 21, 2015, the USITC determined that imports of these CSPV products had caused material injury to the U.S. CSPV industry. As a result of these determinations, we are required to pay cash deposits on these CSPV products, the rates of which applicable to our Chinese CSPV products were 30.06% (antidumping duty) and 38.43% (countervailing duty). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC&#8217;s determination and the assessed countervailing duty rates were appealed to the CIT and the Federal Circuit. In March 2019, the Federal Circuit affirmed the CIT&#8217;s decision confirming the USDOC&#8217;s determination but reduced our countervailing duty rate to 33.58% (from 38.43%). There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The antidumping cash deposit rate applicable to our Taiwanese CSPV products subject to Solar 2 orders varied by solar cell producer. We paid all the cash deposits due under these determinations. There is no countervailing duty order on Taiwan Solar 2 products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the first administrative reviews in July 2017 (China and Taiwan antidumping duty orders) and September 2017 (China-only countervailing duty order). Because we were not subject to the first administrative reviews of the Solar 2 orders, our duty rates will remain at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. Our antidumping duty rates for our Taiwanese CSPV products had ranged from 3.56% to 4.20%, until they were changed to 1.52% to 3.78% in June 2019.</p><a id="_Hlk101845506"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The second administrative reviews for the Solar 2 China antidumping and countervailing duty orders were rescinded, meaning that there is no change in the Chinese antidumping and countervailing duty rates applicable to our Chinese CSPV products 30.06% (antidumping duty) and 33.58% (countervailing duty). The USDOC published the final results of the second administrative review for the Taiwan antidumping duty order (there is no countervailing duty order) in June 2018. The rate applicable to us is 1.33%. There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We were not subject to the third administrative reviews of the Chinese orders and, therefore, our duty rates remained unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The third administrative review of the Taiwan antidumping order concluded in mid-2019. The rate assessed to us was 4.39% (from 1.33%). There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC rescinded the fourth administrative reviews of the Solar 2 China antidumping duty and countervailing duty orders in late 2019. Our duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The rate assessed to us in the fourth administrative review of the Taiwan antidumping order was 2.57% (from 4.39%). The USDOC also found that certain Canadian Solar entities had no shipments during this period of this review.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC rescinded the fifth administrative reviews of the Solar 2 China antidumping and countervailing duty orders. Our duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The USDOC published the final results of the fifth administrative review of the Taiwan antidumping duty order in September 2021. The USDOC determined that the Canadian Solar entities subject to the fifth administrative review had no shipments during the period of review and therefore, our antidumping duty rates will remain unchanged for our Taiwanese CSPV products. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC did not initiate the sixth administrative reviews of the Solar 2 China antidumping and countervailing duty orders because no parties requested reviews. Our duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The USDOC published the final results of the sixth administrative review of the Taiwan antidumping duty order in March 2022. The USDOC determined that the Canadian Solar entities subject to the sixth administrative review had no shipments during the period of review and therefore, our antidumping duty rates will remain unchanged for our Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC initiated the seventh administrative reviews of the Solar 2 China antidumping and countervailing duty orders. &#160;The countervailing duty review was not initiated with respect to all Canadian Solar entities. The countervailing duty rates will remain unchanged for all entities for whom the review was not initiated. The USDOC initiated the seventh administrative review of the Taiwan antidumping duty order in April 2022 with respect to certain of the Canadian Solar entities. The USDOC will likely issue the preliminary results of the seventh administrative review in late 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 2020, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 2 antidumping and countervailing duty orders. &#160;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. &#160;As a result, the Solar 2 orders are expected to remain in effect through at least 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Section&#160;201</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May&#160;17, 2017, following receipt of a petition from Suniva,&#160;Inc., which was later joined by SolarWorld Americas,&#160;Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September&#160;22, 2017, the USITC determined that CSPV products are being imported into the United&#160;States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells, whether or not partially or fully assembled into other products such as modules, consisting of (1) a tariff-rate quota for four years on imports of CSPV cells not partially or fully assembled into other products, with (a) an in-quota quantity of 2.5 gigawatts, and (b) a tariff rate applicable to over-quota CSPV cells of 30%, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year; and (2) a 30% tariff for four years on CSPV modules, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year. This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 13, 2019 and following an abbreviated public comment period, the Office of the U.S. Trade Representative (or USTR) granted an exclusion from the safeguard measure for solar panels comprising solely bifacial solar cells (or bifacial solar panels). In October 2019, USTR determined to withdraw this exclusion. Invenergy Renewables LLC (or Invenergy) promptly contested USTR&#8217;s withdrawal determination at the CIT and secured a temporary restraining order against USTR in November 2019. In December 2019, the CIT preliminarily enjoined USTR&#8217;s withdrawal due to procedural deficiencies. USTR then sought and was granted a voluntary remand to reconsider its withdrawal determination for bifacial solar panels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early 2020, USTR conducted a renewed notice-and-comment process regarding the exclusion for bifacial solar panels from the safeguard measures. In April 2020, USTR again determined that the exclusion for bifacial solar panels should be withdrawn based on the findings of its second notice-and-comment process. Notwithstanding, in May 2020 the CIT denied without prejudice the United States&#8217; motion to dissolve the preliminary injunction and to resume the collection of the safeguard tariff on entries of bifacial modules. USTR appealed the CIT&#8217;s interlocutory decision to the Federal Circuit in July 2020, but subsequently dismissed its appeal in January 2021. The United States continued to litigate the merits of USTR&#8217;s April 2020 withdrawal of the bifacial exclusion before the CIT. &#160;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>. &#160;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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early 2020, the USITC conducted a midterm review of the safeguard order, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the USTR, the USITC released a report regarding the probable economic effect on the domestic CSPV cell and module manufacturing industry of modifying the safeguard measure on CSPV products. The USITC found that increasing the tariff-rate quota (TRQ) on CSPV cells (an integral component of CSPV modules) would likely result in a substantial increase in U.S. module producers&#8217; production, capacity utilization, and employment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The President must consider the USITC&#8217;s views but is not required to follow them or to take any action in the safeguard midterm review. On October 10, 2020, President Trump issued Proclamation 10101 pertaining to the midterm review. Proclamation 10101 authorized the following: (1) the revocation of the bifacial module exclusion effective October 25, 2020; (2) the reduction of the safeguard tariff to 18% <i style="font-style:italic;">ad valorem</i> (as opposed to 15% <i style="font-style:italic;">ad valorem</i> as prescribed in the original safeguard measures) effective February 7, 2021; and (3) the delegation to USTR of the President&#8217;s authority to ask the USITC to assess whether the safeguard measures should be extended. The President decided not to follow the USITC&#8217;s recommendation to increase the TRQ applicable to CSPV cells.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Following the issuance of Proclamation 10101, Invenergy and other plaintiffs (AES Distributed Energy, Inc., Clearway Energy Group LLC, EDF Renewables, Inc. (&#8220;EDF&#8221;), the Solar Energy Industries Association (&#8220;SEIA&#8221;)) sought to challenge the Proclamation and filed motions to amend their complaints with the CIT. The CIT ultimately denied plaintiffs&#8217; motions and refused to extend the bifacial module exclusion beyond October 24, 2020 as a consequence of the Proclamation (as opposed to USTR&#8217;s withdrawals). Subsequently, on December 29, 2020, Invenergy and another set of plaintiffs (SEIA, NextEra Energy, Inc., and EDF) commenced new and separate litigation once again challenging Proclamation 10101 in the CIT. This new complaint alleges that the President unlawfully terminated the bifacial module exclusion and revised the safeguard tariff, effective February 7, 2021, to be 18% ad valorem (as opposed to the originally announced 15% ad valorem). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On November 16, 2021, the CIT held in <i style="font-style:italic;">Solar Energy Industries Association et al. v. United States (SEIA</i>) 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 <i style="font-style:italic;">SEIA</i> to the Federal Circuit and the appeal remains ongoing. The Federal Circuit&#8217;s decision is expected in late 2022 or early 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, the USITC conducted an extension investigation of the safeguard measure, in response to petitions<span style="font-size:11pt;"> </span>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 Proclamation 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% in the eighth year. The Proclamation also excludes bifacial panels from the extended safeguard measure and authorizes USTR to negotiate agreements with Canada and Mexico that could lead to the exclusion of those countries from the safeguard measure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Canadian Antidumping and Countervailing Duties Expiry Review</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 3, 2015, the Canada Border Services Agency (&#8220;CBSA&#8221;) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found Canadian Solar to be a &#8220;cooperative exporter&#8221; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (&#8220;CITT&#8221;) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT may initiate an expiry review pursuant to Subsection 76.03(3) of the Special Import Measures Act (&#8220;SIMA&#8221;) before the end of 5 years of its finding. If the CITT does not initiate such an expiry review pursuant to Subsection 76.03(3) of SIMA, the finding is deemed to have been rescinded as of the expiry of the five years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The expiry review was concluded on March 25, 2021. The CITT determined to continue its aforementioned finding to impose definitive duties on imports of Chinese solar modules and laminates into Canada. As a result the Canadian Solar-specific subsidies rate of RMB0.014 per Watt remains unchanged. The subsidies rate applies for a period of five years. The CITT is required to conduct a further expiry review at the end of that period, being July 2, 2025. Such subsidies rate does not have a material negative effect upon our results of operations because we have module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve our Canadian business.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Dividend Policy</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have never declared or paid any dividends on our common shares, nor do we have any present plan to declare or pay any dividends on our common shares in the foreseeable future. We currently intend to retain our available funds and any future earnings to operate and expand our business.</p><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 BCBCA. Even if our board of directors decides to pay dividends, the form, frequency and amount will depend upon our future operations, earnings, capital requirements, surplus, general financial condition, contractual restrictions, and other factors that our board of directors may deem relevant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Significant Changes</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-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="_90de1587_8c48_46c9_b0ac_edd85217b496"></a><a id="ITEM9THEOFFERANDLISTING_523589"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;9&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">THE OFFER AND LISTING</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Offering and Listing Details</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Plan of Distribution</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Markets</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our common shares have been listed on the Nasdaq since November&#160;9, 2006 under the symbol&#160;&#8221;CSIQ.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">D&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Selling Shareholders</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">E&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Dilution</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">F&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Expenses of the Issue</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_40e76a77_daed_47f2_992d_23dff17a2692"></a><a id="ITEM10ADDITIONALINFORMATION_800687"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;10&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">ADDITIONAL INFORMATION</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;Share Capital</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;Articles </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">General</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In July 2020, we filed articles of continuance to change our jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. As a result, we are governed by the BCBCA, and our affairs are governed by our notice of articles and our articles. Our British Columbia incorporation number is C1258489.</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 our articles and the BCBCA. This summary is not intended to be complete and is qualified in its entirety by reference to our articles and the BCBCA. 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;">Our articles do not contain any stated objects or purposes and do not place any limitations on the business that we may carry on.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Voting on Proposals. Arrangements, Contracts or Compensation by Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other than as disclosed below, our articles do not 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 the absence of an independent quorum.</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 BCBCA does, however, contain restrictions in this regard. Pursuant to the BCBCA, a director or senior officer of our company holds a disclosable interest in a contract or transaction if (a) the contract or transaction is material to our company, (b) our company has entered, or proposes to enter, into the contract or transaction, and (c) either the director or senior officer has a material interest in the contract or transaction, or the director or senior officer is a director or senior officer of, or has a material interest in, a person who has a material interest in the contract or transaction. A director or senior officer does not hold a disclosable interest in a contract or transaction merely because the contract or transaction relates to the remuneration of the director or senior officer in that person&#8217;s capacity as director, officer, employee or agent of our company or of an affiliate of our company.<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>A director who has a disclosable interest in a contract or transaction into which we have entered or propose to enter is not entitled to vote on any directors&#8217; resolution to approve that contract or transaction, unless all the directors have a disclosable interest in that contract or transaction, in which case any or all of those directors may vote on such resolution. A director who holds a disclosable interest in a contract or transaction into which we have entered or propose to enter and who is present at the meeting of directors at which the contract or transaction is considered for approval may be counted in the quorum at the meeting whether or not the director votes on any or all of the resolutions considered at the meeting. Further, subject to the BCBCA, generally a director or senior officer of the company is liable to account to the company for any profit that accrues to him or her under or as a result of a contract or transaction in which he or she holds a disclosable interest. However in certain circumstances a director or senior officer of the company will not be liable to account for and may retain any such profit including if the contract or transaction is approved by the directors after the nature and extent of the disclosable interest has been disclosed to the directors, or if the contract or transaction is approved by a special resolution of the shareholders after the nature and extent of the disclosable interest has been disclosed to the shareholders entitled to vote on that resolution. The disclosure of the nature and extent of a disclosable interest may be made to the company in writing or be evidenced in a consent resolution, the minutes of a meeting or other record deposited in the company&#8217;s records office.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Borrowing Powers of Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our articles provide that our board of directors may from time to time on behalf of our company (a) borrow money in the manner and amount, on the security, from the sources and on the terms and conditions that they consider appropriate; (b) issue bonds, debentures and other debt obligations either outright or as security for any liability or obligation of ours or any other person, and at any discount or premium and on such terms as they consider appropriate; (c) guarantee the repayment of money by any other person or the performance of any obligation of any other person; and (d) mortgage or charge, whether by way of specific or floating charge, or give other security on the whole or any part of the present and future assets and undertaking of our company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Qualifications of Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under our articles, a director is not required to hold a share in the capital of our company as qualification for his or her office but must be qualified as required by the BCBCA to become, act or continue to act as a director.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the BCBCA a director must not be:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">under eighteen years of age;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">found by a court, in Canada or elsewhere, to be incapable of managing their own affairs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 undischarged bankrupt; or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">convicted in or out of the Province of British Columbia of an offence in connection with the promotion, formation or management of a corporation or unincorporated business, or of an offence involving fraud, unless:</span></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a court orders otherwise,</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:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5 years have elapsed since the last to occur of:</span></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(i)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the expiration of the period set for suspension of the passing of sentence without a sentence having been passed;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(ii)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the imposition of a fine;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(iii)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the conclusion of the term of any imprisonment; 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:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(iv)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the conclusion of the term of any probation imposed, or</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a pardon was granted or issued, or a record suspension was ordered, under the Criminal Records Act (Canada) and the pardon or record suspension, as the case may be, has not been revoked or ceased to have effect.</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;">Except as set out above, there are no provisions under our articles or the BCBCA that specify the retirement or non-retirement of directors under an age limit requirement. Under our articles, a director ceases to be a director when:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width: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;">the term of office of the director expires;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width: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;">the director dies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width: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;">the director resigns as a director by notice in writing provided to us or a lawyer for us;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width: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;">the director is removed from office by a special resolution of our shareholders; or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width: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;">the director is removed from office by the directors if the director is convicted of an indictable offence or if the director ceases to be qualified to act as a director of our company and does not promptly resign.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Common Share Rights</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dividends</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Holders of our common shares are entitled to receive, from funds legally available therefor, dividends when and as declared by the board of directors, subject to any prior rights of the holders of our preferred shares if issued. The BCBCA provides that a company may not declare or pay a dividend if there are reasonable grounds for believing that the company is, or would be after the payment of the dividend, unable to pay its debts as they become due in the ordinary course of its business. These rights are subject to the rights, privileges, restrictions and conditions attaching to any other series or class of shares ranking senior in priority to or on a pro rata basis with the holders of common shares with respect to dividends. All holders of common shares will share equally on a per share basis in any dividend declared by the board of directors on the common shares. The dividend entitlement time limit will be fixed by the board of directors at the time any such dividend is declared. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Voting Rights</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The holders of common shares are entitled to receive notice of and to attend and vote at all meetings of our shareholders and each common share confers the right to one vote in person or by proxy at all meetings of our shareholders. 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 6pt 0pt;">Liquidation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">With respect to a distribution of assets in the event of our liquidation, dissolution or winding-up, whether voluntary or involuntary, or any other distribution of our assets for the purposes of winding up our affairs, assets available for distribution among the holders of common shares shall be distributed among the holders of the common shares on a <i style="font-style:italic;">pro rata</i> basis, subject to any prior rights of the holders of our preferred shares, if issued. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">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.<span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span>There are no provisions in our articles discriminating against any existing or prospective shareholder as a result of such shareholder owning a substantial number of our common shares. Our common shares are not subject to liability to further capital calls by our company. Also, no provisions or rights exist in our articles regarding our common shares in connection with exchange, redemption, retraction, purchase for cancellation, surrender or sinking or purchase funds.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Preferred Share Rights</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">General</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The preferred shares may include one or more series and, subject to the BCBCA, our board of directors may, by resolution, if none of the shares of that particular series are issued, alter our articles and authorize the alteration of our notice of articles, as the case may be, to fix the number of preferred shares in, and, in addition thereto, determine the designation, rights, privileges, restrictions and conditions attaching to the preferred shares of, such series, including without limitation:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the issue price per share, which may be expressed in a foreign currency, provided that the issue price per share shall not be less than C$1.00 (or its equivalent in a foreign currency at the date of issuance) or more than C$100.00 (or its equivalent in a foreign currency at the date of issuance);</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rate, amount or method of calculation of dividends, including whether such rate, amount or method shall be subject to change or adjustment in the future;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the method of payment of dividends, including whether such dividends shall be cumulative, non-cumulative, partially cumulative, deferred or payable on some other basis;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(d)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the date or dates, manner and currency or currencies of payment of dividends;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(e)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the restrictions, if any, on the payments of dividends on any Junior Shares (defined below);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(f)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rights and obligations, if any, that we have to redeem or purchase the shares, including the prices and other terms of redemption or purchase;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(g)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the terms of any share purchase plan or sinking or similar fund providing for the purchase or redemption of the shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(h)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rights, if any, of the holders of the shares to retract the shares, including the prices and other terms of retraction;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(i)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rights, if any, of the holders of the shares or of us to convert or exchange the shares for other securities of ours or any other entity and the rates and other terms of conversion or exchange;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(j)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the voting rights, if any, attached to the shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(k)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the preferences, if any, of the shares over any Junior Shares with respect to the distribution of our assets in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of our property or assets among our shareholders for the purpose of winding up its affairs, whether voluntary or involuntary.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">&#8220;Junior Shares&#8221; means the common shares and any other of our shares ranking junior to the preferred shares with respect to the payment of dividends and with respect to the distribution of assets in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of our property or assets among our shareholders for the purpose of winding up its affairs, whether voluntary or involuntary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Voting Rights</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Except where the rights, privileges, restrictions and conditions attaching to a series of our preferred shares otherwise provide, the holders of our preferred shares shall not be entitled as such to receive notice of, or to attend or vote at, a meeting of our shareholders. Except where the rights, privileges, restrictions and conditions attaching to a series of our preferred shares otherwise provide, on any poll taken at any meeting of the holders of preferred shares, whether as a class or a series or two or more series, each holder of preferred shares entitled to vote at the meeting shall have one one-hundredth of a vote in respect of each C$1.00 (or its equivalent in a foreign currency at the date of issuance) of the issue price for each preferred share held. Except where the rights, privileges, restrictions and conditions attaching to a series of our preferred shares otherwise provide, the formalities to be observed with respect to the giving of notice of, and voting at, any meeting of holders of preferred shares, including without limitation, the quorum therefor, shall be those from time to time prescribed by our articles with respect to meetings of shareholders, as amended from time to time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Creation of Additional Classes and Other Matters</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Subject to the rights, privileges, restrictions and conditions attaching to a series of our preferred shares, we may, without the approval or consent of the holders of the preferred shares voting separately as a class or series, at any time and from time to time:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">create one or more other classes of shares ranking on a parity with the preferred shares with respect to the payment of dividends or the distribution of assets in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of our property or assets among our shareholders for the purpose of winding up our affairs, whether voluntary or involuntary;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">if all dividends on each outstanding series of preferred shares accrued to the most recently preceding date for the payment of dividends on such series shall have been declared and paid or set apart for payment, create one or more other classes of shares ranking superior to the preferred shares with respect to the payment of dividends or the distribution of assets in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of our property or assets among our shareholders for the purpose of winding up our affairs, whether voluntary or involuntary;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">increase any maximum number of authorized shares of any other class of shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(d)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">effect an exchange, reclassification or cancellation of all or part of the preferred shares.</span></td></tr></table><div style="margin-top:12pt;"></div></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Liquidation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">With respect to a distribution of assets in the event of our liquidation, dissolution or winding-up, whether voluntary or involuntary, or any other distribution of our assets for the purposes of winding up our affairs, whether voluntary or involuntary, before any amount shall be paid to, or any property distributed among, the holders of our common shares, the holders of our preferred shares shall be entitled to receive:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the amount paid up on such shares or such other amount or amounts as have been provided for with respect to such shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the premium, if any, provided for with respect to such shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">in the case of shares entitled to cumulative dividends, any unpaid cumulative dividends on such shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(d)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">in the case of shares entitled to non-cumulative dividends, any declared but unpaid non-cumulative dividends on such shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">After payment of the amounts payable to them, the holders of our preferred shares shall not be entitled to share in any further distribution of our property and assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">No Pre-Emptive Rights</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The holders of our preferred shares shall not be entitled as such to subscribe for, purchase or receive any part of any issue of our securities, now or hereafter authorized, or any rights to acquire the same, otherwise than in accordance with any conversion, exchange or other rights which may from time to time be attached to any series of preferred shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Procedures to Change the Rights of Shareholders</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our articles provide that, subject to the BCBCA, our company may by resolution of our directors: (a) create one or more classes or series of shares or, if none of the shares of a class or series of shares are allotted or issued, eliminate that class or series of shares; (b) increase, reduce or eliminate the maximum number of shares that our company is authorized to issue out of any class or series of shares or establish a maximum number of shares that our company is authorized to issue out of any class or series of shares for which no maximum is established; (c) if our company is authorized to issue shares of a class of shares with par value: (i) decrease the par value of those shares, (ii) if none of the shares of that class of shares are allotted or issued, increase the par value of those shares, (iii) subdivide all or any of its unissued or fully paid issued shares with par value into shares of smaller par value, or (iv) consolidate all or any of its unissued or fully paid issued shares with par value into shares of larger par value; (d) subdivide all or any of our unissued or fully paid issued shares without par value; &#160;(e) change all or any of our unissued or fully paid issued shares with par value into shares without par value or all or any of its unissued shares without par value into shares with par value; (f) alter the identifying name of any of our shares; (g) consolidate all or any of our unissued or fully paid issued shares without par value; (h) change the name of our company; or (i) otherwise alter our shares or authorized share structure when required or permitted to do so by the BCBCA.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The BCBCA provides that other amendments to the rights of shareholders may be made by a special resolution of our shareholders including amendments to (a) create special rights or restrictions for, and attach those special rights or restrictions to, the shares of any class or series of shares, whether or not any or all of those shares have been issued; or (b) vary or delete any special rights or restrictions attached to the shares of any class or series of shares, whether or not any or all of those shares have been issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">A special resolution of our shareholders would require the approval of holders of two-thirds of the votes of our company&#8217;s common shares cast at a duly called meeting of shareholders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Shareholder Meetings</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Each director holds office until our next annual general meeting or until his office is earlier vacated in accordance with our articles or with the provisions of the BCBCA. A director appointed or elected to fill a vacancy on our board also holds office until our next annual general meeting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Pursuant to our articles, we must hold an annual meeting of our shareholders at least once every calendar year 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 meeting of our shareholders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The BCBCA provides that the holders of not less than five percent of the issued shares of our company that carry the right to vote at a meeting sought to be held may give notice to the directors requiring them to call a meeting for the purposes stated in the requisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We must send notice of the date, time and location of any meeting of shareholders, in the manner provided in our articles, or in such other manner, if any, as may be prescribed by ordinary resolution (whether previous notice of the resolution has been given or not), to each shareholder entitled to attend the meeting and to each director, unless our articles otherwise provide, at least 21 days before 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our board of directors may set a date as the record date for the purpose of determining shareholders entitled to notice of any meeting of shareholders. The record date must not precede the date on which the meeting is to be held by more than two months or, in the case of a general meeting requisitioned by shareholders under the BCBCA, by more than four months. The record date must not precede the date on which the meeting is held by fewer than 21 days. If no record date is set, the record date is 5 p.m. on the day immediately preceding the first date on which the notice is sent or, if no notice is sent, the beginning 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 6pt 0pt;">Our board of directors may set a date as the record date for the purpose of determining shareholders entitled to vote at any meeting of shareholders. The record date must not precede the date on which the meeting is to be held by more than two months or, in the case of a general meeting requisitioned by shareholders under the BCBCA, by more than four months. If no record date is set as provided above, the record date for determining the shareholders entitled to vote at the meeting shall be 5:00 p.m. the day before the meeting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If a meeting of shareholders is to consider special business, the notice of meeting must:</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:72pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">state the general nature of the special business; 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:72pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">if the special business includes considering, approving, ratifying, adopting or authorizing any document or the signing of or giving of effect to any document, have attached to it a copy of the document or state that a copy of the document will be available for inspection by shareholders:</span></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(i)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">at the company&#8217;s records office, or at such other reasonably accessible location in British Columbia as is specified in the notice, 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:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(ii)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">during statutory business hours on any one or more specified days before the day set for the holding of the meeting.</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;">At a meeting of shareholders, the following business is special business:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">at a meeting of shareholders that is not an annual general meeting, all business is special business except business relating to the conduct of or voting at the meeting or the election or appointment of directors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">at an annual general meeting, all business is special business except for the following:</span></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:27pt;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;">business relating to the conduct of or voting at the meeting,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;">(ii)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">consideration of any of our financial statements presented to the meeting,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;">(iii)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">consideration of any reports of the directors or auditor,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;">(iv)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the setting or changing of the number of directors,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;">(v)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the election or appointment of directors,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;">(vi)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the appointment of an auditor,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;">(vii)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the setting of the remuneration of an auditor,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;">(viii)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">business arising out of a report of the directors not requiring the passing of a special resolution or an exceptional resolution, 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:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;">(ix)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any other business which, under our articles or the BCBCA, may be transacted at a meeting of shareholders without prior notice of the business being given to the shareholders.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The votes required for our company to pass a special resolution at a meeting of shareholders is two-thirds of the votes cast on the resolution.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the BCBCA, unless the &#8216;company&#8217;s articles provide otherwise, a quorum is present at a meeting of shareholders if two shareholders entitled to vote at the meeting are present whether in person or represented by proxy. Our articles provide that, subject to the special rights and restrictions attached to the shares of any affected class or series of shares, the quorum for the transaction of business at a meeting of shareholders is two or more persons, present in person or by proxy and together holding or representing by proxy shares carrying at least 331&#8260;3 percent of the votes entitled to be voted 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 10pt 0pt;">Our articles state that in addition to those persons who are entitled to vote at a meeting of our shareholders, the only other persons entitled to be present at the meeting are the directors, the president (if any), the secretary (if any), and any lawyer or auditor for our company.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Limitations on Ownership of Securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Except as provided below, there are no limitations specific to the rights of non-Canadians to hold or vote our shares under the laws of Canada or British Columbia, or in our articles.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Competition Act</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Limitations on the ability to acquire and hold our shares may be imposed by the <i style="font-style:italic;">Competition Act </i>(Canada). This legislation establishes a pre-merger notification regime for certain types of merger transactions that exceed certain statutory shareholding and financial thresholds. Transactions that are subject to notification cannot be closed until the required materials are filed and the applicable statutory waiting period has expired or been waived by the Commissioner of Competition, or the Commissioner. Further, the <i style="font-style:italic;">Competition Act </i>(Canada) permits the Commissioner to review any acquisition of control over or of a significant interest in us, whether or not it is subject to mandatory notification. This legislation grants the Commissioner jurisdiction, for up to one year, to challenge this type of acquisition before the Canadian Competition Tribunal if it would, or would be likely to, substantially prevent or lessen competition in any market in Canada.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 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 6pt 0pt;">The <i style="font-style:italic;">Investment Canada Act </i>requires notification and, in certain cases, advance review and approval by the Government of Canada, through the Minister of Innovation, Science and Industry (the &#8220;<b style="font-weight:bold;">Minister</b>&#8221;)<b style="font-weight:bold;">, </b>of an investment to establish a new Canadian business by a non-Canadian or of the acquisition by a non-Canadian of &#8220;control&#8221; of a &#8220;Canadian business&#8221;, all as defined in the Investment Canada Act. Generally, the threshold for advance review and approval will be higher in monetary terms for an investor who is controlled in a country that is a member of the World Trade Organization and who is not a state-owned enterprise. The <i style="font-style:italic;">Investment Canada Act </i>generally prohibits the implementation of such a reviewable transaction unless, after review, the Minister is satisfied that the investment is likely to be of net benefit to Canada. The <i style="font-style:italic;">Investment Canada Act </i>contains various rules to determine if there has been an acquisition of control. For example, for purposes of determining whether an investor has acquired control of a corporation by acquiring shares, the following general rules apply, subject to certain exceptions: (1) the acquisition of a majority of the voting shares of a corporation is deemed to be acquisition of control of that corporation; (2) the acquisition of less than a majority but one-third or more of the voting shares of a corporation is presumed to be an acquisition of control of that corporation unless it can be established that, on the acquisition, the corporation is not controlled in fact by the acquiror through the ownership of voting shares; and (3) the acquisition of less than one-third of the voting shares of a corporation is deemed not to be acquisition of control of that corporation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">In addition, under the <i style="font-style:italic;">Investment Canada Act</i>, &#8220;national security&#8221; review on a discretionary basis may also be undertaken by the federal Canadian government in respect of a much broader range of investments by a non-Canadian to &#8220;acquire, in whole or in part, or to establish an entity carrying on all or any part of its operations in Canada&#8221;, with the relevant test being whether the Minister has &#8220;reasonable grounds to believe that an investment by a non-Canadian could be injurious to national security.&#8221; The Minister has broad discretion to determine whether an investor is a non-Canadian and therefore may be subject to &#8220;national security&#8221; review. Review on national security grounds is at the discretion of the federal government and may occur on a pre- or post-closing basis. If the Minister, after consultation with the Minister of Public Safety and Emergency Preparedness, considers that the investment could be injurious to &#8220;national security&#8221;, the Minister refers the investment to the Governor in Council. On referral of an investment, if the Governor in Council determines the investment could be injurious to &#8220;national security&#8221;, the Governor in Council may takes any measures in respect of the investment that it considers advisable to protect national security, including denying the investment, asking for undertakings, imposing terms or conditions for the investment, or ordering divestiture (if the investment has been completed). Any of these provisions may discourage a potential acquirer from proposing or completing a transaction that may have otherwise presented a premium 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Provisions that would have an Effect of Delaying, Deferring or Preventing a Change of Control</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following provisions in our articles may deprive our shareholders of the opportunity to sell their shares at a premium over the prevailing market price by delaying, deferring 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:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#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. Subject to the BCBCA, our board of directors may, if none of the shares of that particular series are issued, establish the number of shares to be included in each such series and may fix the designations, preferences, powers and other rights of the shares of a series of preferred shares.</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:6pt;margin-left: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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width: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;">In accordance with the provisions of the BCBCA, our articles provide that the number of directors on our board of directors is set at the greater of three directors and such number of directors equal to the number of directors most recently elected by ordinary resolution at a meeting of shareholders. However, our articles also provide that between general meetings of shareholders, our board of directors may appoint one or more additional directors, subject to the limitation that the total number of directors so appointed may not exceed one third of the number of the current directors who were elected other than under this provision of our articles. Any director so appointed ceases to hold office immediately before the election of directors at the next annual meeting of shareholders but is eligible for re-election.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Otherwise, there are no provisions in our articles or in the BCBCA that would have an effect of delaying, deferring or preventing a change in control of our company which would operate with respect to a merger, acquisition or corporate restructuring involving our company or any of our subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Provisions Governing the Ownership Threshold Above Which Shareholder Ownership Must be Disclosed</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our articles do not have any specific threshold requiring disclosure of ownership by holders of our shares. The BCBCA 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 the company 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 the Company&#8217;s issued and outstanding shares. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Conditions Imposed by Our Articles 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 our articles governing changes in capital are not more stringent than is required by applicable laws, including the BCBCA.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">C</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">Material Contracts</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have not entered into any material contracts other than in the ordinary course of business and other than those described in &#8220;Item&#160;4. Information on the Company&#8221; or elsewhere in this annual report on Form&#160;20-F.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">D</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">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:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">E</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">Taxation</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Principal Canadian Federal Tax Considerations</span><span style="font-style:italic;font-weight:bold;background:#ffff00;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">General</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following is a summary of the principal Canadian federal income tax implications generally applicable to a U.S.&#160;Holder (defined below), who holds or acquires our common shares, or the Common Shares, and who, at all relevant times, for purposes of the Income Tax&#160;Act (Canada), or the Canadian Tax&#160;Act, (i)&#160;is the beneficial owner of such Common Shares; (ii)&#160;has not been, is not and will not be resident (or&#160;deemed to be resident) in Canada at any time while such U.S.&#160;Holder has held or holds the Common Shares; (iii)&#160;holds the Common Shares as capital property; (iv)&#160;deals at arm&#8217;s length with and is not affiliated with us; (v)&#160;does not use or hold, and is not deemed to use or hold, the Common Shares in the course of carrying on a business in Canada; (vi)&#160;is not part of a transaction or event or series of transactions or events that includes the acquisition or holding of Common Shares so as to cause the foreign affiliate dumping rules in section&#160;212.3 of the Canadian Tax&#160;Act to apply; (vii)&#160;is not a &#8220;specified shareholder&#8221; of us as defined subsection&#160;18(5) of the Canadian Tax&#160;Act; (viii)&#160;is not a financial institution, specified financial institution, partnership or trust as defined in the Canadian Tax&#160;Act; (ix)&#160;is a resident of the United&#160;States for purposes of the Canada&#8212;United&#160;States Income Tax Convention (1980), or the Convention, and is fully entitled to the benefits of the Convention; and (x)&#160;has not, does not and will not have a fixed base or permanent establishment in Canada within the meaning of the Convention at any time when such U.S.&#160;Holder has held or holds the Common Shares, or a U.S.&#160;Holder. Special rules that are not addressed in this summary may apply to a U.S.&#160;Holder that is an insurer that carries on, or is deemed to carry on, an insurance business in Canada and elsewhere or that is an authorized foreign bank as defined in the Canadian Tax&#160;Act and such U.S.&#160;Holders should consult their own tax&#160;advisers.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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 summary assumes that we are a resident of Canada for the purposes of the Canadian Tax&#160;Act. Should it be determined that we are not a resident of Canada for the purposes of the Canadian Tax&#160;Act by virtue of being resident in another country (such as the PRC) by virtue of the application of an income tax convention between Canada and that other country, the Canadian income tax consequences to a U.S.&#160;Holder will differ from those described herein and U.S.&#160;Holders should consult their own tax&#160;advisors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This summary is based on the current provisions of the Canadian Tax&#160;Act, and the regulations thereunder, the Convention, and our counsel&#8217;s understanding of the published administrative practices and policies of the Canada Revenue Agency, all in effect as of the date of this annual report on Form&#160;20-F. This summary takes into account all specific proposals to amend the Canadian Tax&#160;Act or the regulations thereunder publicly announced by or on behalf of the Minister of Finance (Canada) prior to the date of this annual report on Form&#160;20-F. No assurances can be given that such proposed amendments will be enacted in the form proposed, or at all. This is not an exhaustive summary of all potential Canadian federal income tax consequences to a U.S.&#160;Holder and this summary does not take into account or anticipate any other changes in law or administrative practices, whether by judicial, governmental or legislative action or decision, nor does it take into account provincial, territorial or foreign tax legislation or considerations, which may differ from the Canadian federal income tax considerations described herein.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Canadian federal income tax consequences of purchasing, owning and disposing of Common Shares will depend on each U.S.&#160;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.&#160;Holder or prospective purchaser of Common Shares. Accordingly, U.S.&#160;Holders or prospective purchasers of Common Shares should consult their own tax advisors for advice with respect to the Canadian federal income tax consequences of an investment in Common Shares based on their own particular circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dividends</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Amounts paid or credited, or deemed under the Canadian Tax&#160;Act to be paid or credited, on account or in lieu of payment of, or in satisfaction of, dividends to a U.S.&#160;Holder that has provided the requisite documentation regarding its entitlement to benefits under the Convention will be subject to Canadian non-resident withholding tax at the reduced rate of 15% under the Convention. This rate is further reduced to 5% in the case of a U.S.&#160;Holder that is a company for purposes of the Convention that owns at least 10% of our voting shares at the time the dividend is paid or deemed to be&#160;paid.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Disposition of Our Common Shares</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A U.S.&#160;Holder will not be subject to income tax under the Canadian Tax&#160;Act in respect of any capital gain realized on a disposition or deemed disposition of its Common Shares unless, at the time of disposition, the Common Shares constitute &#8220;taxable Canadian property&#8221; of the U.S.&#160;Holder for the purposes of the Canadian Tax&#160;Act and the U.S.&#160;Holder is not otherwise entitled to an exemption under the&#160;Convention.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Generally, a Common Share owned by a U.S.&#160;Holder will not be taxable Canadian property of the U.S.&#160;Holder at a particular time provided that, at that time, the common shares of our company are listed on a designated stock exchange (which currently includes the Nasdaq), unless at any time in the previous 60&#160;month&#160;period:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the U.S.&#160;Holder and persons with whom the U.S.&#160;Holder does not deal at arm&#8217;s length alone or in any combination has owned 25% or more of the shares of any class or series of shares in the capital 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:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">more than 50% of the fair market value of the Common Shares is derived directly or indirectly from one or any combination of real or immovable property situated in Canada, Canadian resource properties, timber resource properties, and options in respect of, or interest in or rights in any such properties, whether or not such property exists;&#160;or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the Common Shares are otherwise deemed under the Canadian Tax&#160;Act to be taxable Canadian property.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">U.S.&#160;Holders for whom the Common Shares are, or may be, taxable Canadian property should consult their own tax&#160;advisors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Canada&#8212;United&#160;States Income Tax Convention</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Convention includes a complex limitation on benefits provision. U.S.&#160;Holders are urged to consult their own tax advisors to determine their entitlement to benefits under the&#160;Convention.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">United&#160;States Federal Income Taxation </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following discussion describes the material United States federal income tax consequences to a United States Holder (as defined below), under current law, of an investment in our common shares. This discussion is based on the federal income tax laws of the United States as of the date of this annual report on Form 20-F, including the United States Internal Revenue Code of 1986, as amended, or the Code, existing and proposed Treasury regulations promulgated thereunder, judicial authority, published administrative positions of the United States Internal Revenue Service, or IRS, and other applicable authorities, all as of the date of this annual report on Form 20-F. All of the foregoing authorities are subject to change, which change could apply retroactively and could significantly affect the tax consequences described below. We have not sought any ruling from the IRS with respect to the statements made and the conclusions reached in the following discussion and there can be no assurance that the IRS or a court will agree with our statements and conclusions. This discussion, moreover, does not address the United States federal estate, gift, Medicare, and alternative minimum tax consequences, or any state, local and non-United States tax consequences, relating to an investment in our common shares. Except as explicitly described below, this discussion does not address any tax consequences or reporting obligations that may be applicable to persons holding our common shares through a bank, financial institution or other entity, or a branch thereof, located, organized or resident outside the United States, and does not describe any tax consequences arising in respect of the &#8220;Foreign Account Tax Compliance Act&#8221;, or FATCA, regime.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This discussion applies only to a United&#160;States Holder (as&#160;defined below) that holds our common shares as capital assets for United&#160;States federal income tax purposes (generally, property held for investment). The discussion neither addresses the tax consequences to any particular investor nor describes all of the tax consequences applicable to persons in special tax situations such&#160;as:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">banks and certain other financial institutions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">insurance companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">regulated investment companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">real estate investment trusts;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">brokers or dealers in stocks and securities, or currencies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons that use or are required to use a mark-to-market method of accounting;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">certain former citizens or residents of the United&#160;States subject to Section&#160;877 of the&#160;Code;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">entities subject to the United&#160;States anti-inversion rules;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">tax-exempt organizations and entities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons subject to the alternative minimum tax provisions of the Code;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons whose functional currency is other than the United&#160;States dollar;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons holding common shares as part of a straddle, hedging, conversion or integrated transaction;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons that actually or constructively own common shares representing 10% or more of our total voting power or&#160;value;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons who acquired common shares pursuant to the exercise of an employee stock option or otherwise as compensation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">partnerships or other pass-through entities, or persons holding common shares through such&#160;entities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons required to accelerate the recognition of any item of gross income with respect to our common shares as a result of such income being recognized on an applicable financial statement;&#160;or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons that held, directly, indirectly or by attribution, common shares or other ownership interest in us prior to our initial public offering.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If a partnership (including an entity or arrangement treated as a partnership for United States federal income tax purposes) holds our common shares, the tax treatment of a partner in the partnership generally will depend upon the status of the partner and the activities of the partnership. A partnership holding our common shares, or a partner in such a partnership, should consult its tax advisors regarding the tax consequences of investing in and holding our common shares.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;"><b style="font-weight:bold;">THE FOLLOWING DISCUSSION IS FOR INFORMATIONAL PURPOSES ONLY AND IS NOT A SUBSTITUTE FOR CAREFUL TAX PLANNING AND ADVICE. HOLDERS SHOULD CONSULT THEIR TAX ADVISORS WITH RESPECT TO THE APPLICATION OF THE UNITED STATES FEDERAL INCOME TAX LAWS TO THEIR PARTICULAR SITUATIONS, AS WELL AS ANY TAX CONSEQUENCES ARISING UNDER THE FEDERAL ESTATE OR GIFT TAX LAWS OR THE LAWS OF ANY STATE, LOCAL OR NON-UNITED STATES TAXING JURISDICTION OR UNDER ANY APPLICABLE TAX&#160;TREATY.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For purposes of the discussion below, a &#8220;United&#160;States Holder&#8221; is a beneficial owner of our common shares that is, for United&#160;States federal income tax&#160;purposes:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">an individual who is a citizen or resident of the United&#160;States;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a corporation created or organized in or under the laws of the United&#160;States, any state thereof or the District of&#160;Columbia;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">an estate, the income of which is subject to United&#160;States federal income taxation regardless of its source;&#160;or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a trust, if (i)&#160;a court within the United&#160;States is able to exercise primary jurisdiction over its administration and one or more United&#160;States persons have the authority to control all of its substantial decisions or (ii)&#160;in the case of a trust that was treated as a domestic trust under the law in effect before 1997, a valid election is in place under applicable Treasury regulations to treat such trust as a domestic&#160;trust.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dividends and Other Distributions on the Common Shares</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Subject to the passive foreign investment company rules discussed below, the gross amount of any distribution that we make to you with respect to our common shares (including any amounts withheld to reflect Canadian or PRC withholding taxes) will be taxable as a dividend, to the extent paid out of our current or accumulated earnings and profits, as determined under United&#160;States federal income tax principles. Such income (including any withheld taxes) will be includable in your gross income on the day actually or constructively received by you. Because we do not intend to determine our earnings and profits on the basis of United&#160;States federal income tax principles, any distribution paid generally will be reported as a &#8220;dividend&#8221; for United&#160;States federal income tax purposes. Such dividends will not be eligible for the dividends-received deduction allowed to qualifying corporations under the&#160;Code.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dividends received by a non-corporate United States Holder may qualify for the lower rates of tax applicable to &#8220;qualified dividend income,&#8221; if the dividends are paid by a &#8220;qualified foreign corporation&#8221; and other conditions discussed below are met. A non-United States corporation is treated as a qualified foreign corporation (a) with respect to dividends paid by that corporation on shares that are readily tradable on an established securities market in the United States or (b) if such non-United States corporation is eligible for the benefits of a qualifying income tax treaty with the United States that includes an exchange of information program. However, a non-United States corporation will not be treated as a qualified foreign corporation if it is a passive foreign investment company in the taxable year in which the dividend is paid or the preceding taxable year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under a published IRS Notice, common shares are considered to be readily tradable on an established securities market in the United States if they are listed on the Nasdaq Global Market, as our common shares are, but we cannot guarantee that our common shares will always be so listed. In addition, we may be eligible for the benefits of the income tax treaty between the United States and Canada, or, if we are treated as a PRC resident enterprise under the PRC tax law (see &#8220;&#8212;People&#8217;s Republic of China Taxation&#8221;) then we may be eligible for the benefits of the income tax treaty between the United States and the PRC. If we are eligible for such benefits, then dividends that we pay to certain non-corporate United States Holders on our common shares would, subject to applicable limitations, be eligible for the reduced rates of taxation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Even if dividends would be treated as paid by a qualified foreign corporation, a non-corporate United States Holder will not be eligible for reduced rates of taxation if it does not hold our common shares for more than 60 days during the 121-day period beginning 60 days before the ex-dividend date (disregarding certain periods of ownership while the United States Holder&#8217;s risk of loss is diminished) or if such United States Holder elects to treat the dividend income as &#8220;investment income&#8221; pursuant to Section 163(d)(4) of the Code. In addition, the rate reduction will not apply to dividends of a qualified foreign corporation if the non-corporate United States Holder receiving the dividend is obligated to make related payments with respect to positions in substantially similar or related property.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">You should consult your tax advisors regarding the availability of the lower tax rates applicable to qualified dividend income for any dividends that we pay with respect to the common shares, as well as the effect of any change in applicable law after the date of this annual report on Form 20-F.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">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 you should consult your tax advisors regarding the availability of a foreign tax credit in your particular circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The amount of any dividend paid in currency other than the United States dollar will be the dividend&#8217;s United States dollar value calculated by reference to the exchange rate in effect on the date of receipt, regardless of whether the payment is in fact converted into United States dollars. A United States Holder may have foreign currency gain or loss, which generally will be United States source ordinary income or loss, if any dividend is converted into United States dollars after the date of receipt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Disposition of the Common Shares</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">You will recognize gain or loss on a sale or exchange of our common shares in an amount equal to the difference between the amount realized on the sale or exchange and your tax basis in the common shares. Subject to the discussion under &#8220;-Passive Foreign Investment Company&#8221; below, such gain or loss generally will be capital gain or loss. Capital gains of a non-corporate United States Holder, including an individual, that has held the common share for more than one year currently are eligible for reduced tax rates. The deductibility of capital losses is subject to limitations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Any gain or loss that you recognize on a disposition of our common shares generally will be treated as United States-source income or loss for foreign tax credit limitation purposes. However, if we are treated as a PRC resident enterprise for PRC tax purposes and PRC tax is imposed on gain from the disposition of our common shares (see &#8220;&#8212;People&#8217;s Republic of China Taxation&#8221;) then a United States Holder that is eligible for the benefits of the income tax treaty between the United States and the PRC may elect to treat the gain as PRC-source income for foreign tax credit purposes. If such an election is made, the gain so treated will be treated as a separate class or &#8220;basket&#8221; of income for purposes of the foreign tax credit. You should consult your tax advisors regarding the proper treatment of gain or loss, as well as the availability of a foreign tax credit, in your particular circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A United States Holder that receives currency other than the United States dollar upon the sale or other disposition of our common shares generally will realize an amount equal to the United States dollar value of the foreign currency on the date of such sale or other disposition or, if our common shares are traded on an established securities market, in the case of cash basis and electing accrual basis taxpayers, the settlement date. If a United States Holder is not able to treat the settlement date as the realization date, the United States Holder generally will recognize currency gain or loss if the United States dollar value of the currency received on the settlement date differs from the amount realized. A United States Holder will have a tax basis in the currency received equal to the United States dollar amount at the spot rate on the settlement date. Generally, any gain or loss realized by a United States Holder on a subsequent conversion or disposition of such currency will be United States source ordinary income or loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Passive Foreign Investment Company</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Based on the value of our assets and the nature and composition of our income and assets, we do not believe we were a passive foreign investment company, or PFIC, for United States federal income tax purposes for our taxable year ended December 31, 2021. PFIC status is based on an annual determination that cannot be made until the close of a taxable year, involves extensive factual investigation, including ascertaining the fair market value of all of our assets on a quarterly basis and the character of each item of income that we earn, and is subject to uncertainty in several respects. Moreover, we cannot guarantee that the United States Internal Revenue Service, or IRS, will agree with any positions that we take. Accordingly, we cannot assure you that we will not be treated as a PFIC for any taxable year or that the IRS will not take a position contrary to any position that we take.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We will be treated as a PFIC for United States federal income tax purposes for any taxable year if, applying applicable look-through rules, either:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">at least 75% of our gross income for such year is passive income; or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">at least 50% of the value of our assets (generally determined based on a quarterly average) during such year is attributable to assets that produce or are held for the production of passive income.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For this purpose, passive income generally includes dividends, interest, royalties, rents and gains from commodities transactions (other than certain royalties, rents and commodities gains derived in the active conduct of a trade or business and not derived from a related person). We will be treated as owning a proportionate share of the assets and earning a proportionate share of the income of any other corporation in which we own, directly or indirectly, more than 25% by value of the stock. We hold a substantial amount of cash and other assets treated as producing passive income and if the percentage of our assets treated as producing passive income increases, we may be more likely to be a PFIC for the current or one or more future taxable years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Changes in the nature or composition of our income or assets may cause us to be more likely to be a PFIC. The determination of whether we will be a PFIC for any taxable year also may depend in part upon the value of our goodwill and other unbooked intangibles not reflected on our balance sheet (which may be determined based upon the market value of the common shares from time to time, which may be volatile) and by how, and how quickly, we spend our liquid assets and the cash we generate from our operations. Among other matters, if our market capitalization declines, we may be a PFIC because our liquid assets and cash (which are for this purpose considered assets that produce passive income) may then represent a greater percentage of our overall assets. Further, while we believe our classification methodology and valuation approach (including, if relevant, any approach taken with respect to our market capitalization) are reasonable, it is possible that the IRS may challenge our classification or valuation of our goodwill and other unbooked intangibles, which may result in our being or becoming a PFIC for the current taxable year or one or more future taxable years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during your holding period for our common shares, we will continue to be treated as a PFIC with respect to you for all succeeding years during which you hold common shares, unless we were to cease to be a PFIC and you make a &#8220;deemed sale&#8221; election with respect to the common shares. If such election is made, you will be deemed to have sold the common shares you hold at their fair market value and any gain from such deemed sale would be subject to the rules described in the following two paragraphs. After the deemed sale election, so long as we do not become a PFIC in a subsequent taxable year, your common shares with respect to which such election was made will not be treated as shares in a PFIC and, as a result, you will not be subject to the rules described below with respect to any &#8220;excess distribution&#8221; you receive from us or any gain from a sale or other taxable disposition of the common shares. You are strongly urged to consult your tax advisors as to the possibility and consequences of making a deemed sale election if we are and then cease to be a PFIC and such an election becomes available to you.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during your holding period for our common shares, then, unless you make a &#8220;mark-to-market&#8221; election (as discussed below), you generally will be subject to special and adverse tax rules with respect to any &#8220;excess distribution&#8221; that you receive from us and any gain that you recognize from a sale or other disposition, including a pledge, of the common shares. For this purpose, distributions that you receive in a taxable year that are greater than 125% of the average annual distributions that you received during the shorter of the three preceding taxable years or your holding period for the common shares will be treated as an excess distribution. Under these rules:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the excess distribution or recognized gain will be allocated ratably over your holding period for the common shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the amount of the excess distribution or recognized gain allocated to the taxable year of distribution or gain, and to any taxable years in your holding period prior to the first taxable year in which we were treated as a PFIC, will be treated as ordinary income; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the amount of the excess distribution or recognized gain allocated to each other taxable year will be subject to the highest tax rate in effect for individuals or corporations, as applicable, for each such year and the resulting tax will be subject to the interest charge generally applicable to underpayments of tax.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during your holding period for our common shares and any of our non-United States subsidiaries or other corporate entities in which we directly or indirectly own equity interests is also a PFIC, you would be treated as owning a proportionate amount (by value) of the shares of each such non-United States entity classified as a PFIC (each such entity, a lower-tier PFIC) for purposes of the application of these rules. You should consult your tax advisor regarding the application of the PFIC rules to any of our lower tier PFICs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during your holding period for our common shares, then in lieu of being subject to the tax and interest-charge rules discussed above, you may make an election to include gain on the common shares as ordinary income under a mark-to-market method, provided that the common shares constitute &#8220;marketable stock.&#8221; Marketable stock is stock that is regularly traded on a qualified exchange or other market, as defined in applicable Treasury regulations. Our common shares are listed on the Nasdaq Global Market, which is a qualified exchange or other market for these purposes. Consequently, as long as our common shares are regularly traded, and you are a holder of such common shares, we expect that the mark-to-market election would be available to you, if we become a PFIC, but no assurances are given in this regard.</p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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;">Because a mark-to-market election cannot be made for any lower-tier PFICs that we may own, if we were a PFIC for any taxable year, a United States Holder that makes a mark-to-market election with respect to our common shares may continue to be subject to the tax and interest charges under the general PFIC rules with respect to such United States Holder&#8217;s indirect interest in any investments held by us that are treated as an equity interest in a PFIC for United States federal income tax purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In certain circumstances, a United States holder of shares in a PFIC may avoid the adverse tax and interest-charge regime described above by making a &#8220;qualified electing fund&#8221; election to include in income its share of the corporation&#8217;s income on a current basis. However, you may make a qualified electing fund election with respect to your common shares only if we agree to furnish you annually with a PFIC annual information statement as specified in the applicable Treasury regulations. We currently do not intend to prepare or provide the information that would enable you to make a qualified electing fund election.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A United States Holder that holds our common shares in any year in which we are classified as a PFIC will be required to file an annual report containing such information as the United States Treasury Department may require. You should consult your tax advisor regarding the application of the PFIC rules to your ownership and disposition of the common shares and the availability, application and consequences of the elections discussed above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Information Reporting and Backup Withholding</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Information reporting to the IRS and backup withholding generally will apply to dividends in respect of our common shares, and the proceeds from the sale or exchange of our common shares, that are paid to you within the United&#160;States (and&#160;in certain cases, outside the United&#160;States), unless you furnish a correct taxpayer identification number and make any other required certification, generally on IRS Form&#160;W-9, or&#160;you otherwise establish an exemption from information reporting and backup withholding. Backup withholding is not an additional tax. Amounts withheld as backup withholding generally are allowed as a credit against your United&#160;States federal income tax liability, and you may be entitled to obtain a refund of any excess amounts withheld under the backup withholding rules if you file an appropriate claim for refund with the IRS and furnish any required information in a timely&#160;manner.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">United&#160;States Holders should consult their tax advisors regarding the application of the information reporting and backup withholding rules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Information with Respect to Foreign Financial Assets</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">United&#160;States Holders who are individuals (and&#160;certain entities closely held by individuals) generally will be required to report our name, address and such information relating to an interest in the common shares as is necessary to identify the class or issue of which your common shares are a part. These requirements are subject to exceptions, including an exception for common shares held in accounts maintained by certain financial institutions and an exception applicable if the aggregate value of all &#8220;specified foreign financial assets&#8221; (as&#160;defined in the Code) does not exceed&#160;US$50,000.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">United&#160;States Holders should consult their tax advisors regarding the application of these information reporting rules.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">People&#8217;s Republic of China Taxation </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law, which took effect as of January&#160;1, 2008 and amended on February&#160;24, 2017 and December&#160;29, 2018, enterprises established under the laws of non-PRC jurisdictions but whose &#8220;de&#160;facto management body&#8221; is located in China are considered &#8220;resident enterprises&#8221; for PRC tax purposes. Under the implementation regulations issued by the State Council relating to the EIT Law, &#8220;de facto management bodies&#8221; are defined as the bodies that have material and overall management and control over the business, personnel, accounts and properties of an enterprise. The Circular on Identification of China-controlled Overseas-registered Enterprises as Resident Enterprises on the Basis of Actual Management Organization, or Circular&#160;82, further provides certain specific criteria for determining whether the &#8220;de facto management body&#8221; of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a)&#160;the premises where the senior management and the senior management bodies responsible for the routine production and business management of the enterprise perform their functions are mainly located within the PRC, (b)&#160;decisions relating to the enterprise&#8217;s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c)&#160;the enterprise&#8217;s primary assets, accounting books and records, company seals, and board and shareholders&#8217; meeting minutes are located or maintained in the PRC and (d)&#160;50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although the Circular&#160;82 only applies to offshore enterprises controlled by enterprises or enterprise group located within the PRC, the determining criteria set forth in the Circular&#160;82 may reflect the tax authorities&#8217; general position on how the &#8220;de facto management body&#8221; test may be applied in determining the tax resident status of offshore enterprises. As the tax resident status of an enterprise is subject to the determination by the PRC tax authorities, uncertainties remain with respect to the interpretation of the term &#8220;de facto management body&#8221; as applicable to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law and its implementation regulations, dividends paid to a non-PRC investor are generally subject to a 10% PRC withholding tax, if such dividends are derived from sources within China and the non-PRC investor is considered to be a non-resident enterprise without any establishment or place within China or if the dividends paid have no connection with the non-PRC investor&#8217;s establishment or place within China, unless such tax is eliminated or reduced under an applicable tax treaty. Similarly, any gain realized on the transfer of shares or convertible notes by such investor is also subject to a 10% PRC withholding tax if such gain is regarded as income derived from sources within China, unless such tax is eliminated or reduced under an applicable tax&#160;treaty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The implementation regulations of the EIT Law provide that (a)&#160;if the enterprise that distributes dividends is domiciled in the PRC, or (b)&#160;if gains are realized from transferring equity interests of enterprises domiciled in the PRC, then such dividends or capital gains shall be treated as China-sourced income. Currently there are no detailed rules applicable to us that govern the procedures and specific criteria for determining the meaning of being &#8220;domiciled&#8221; in the PRC. As such, it is not clear how the concept of domicile will be interpreted under the EIT Law. Domicile may be interpreted as the jurisdiction where the enterprise is incorporated or where the enterprise is a tax&#160;resident.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As a result, if we are considered a PRC &#8220;resident enterprise&#8221; for tax purpose, it is possible that the dividends we pay with respect to our common shares to non-PRC enterprises, or the gain non-PRC enterprises may realize from the transfer of our common shares or our convertible notes, would be treated as income derived from sources within China and be subject to the PRC withholding tax at a rate of 10% or a lower applicable treaty rate for enterprises.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under the IIT Law, individual income tax is payable on PRC-source dividend income. The implementation regulations of the IIT Law provide that income from dividends derived from companies, enterprises and other economic organizations in China as well as income realized from transfer of properties in China is considered derived from sources inside China, regardless of whether the place of payment was inside China. Therefore, if we are treated as a company in China for tax purposes, any dividends we pay to our non-PRC individual shareholders as well as any gains realized by our non-PRC individual shareholders or our non-PRC individual note holders from the transfer of our common shares or our convertible notes may be regarded as China-sourced income and, consequently, be subject to PRC withholding tax at a rate of up to 20% or a lower applicable treaty rate for individuals.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">F</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">Dividends and Paying Agents</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">G</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">Statement by Experts</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">H</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">Documents on Display</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We previously filed with the SEC our registration statements on Form&#160;F-1 (File Number&#160;333-138144), initially filed on October&#160;23, 2006, and registration statements on Form&#160;F-3 (File Number&#160;333-208828), initially filed on January&#160;4,&#160;2016.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are subject to the periodic reporting and other informational requirements of the Exchange Act. Under the Exchange Act, we are required to file reports and other information with the SEC. Specifically, we are required to file annually a Form&#160;20-F within four months after the end of each fiscal year for fiscal years ending on or after December&#160;15, 2011. Copies of reports and other information, when so filed, may be inspected without charge and may be obtained at prescribed rates at the public reference facilities maintained by the Securities and Exchange Commission at 100&#160;F Street, N.E., Room&#160;1580, Washington,&#160;D.C. 20549. The public may obtain information regarding the Washington,&#160;D.C. Public Reference Room by calling the Commission at 1-800-SEC-0330. The SEC also maintains a web site at www.sec.gov that contains reports, proxy and information statements, and other information regarding registrants that make electronic filings with the SEC using its EDGAR system. As a foreign private issuer, we are exempt from the rules under the Exchange Act prescribing the furnishing and content of quarterly reports and proxy statements, and officers, directors and principal shareholders are exempt from the reporting and short-swing profit recovery provisions contained in Section&#160;16 of the Exchange&#160;Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our financial statements have been prepared in accordance with U.S.&#160;GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We will furnish our shareholders with annual reports, which will include a review of operations and annual audited consolidated financial statements prepared in conformity with U.S.&#160;GAAP.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">I</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">Subsidiary Information</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">For a listing of our significant subsidiaries, see &#8220;Item&#160;4. Information on the Company&#8212;C.&#160;Organizational Structure.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_86e5b1a0_a1cf_44b8_b801_6740d731afb2"></a><a id="ITEM11QUANTITATIVEANDQUALITATIVEDISCLOSU"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;11&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Foreign Exchange Risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business transactions are carried out in various currencies. The majority of our sales in 2021 are 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 Canadian dollars, while a substantial portion of our costs and expenses are denominated in Renminbi. From time to time, we enter into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars, Japanese yen, Australian dollars and Euros. These transactions involve sales, purchases, borrowings, and investments in currencies other than the functional currencies of different companies in CSI. Therefore, fluctuations in currency exchange rates could have a significant impact on the cash flows we expect to receive or pay. The fluctuations in exchange rates could cause us significant foreign currency transaction risk. We recorded a foreign exchange loss of $64.8 million and $47.2 million in 2020 and 2021, respectively. We cannot predict the impact of future exchange rate fluctuations on our results of operations and may incur net foreign currency losses in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2008, we have hedged part of our foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts in order to limit our exposure to fluctuations in foreign exchange rates. We incurred a gain on change in foreign currency derivatives of $51.2 million in 2020 and a gain on change in foreign currency derivatives of $22.8 million in 2021. The gains or losses on change in foreign currency derivatives are related to our hedging program.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, we had approximately $354.9 million equivalent of monetary net liabilities balances denominated in various transactional currencies. A 10% appreciation or depreciation of these transactional currencies against their corresponding functional currencies would have an impact of approximately $35.5 million on our foreign exchange loss or gain, excluding the effect of our hedging activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">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 and Australian dollars. The value of our common shares would be affected by the foreign currency translation risk resulted from the fluctuation between the U.S. dollar and functional currencies of our subsidiaries. To the extent we hold assets denominated in currencies other than U.S. dollars, any appreciation of such currencies against the U.S. dollars will likely result in an exchange gain while any depreciation will likely result in an exchange loss when we convert the value of these assets into U.S. dollar equivalent amounts. On the other hand, to the extent we have liabilities denominated in currencies other than U.S. dollars, any appreciation of such currencies against the U.S. dollar will likely result in an exchange loss while any depreciation will likely result in an exchange gain when we convert the value of these liabilities into U.S. dollar equivalent amounts. In addition, because our financing to scale operations could be in different currencies from our assets, our foreign exchange risks may increase.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As we continue to expand our business into new markets, particularly emerging markets, our total foreign currency exchange risk could increase significantly.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">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 used derivative financial instruments 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 $8.1 million from debt outstanding as of December 31, 2021 (a hypothetical increase of 1% would have resulted in an increase in annual interest expense of approximately $11.3 million from debt outstanding as of December 31, 2020).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Commodity Price Risk </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are exposed to price risks for the raw materials, components, logistics services, and energy costs used in the manufacturing and transportation of our solar modules, and EPC costs for our energy business. Also, our various subsidiaries within our energy business are exposed, in varying degrees, to commodity price risk, primarily to prices in the electricity markets. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Some of our raw materials and components are sourced from a limited number of suppliers. From time to time, we enter into long-term supply contracts for raw materials. Accordingly, we are exposed to price changes in the raw materials and components used in our solar modules. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, the failure of a key supplier could disrupt our supply chain, which could result in higher costs. To the extent that we are not able to pass these increased costs on to our customers, our business, cash flows, financial condition and results of operations may be materially and adversely affected. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">From time to time, we may utilize derivative hedging instruments to mitigate such raw material price changes. Also, we plan to continue to diversify our external wafer and polysilicon suppliers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">For our supply chain management, see &#8220;Item 4. Information of the Company&#8212;B. Business Overview&#8212;Supply Chain Management.&#8221; For risks relating to the long-term agreements with our raw material suppliers, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Long-term supply agreements may make it difficult for us to adjust our raw material costs should prices decrease. Also, if we terminate any of these agreements, we may not be able to recover all or any part of the advance payments we have made to these suppliers and we may be subject to litigation.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_dc8aba49_c0f2_415a_ab7c_95d108906c6a"></a><a id="ITEM12DESCRIPTIONOFSECURITIESOTHERTHANEQ"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;12&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">DESCRIPTION OF SECURITIES OTHER THAN EQUITY SECURITIES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><a id="_dcc0150a_c157_4474_a6b0_79213a30285e"></a><a id="PARTII_599435"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PART II</b></p><a id="ITEM13DEFAULTSDIVIDENDARREARAGESANDDELIN"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;13&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">DEFAULTS, DIVIDEND ARREARAGES AND DELINQUENCIES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">None of these events occurred in any of the years ended December 31, 2019, 2020 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_baee6cf0_d478_460c_9097_c400efc19243"></a><a id="ITEM14MATERIALMODIFICATIONSTOTHERIGHTSOF"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;14&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">MATERIAL MODIFICATIONS TO THE RIGHTS OF SECURITY HOLDERS AND USE</span><span style="font-style:italic;font-weight:bold;"> OF&#160;PROCEEDS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;Material Modifications to the Rights of Security Holders</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;10. Additional Information&#8212;B. Articles&#8221; for a description of the rights of shareholders, which remain unchanged.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_4147020b_a449_4fa8_96d5_1c3ea7837a1b"></a><a id="ITEM15CONTROLSANDPROCEDURES_777680"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;15&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CONTROLS AND PROCEDURES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Disclosure Controls and Procedures</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our management, with the participation of our chief executive officer and chief financial officer, has performed an evaluation of the effectiveness of our disclosure controls and procedures (as&#160;defined in Rule&#160;13a-15(e) under the Exchange Act) as of the end of the period covered by this report, as required by Rule&#160;13a-15(b) under the Exchange Act. Based upon that evaluation, our management has concluded that, as of the end of the period covered by this annual report, our disclosure controls and procedures were effective in ensuring that the information required to be disclosed by us in the reports that we file or submit under the Exchange Act was recorded, processed, summarized and reported, within the time periods specified in the SEC&#8217;s rules and forms, and that the information required to be disclosed by us in the reports that we file or submit under the Exchange Act is accumulated and communicated to our management, including our chief executive officer and chief financial officer, to allow timely decisions regarding required disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Management&#8217;s Annual Report on Internal Control over Financial Reporting</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as such item is defined in Rules&#160;13a-15(f) under the Exchange Act, for our company. Internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of consolidated financial statements in accordance with generally accepted accounting principles and includes those policies and procedures that (a)&#160;pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of a company&#8217;s assets; (b)&#160;provide reasonable assurance that transactions are recorded as necessary to permit preparation of consolidated financial statements in accordance with generally accepted accounting principles, and that a company&#8217;s receipts and expenditures are being made only in accordance with authorizations of a company&#8217;s management and directors; and (c)&#160;provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of a company&#8217;s assets that could have a material effect on the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As required by Section&#160;404 of the Sarbanes-Oxley Act of 2002 and related rules as promulgated by the Securities and Exchange Commission, our management assessed the effectiveness of our internal control over financial reporting as of December 31, 2021 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, 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;">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, 2021, has also audited the effectiveness of internal control over financial reporting as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Report of Independent Registered Public Accounting Firm</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">To the shareholders and the Board of Directors of Canadian Solar&#160;Inc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><b style="font-weight:bold;">Opinion on Internal Control over Financial Reporting</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have audited the internal control over financial reporting of Canadian Solar&#160;Inc. and subsidiaries (the&#160;&#8221;Company&#8221;) as of December 31, 2021, based on criteria established in <i style="font-style:italic;">Internal Control &#8212; Integrated Framework (2013)</i> 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, 2021, based on criteria established in <i style="font-style:italic;">Internal Control &#8212; Integrated Framework (2013)</i> issued by&#160;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&#160;States) (PCAOB), the consolidated financial statements as of and for the year ended December 31, 2021, of the Company and our report dated April&#160;28, 2022, 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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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 6pt 18pt;"><b style="font-weight:bold;">Basis for Opinion</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 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.&#160;federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the&#160;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&#160;opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><b style="font-weight:bold;">Definition and Limitations of Internal Control over Financial Reporting</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A company&#8217;s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company&#8217;s internal control over financial reporting includes those policies and procedures that (1)&#160;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)&#160;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)&#160;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 6pt 0pt;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:84.44%;"><tr style="height:1pt;"><td style="vertical-align:top;width:3.94%;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:top;width:96.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%;"><p style="font-family:'Times New Roman','Times','serif';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:3.94%;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:top;width:96.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP</p></td></tr><tr><td style="vertical-align:top;width:3.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:96.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shanghai, China</p></td></tr><tr><td style="vertical-align:top;width:3.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:96.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April&#160;28, 2022</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><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="_d8c8ebfb_2d5e_4afa_9585_22ddab40b14d"></a><a id="ITEM16AAUDITCOMMITTEEFINANCIALEXPERT_528"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16A&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">AUDIT COMMITTEE FINANCIAL EXPERT</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Our board of directors has determined that Lap Tat Arthur Wong qualifies as an &#8220;audit committee financial expert&#8221; as defined in Item&#160;16A of Form&#160;20-F. Each of the members of the audit committee is an &#8220;independent director&#8221; as defined in the Nasdaq Marketplace Rules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_77523787_15f5_49af_966b_204ade9359da"></a><a id="ITEM16BCODEOFETHICS_239445"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16B&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CODE OF ETHICS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Our board of directors has adopted a code of ethics that applies to our directors, officers, employees and agents, including certain provisions that specifically apply to our chief executive officer, chief financial officer, chief operations officer, chief technology officer, vice presidents and any other persons who perform similar functions for us. We have posted our code of business conduct on our website www.canadiansolar.com. We hereby undertake to provide to any person without charge, a copy of our code of business conduct and ethics within ten working days after we receive such person&#8217;s written request.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_9e6fd7c2_c0de_4150_9495_44689654913e"></a><a id="ITEM16CPRINCIPALACCOUNTANTFEESANDSERVICE"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16C&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">PRINCIPAL ACCOUNTANT FEES AND SERVICES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth the aggregate fees (in whole U.S. dollars) by categories specified below in connection with certain professional services rendered by Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP, our principal external auditors, for the periods indicated. We did not pay any other fees to our auditors during the periods indicated below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</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;">2021</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,830,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,680,000</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Audit related fees<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 876,993</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;"> 836,011</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;"> 7,549</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;"> &#8212;</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;">All other fees<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.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;"> 210,578</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;"> &#8212;</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:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;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></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;Audit related fees&#8221; represents the aggregate fees billed for assurance and related services by our principal auditors that are reasonably related to the performance of the audit or review of our consolidated financial statements and are not reported as audit fees. These include professional services rendered in connection with bond and equity offerings, statutory audits of our subsidiary companies, quarterly reviews and other related services. In 2020, &#8220;Audit related fees&#8221; included approximately $0.9 million for the statutory audits of our subsidiary companies. In 2021, &#8220;Audit related fees&#8221; included approximately $0.5 million for the &#8220;at-the-market&#8221; offering program of common shares and statutory audits of our subsidiary companies. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(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 2020 were for services rendered by our principal accountants for tax compliance, tax advice and tax&#160;planning.</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;">(4)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;All other fees&#8221;, refers to the consulting service for CRM in 2020.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The policy of our audit committee is to pre-approve all audit and non-audit services provided by Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP, including audit services, audit-related services, tax services and other services as described above, other than those for de minimis services which are approved by the Audit Committee prior to the completion of the audit. We have a written policy on the engagement of an external auditor.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_12c96be2_71f5_4345_9698_d1116c277908"></a><a id="ITEM16DEXEMPTIONSFROMTHELISTINGSTANDARDS"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16D&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">EXEMPTIONS FROM THE LISTING STANDARDS FOR AUDIT COMMITTEES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_a9215a21_eb33_424c_9ce5_f164c560c968"></a><a id="ITEM16EPURCHASESOFEQUITYSECURITIESBYTHEI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16E&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">PURCHASES OF EQUITY SECURITIES BY THE ISSUER AND AFFILIATED PURCHASERS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_7918625f_d29f_41f1_9c22_125fc6d80c6e"></a><a id="ITEM16FCHANGEINREGISTRANTSCERTIFYINGACCO"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16F&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CHANGE IN REGISTRANT&#8217;S CERTIFYING ACCOUNTANT</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_5057abd7_395d_463a_8098_88af0f79b0bd"></a><a id="ITEM16GCORPORATEGOVERNANCE_709109"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16G&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CORPORATE GOVERNANCE</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_2ac9d4c2_78bc_4a48_93a9_960dbd80bb3d"></a><a id="ITEM16HMINESAFETYDISCLOSURE_98133"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16H&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">MINE SAFETY DISCLOSURE</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><a id="_de3d58fc_86db_4397_9b32_650235486631"></a><a id="ITEM16IDISCLOSUREREGARDINGFOREIGNJURISDI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM 16I</b><span style="font-style:italic;font-weight:bold;">&#160;&#160;&#160;DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_0a220611_f812_4846_8dab_b8a2043340e6"></a><a id="PARTIII_868957"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PART III</b></p><a id="ITEM17FINANCIALSTATEMENTS_447947"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;17&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">FINANCIAL STATEMENTS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">We have elected to provide financial statements pursuant to Item&#160;18.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_e97aa3b9_77ea_4f02_b857_606494cc0d08"></a><a id="ITEM18FINANCIALSTATEMENTS_390910"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;18&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">FINANCIAL STATEMENTS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The consolidated financial statements of Canadian Solar&#160;Inc. are included at the end of this annual&#160;report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_bb85bdb7_ab31_4654_9e12_8a1506584d22"></a><a id="ITEM19EXHIBITS_403742"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;19&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">EXHIBITS</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:6.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:6.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Exhibit</b><br /><b style="font-weight:bold;">Number</b></p></td><td style="vertical-align:bottom;width:1.75%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:91.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Description of Document</b></p></td></tr><tr><td style="vertical-align:top;width:6.24%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">1.1</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/0001375877/000110465921051958/csiq-20201231xex1d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Notice of Articles, Certificate of Continuation and the Articles of Canadian Solar Inc (incorporated by reference to Exhibit 1.1 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:10pt;margin:0pt 0pt 6pt 0pt;">2.1</p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/0001375877/000110465921051958/csiq-20201231xex2d1.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, 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:10pt;margin:0pt 0pt 6pt 0pt;">2.2***</p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1375877/000110465922052219/csiq-20211231xex2d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Description of Securities of the Registrant&#8217;s Securities Registered Pursuant to Section 12 of the Securities Exchange Act of 1934</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">2.3</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/0001375877/000110465921051958/csiq-20201231xex2d3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Indenture, dated as of September 15, 2020, between Canadian Solar Inc. and The Bank of New York Mellon, as trustee (incorporated by reference to Exhibit 2.3 of our annual report on Form 20-F for the year ended December 31, 2020 (File No. 001-33107), initially filed with the Securities and Exchange Commission on April 19, 2021).</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">4.1</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000104746917002970/a2230964zex-4_1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amended and Restated Share Incentive Plan of the Registrant, effective on May 8, 2011 (incorporated by reference to Exhibit 4.1 of our annual report on Form 20-F for the year ended December 31, 2016 (File No. 001-33107), initially filed with the SEC on April 27, 2017)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">4.2</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000095012309011999/h03379exv4w1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Director Indemnity Agreement (incorporated by reference to Exhibit 4.1 of our annual report on Form 20-F for the year ended December 31, 2008 (File No. 001-33107), as amended, initially filed with the SEC on June 8, 2009)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">4.3</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000114554906001496/h00554exv10w2.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment Agreement between the Registrant and Dr. Shawn Qu (incorporated by reference to Exhibit 10.2 of our registration statement on Form F-1 (File No. 333-138144), as amended, initially filed with the SEC on October 23, 2006)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">4.4</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000095012311051124/h05069exv4w7.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Employment Agreement between the Registrant and its executive officers (incorporated by reference to Exhibit 4.7 of our annual report on Form 20-F for the year ended December 31, 2010 (File No. 001-33107), as amended, initially filed with the SEC on May 17, 2011)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">8.1***</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000110465922052219/csiq-20211231xex8d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">List of Significant Subsidiaries</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">12.1*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20211231xex12d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">CEO Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">12.2*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20211231xex12d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">CFO Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">13.1**</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20211231xex13d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">CEO Certification Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">13.2**</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20211231xex13d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">CFO Certification Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">15.1*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20211231xex15d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Consent of Deloitte Touche Tohmatsu Certified Public Accountants LLP</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">101***</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 4pt 0pt;"><span style="font-size:9.5pt;">Financial information from registrant for the year ended December 31, 2021 formatted in eXtensible Business Reporting Language (XBRL):</span></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 4pt 0pt;"><span style="font-size:9.5pt;">(i) Consolidated Balance Sheets as of December 31, 2020 and 2021; (ii) Consolidated Statements of Operations for the Years Ended December 31, 2019, 2020 and 2021; (iii) Consolidated Statements of Comprehensive Income for the Years Ended December 31, 2019, 2020 and 2021; (iv) Consolidated Statements of Changes in Equity for the Years Ended December 31, 2019, 2020 and 2021; (v) Consolidated Statements of Cash Flows for the Years Ended December 31, 2019, 2020 and 2021; (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;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: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;">Furnished herewith.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt;">*** Previously filed with the Original Filings</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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_d0601873_49b9_49c5_8068_ec7bd9a7bd51"></a><a id="SIGNATURES_548624"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">SIGNATURES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-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.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;width:3.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%;"></div></div></td><td style="vertical-align:bottom;width:45.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%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:50.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 colspan="2" style="vertical-align:bottom;width:49.55%;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.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-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:45.88%;margin:0pt;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.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:45.88%;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.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-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:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name: Shawn (Xiaohua) Qu</p></td></tr><tr><td style="vertical-align:bottom;width:50.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-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:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title: Chairman, President and</p></td></tr><tr><td style="vertical-align:bottom;width:50.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-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:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Chief Executive Officer</p></td></tr><tr><td style="vertical-align:bottom;width:50.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-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:45.88%;margin:0pt;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.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:45.88%;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.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-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:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name: Huifeng Chang</p></td></tr><tr><td style="vertical-align:bottom;width:50.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-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:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title: Director and</p></td></tr><tr><td style="vertical-align:bottom;width:50.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;width:3.66%;margin:0pt;padding:0pt;"><p style="font-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:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;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: October 18, 2022</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;">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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_dc24db02_c2a5_4f5f_b652_a2a1ac4913cd"></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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:AuditorFirmId" id="Narr_tmUFrjNPxE69SLWCA8n4Ow">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, 2020 and 2021</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, 2019, 2020 and 2021</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, 2019, 2020 and 2021</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, 2019, 2020 and 2021</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, 2019, 2020 and 2021</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; Financial Statement Schedule I</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-65</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_fad1d5a0_82db_4a49_ab71_2b69c56003ae"></a><a id="REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">To the Board of Directors and Shareholders of Canadian Solar&#160;Inc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Opinion on the Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have audited the accompanying consolidated balance sheets of Canadian Solar&#160;Inc. and subsidiaries (the&#160;&#8220;Company&#8221;) as of December 31, 2021 and 2020, 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, 2021, 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, 2021 and 2020, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2021, in conformity with accounting principles generally accepted in the United&#160;States of&#160;America.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 Company&#8217;s internal control over financial reporting as of December 31, 2021, based on criteria established in <i style="font-style:italic;">Internal Control &#8212; Integrated Framework (2013)</i> issued by the Committee of Sponsoring Organizations of the Treadway Commission and our report dated April 28, 2022, 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 6pt 0pt;"><b style="font-weight:bold;">Basis for Opinion</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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.&#160;federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the&#160;PCAOB.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;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&#160;opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Critical Audit Matter</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The critical audit matter communicated below is matter arising from the current period audit of the financial statements that was communicated or required to be communicated to the audit committee and that (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matter does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Revenue Recognition -sales of solar power projects - Refer to Note 2 (w) to the financial statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">Critical Audit Matter Description</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recognizes revenue from the sale of a solar power project at the point in time when a customer obtains control of the solar power project. The dollar amount of revenues from the sale of solar power projects was $1,198,483 thousand for the year ended December 31, 2021. The solar power projects are often held in separate legal entities which are formed for the special purpose of constructing the solar power projects, which the Company refers to as &#8220;project companies&#8221;. Management of the Company use its judgment to determine whether deconsolidation of the project companies is appropriate upon transfer of equity interest to the customers, to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We identified revenue recognition for sales of solar power projects as a critical audit matter because of the judgments necessary for management to determine whether it may derecognize the project companies according to Accounting Standard Codification (&#8220;ASC&#8221;) 810-10, 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></div><div style="clear:both;margin-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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><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;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our audit procedures related to management&#8217;s conclusion of de-recognition of the project companies, identification of performance obligations and estimation of variable consideration included the following, among others:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We tested the effectiveness of controls over revenue recognition for sales of solar power projects, including management&#8217;s controls over the conclusion with respect to de-recognition of the project companies, identification of performance obligation and estimation of variable consideration.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 0pt 18pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We selected a sample of solar power project sales and performed the following:</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Evaluated whether the fact patterns within the contracts and other relevant documents were properly included in management&#8217;s assessment in accordance with ASC 810-10.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Evaluated management&#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:18pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Tested the mathematical accuracy of management&#8217;s calculation of revenue for each performance obligation that can be recognized in a given period</span><span style="font-family:'Times New Roman','Times','serif';font-size:12pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;">/s/ <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:AuditorName" id="Narr_jcMYMOdgxECQxc-Rv2hoiw">Deloitte Touche Tohmatsu Certified Public Accountants&#160;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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="dei:AuditorLocation" id="Narr_ipW2WkYsxk2xk9oPgP2AsA">Shanghai China</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">April&#160;28, 2022</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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_3db83ab2_9744_4c00_8c22_e3c6a69979e8"></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_MZftAATi4kWGo-3zXr_O1w_1_2"></a><a id="Tc_c8J3K0riDUSnM1OsH6AyBA_1_4"></a><a id="Tc_Z6XXsV-qFEKf95K--val7w_2_2"></a><a id="Tc_3ynI95UlKkePMOE65jkmXw_2_4"></a><a id="Tc_IqGAce-V5EiQD0IM09zaVA_3_2"></a><a id="Tc_pkI0S-1tW0Kg3mfZ9WpHfg_4_2"></a><a id="Tc_gUJWNocOgkiUF-rT9z8Wnw_5_0"></a><a id="Tc_liG98fQYd0GvCEf86O57Vw_6_0"></a><a id="Tc_itbFzWXSFUquGJz_vuVsvg_7_0"></a><a id="Tc_lEWetaEcn0WvM8McQrqH8A_8_0"></a><a id="Tc_1bmjEpUe50KpHCis4qef0Q_9_0"></a><a id="Tc_yBeCk66gWUahs-Z52NGuKw_10_0"></a><a id="Tc_zKNoPfw5LEqsNpQG22bN4w_11_0"></a><a id="Tc_cSeMXB0t0EOw0AZ7hhMc2w_12_0"></a><a id="Tc_D9KjGevdEU6qFThJpwh3ZA_13_0"></a><a id="Tc_I6JQOUAnh0qld58qPuOrPA_14_0"></a><a id="Tc_2AJjzy0Gu0GSaarOmOqRTw_15_0"></a><a id="Tc_r-vxBCgILUOkTPi9IFAIfg_16_0"></a><a id="Tc_7UhavNa08UKlkRRrZGyvfw_17_0"></a><a id="Tc_Qwoq1IEj6Eq5HCym7lE6ZQ_18_0"></a><a id="Tc_NS0LRHJTHUmelbzKFUtuhA_19_0"></a><a id="Tc_xpuikWvlC0q94CmVgRbXxQ_20_0"></a><a id="Tc_2lEbMNYpAU-QRzlnEUin9Q_21_0"></a><a id="Tc_3QV5EwbSPEqcdyqSRseUtw_22_0"></a><a id="Tc_pZ77TwoC2ECpFLa20WJ44w_23_0"></a><a id="Tc_qc8ARMKPnkq71xYpSIvCaw_24_0"></a><a id="Tc_XyUiGVB9-UCAiH2T1Q212A_25_0"></a><a id="Tc_txairTJKLEaOeA6t4N7KEQ_26_0"></a><a id="Tc_qzioGxvRk0y2t88_wtdpaw_27_0"></a><a id="Tc_f_ThsomvYUCLkmCMcWSYrQ_28_0"></a><a id="Tc_y-ET0EbU-kG4bbxzs5ZSpg_29_0"></a><a id="Tc_k8DvA5YDxUGMu15nYP9R-A_30_0"></a><a id="Tc_OvtCgNUIk0ufVOIFLFiWVw_31_0"></a><a id="Tc_ji_oU3gf1EWZ_vIzIja4yg_32_0"></a><a id="Tc_0Ctx3YEKQEqDwnbmGcyo0A_33_0"></a><a id="Tc_3jd50qfwckOlTukfCYuduQ_34_0"></a><a id="Tc_fP2mY2Xu5E-T6e8Qtsnhiw_35_0"></a><a id="Tc_NyIVp_sNYkW_e5Meqn5Yow_36_0"></a><a id="Tc_TLo0x9f0LEycR6B2B9Fhaw_37_0"></a><a id="Tc_ERlbK0w8sEGXuGpWMtz8DQ_38_0"></a><a id="Tc_P14nvRIF3026FORaGuvPdQ_39_0"></a><a id="Tc_Hh9f0905UUOjEItpgO1R8g_40_0"></a><a id="Tc_CG4LulUw0Eu8IQWBSUB1DA_41_0"></a><a id="Tc_4RJH0Na9RUm6qOVYblaplA_42_0"></a><a id="Tc_BMRHZFqgO0qA-EUfHfjtIw_43_0"></a><a id="Tc_v111mQAuWkuAIbPXQ60KtQ_44_0"></a><a id="Tc_ePzj1k92ukeNMqUaj1wziQ_45_0"></a><a id="Tc_0bsK932rjUKEirMXff6QCA_46_0"></a><a id="Tc_RnqrEnUfIkWZcDmn94Hl_Q_47_0"></a><a id="Tc_jqpx-vCRHEKm0lSFuzIInA_48_0"></a><a id="Tc_ic_gGRRw60WdhosCMWH-kw_49_0"></a><a id="Tc_4-wU0gvPVkecH0THdelOXQ_50_0"></a><a id="Tc_shaWvIIS6Eu0r0OAU9QCFg_51_0"></a><a id="Tc_-autz6oiDUOsTVhkK7s__Q_52_0"></a><a id="Tc_ddUXxyQ2q0StFqr9W_qi0A_53_0"></a><a id="Tc_YG2sEN_OQkqUg5xcrL0JNQ_54_0"></a><a id="Tc_ql1Sd21xk0Gift-6h14u5A_55_0"></a><a id="Tc_v4q4HDU6QEWIj6k3rfgu9w_56_0"></a><a id="Tc_BBuP206t_E6G-00KIvCH2g_57_0"></a><a id="Tc_JEHL1ge8uEK8DPqy0S6qhg_58_0"></a><a id="Tc_1031x4f5vUm6KLVxxPXDtA_59_0"></a><a id="Tc_Q_x_vaGp1UuRlfxpjcQMFA_60_0"></a><a id="Tc_yrEbZV7sWkGxDd9el9_xyQ_61_0"></a><a id="Tc_fmOmJsJH9kecDBonh3PkyQ_62_0"></a><a id="Tc_0UCAOLMwz0-vz_yBCvkgYQ_63_0"></a><a id="Tc_-Bxax_EUsEyasJUuA0DqQg_64_0"></a><a id="Tc_jg9esN1BqE2iP0VM_ZbnXw_65_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:78.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.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:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:8.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></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;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:78.94%;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:2.5%;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:8.01%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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;">2021</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:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="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="3" style="vertical-align:bottom;white-space:nowrap;width:18.55%;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,</b></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="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="3" style="vertical-align:bottom;white-space:nowrap;width:18.55%;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;">except&#160;share data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;background:#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.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#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:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;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:78.94%;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:2.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;background:#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.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#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:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_HLhG30TWYEmCyOcjpJIS9g_8_2">1,178,752</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_cSyD_7c8xkebwLz8wi6Yuw_8_4">869,831</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_u9refGHjuEiISz_AM0wqFA_9_2">458,334</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_VVrF72VvnkOzyzKnyso3qQ_9_4">560,633</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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 of allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr_xhkT5uqctUS6-bbjtq3z1g">40,293</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr__DRA0RkuIEuwXt4XGa3NLg">47,126</ix:nonFraction> as of December 31, 2020 and 2021, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_S7dqvT6iF0mqqCiUUwgs4A_10_2">408,958</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_omvOj3PHmkCQYY3FYd845A_10_4">651,372</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_2a75o8qNaUOtki5xEc4eBQ_11_2">28,461</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_qwA8I6cylUmR4QHTkTZOCQ_11_4">37,244</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_4gQX47hzyUC_6iiqj0SmhQ_12_2">5,834</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_KmyuhDHAkkyX2xyvAJLt_Q_12_4">73,042</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_Z3CvBDWgEE2C-D-E5NNXeQ_13_2">695,981</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_F9dCMKUW_kCj-rZMcw8kCA_13_4">1,192,374</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValueAddedTaxReceivableCurrent" scale="3" id="Tc_kVUqV_lnbEizgDlOWXI8aQ_14_2">102,460</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValueAddedTaxReceivableCurrent" scale="3" id="Tc_5qyi_gzqRU6aeCnUARAqrA_14_4">125,882</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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 of allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent" scale="3" id="Narr_syP9BlM87U-g2bc4lMIfNw">5,845</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent" scale="3" id="Narr_KAhZF85oBk-_LFId2lRJfw">5,822</ix:nonFraction> as of December 31, 2020 and 2021, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_huULX7gy5Ue2GFZUsrfRxA_15_2">182,146</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_ox8wpvqMOUS1gwhOEnu-3g_15_4">225,879</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_qW80TTrOGkOd8HCecpkF8g_16_2">23,351</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_win6VUrX4k2jB9O3GQ7dJA_16_4">7,286</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_qyrSR8AxkkWg2tMtJx6oIg_17_2">747,764</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_0C1P2XumqUSQHm2pFG2ICQ_17_4">594,107</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_IEYLTt48XE2VBeirlTyiVQ_18_2">353,781</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_ZuVOZBzNFkWM7NJSlAVdAw_18_4">434,177</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_eFFsn2x6-0-D3GeNsjsw8A_19_2">4,185,822</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_Yi2wHXW0AEO-gksFe1bUOA_19_4">4,771,827</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_eNI8JJnF0kCH6vuOhS_fVQ_20_2">2,629</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc__UgftbEuiUmqCJnG950Inw_20_4">3,818</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_6-OLI62jKEiXY2L4qxbcng_21_2">1,157,731</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_qs09y5yFDE60gyAouEIHPg_21_4">1,401,877</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_zAVKhPFaQEevjYIoy7vRFw_22_2">158,262</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_fAffvLJn1ky0ncUArFg14A_22_4">108,263</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_C16wEGgZbEGs2ln9lV4tAA_23_2">170,656</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_opaPipknpEKCy6xRVBV_WQ_23_4">236,503</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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 of allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" scale="3" id="Narr_PEPvD1J8MUu6sZjL6jpePQ">13,855</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" scale="3" id="Narr_L1o8fyVSH0CnPXp9W7bNrQ">13,860</ix:nonFraction> as of December 31, 2020 and 2021, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdvancesOnInventoryPurchasesNonCurrent" scale="3" id="Tc_axqnMdc66EuXu02KGMssog_24_2">97,173</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdvancesOnInventoryPurchasesNonCurrent" scale="3" id="Tc_H5CXMPvUc0il3w2Kq5Ic9g_24_4">34,239</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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;">Prepaid land use rights</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseNoncurrent" scale="3" id="Tc_7m10RUaOl0ioka7POTYcLQ_25_2">62,414</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseNoncurrent" scale="3" id="Tc_quty_MY76UKsOh2aVVhEDQ_25_4">71,011</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_qB18aQSfvkybiQ4OGApsfQ_26_2">78,291</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_RXKInpmBvkSVtTZfZ_3AqA_26_4">98,819</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_sv8RICuhIUqlFQ1ko98Exg_27_2">22,429</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_md9Co1aR70Oef32J5GkERg_27_4">18,992</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_DHrv95s_Ok-yHPpFY8V3BQ_28_2">389,702</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_ns6NV6zUFkms38CuTUS-2A_28_4">433,254</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_4uq2PQWvj0-vmxMn4sp1Tw_29_2">26,793</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_NO5p45zvnE2J0q7TmwhmkA_29_4">35,286</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_3rQ6XgkuYECUuH6K0vSe1g_30_2">184,952</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_6Wz0usP6qUGB0ZbPyIBEpg_30_4">174,453</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_q0gLGZVFVEO3tFxr66dRtw_31_2">6,536,854</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_hNS7Sq9l3Uuby7RphfHo6g_31_4">7,388,342</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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.5%;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:8.03%;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:78.94%;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:2.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.01%;background:#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.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.03%;background:#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:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;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:78.94%;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, including long-term borrowings - current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_2aLbvMl8JEWc1gZFLNoEyQ_35_2">1,202,285</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_mtAPw9gv8EeHiAcgF_ndhA_35_4">1,271,215</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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;">Long-term borrowings on project assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssetsCurrent" scale="3" id="Tc_AiGru3nTrU2gWbR2tqvstg_36_2">198,794</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssetsCurrent" scale="3" id="Tc_8fl1gXYVQES2W3sz1f_vTg_36_4">321,655</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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 payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_JWT7Bvard0CrNTSlMF5IpA_37_2">514,742</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_jFcGIPP1x0iv7tpHFvaRmw_37_4">502,995</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Tc_9YnN1XHo90ioNA13GIGMig_38_2">710,636</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Tc_tBMGfT0TdEWycTAzo9-rTA_38_4">881,184</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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;">Amounts due to related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_BGUFzHoEokC7i4awITIs-Q_39_2">314</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_ZrxdVgJzlEWBaiaJ5DhlJg_39_4">143</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableOtherCurrent" scale="3" id="Tc_qV87L-KJQ0G_81uefkWCew_40_2">508,839</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableOtherCurrent" scale="3" id="Tc_yZG4acs4Qk2e5mcTwrKsYQ_40_4">667,854</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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 from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_4KZzEinlzkKDf1YG45Ilng_41_2">189,470</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_jeme5jcGaE6ZB2U6ky6cjg_41_4">135,512</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_dJNIKw38KU6eZkdBp1nbVg_42_2">10,755</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_nppl0E801U2lz5e4Jzpzuw_42_4">2,622</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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;">Operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_Z50e_QJmx0u7P3hpABNojg_43_2">15,204</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_GtiAOHYbZ0iUDJ3WaYivZw_43_4">12,185</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_EFy7ttaYokSfIYKCVYWd-A_44_2">237,316</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_0Chwe3qEm0CkbzyGRYW0_w_44_4">242,783</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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 liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_xlmYyKgVSEqzks2Zuz1sLA_45_2">3,588,355</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_5pN0lAc5bU-wRZS3I70DCA_45_4">4,038,148</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_SNP3t607DE-Nx7HZMrr6xQ_46_2">37,732</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_6mGHc0BW-EaPdZn7_JLriA_46_4">45,146</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_vEseJV95s0WK5oNRKJk9kg_47_2">446,090</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_HqoMMI6-0kiPuyBe5faaLQ_47_4">523,634</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc_i369D9O1mEOiR8Gi8HsMeA_48_2">223,214</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc_vOEQB8DMekWqSaZzMj4RRA_48_4">224,675</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_k_upIMCFk0CbkVLWjAsXoA_49_2">14,729</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_9SUX-IkORUaS8vuRXRHu_g_49_4">7,448</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_aNHws9hf-kmRU6-EBr1eiw_50_2">49,080</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_EjIwb4mH30GyjhtlG8zSTA_50_4">48,150</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Loss contingency accruals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="3" id="Tc_tiepji-vnUq4LHAA5THpFw_51_2">26,458</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="3" id="Tc_Vf0Q5PnmP0Sc9DK5z6aN8w_51_4">15,148</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_VuXgtrjM0EeFyEdybiH3iw_52_2">13,232</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_exeZsqyMDEKcZjF1s_o7Rw_52_4">23,215</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Financing liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinancingLiabilitiesNonCurrent" scale="3" id="Tc_IGemgjJzq0at366Y9c9RpA_53_2">81,871</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinancingLiabilitiesNonCurrent" scale="3" id="Tc_8kRWCxT4ekeg8EfhrmW6_Q_53_4">53,641</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_v-R2zKzP9ESE_ySHU58huQ_54_2">163,308</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_dFq_qUPpuU2L4ZBS9GQvbA_54_4">282,699</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_esNuL2mne06bPFdgiOnFGQ_55_2">4,644,069</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_COA6aKEiSk-2nxc1eDkdRQ_55_4">5,261,904</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.01%;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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.03%;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:78.94%;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:2.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;background:#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.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#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:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:7pt;">Common shares &#8211; </span><span style="font-size:7pt;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_ElV8flDoZ0iTpureoc_D0Q"><ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_yhjXFg-m-062gDl8fKP6Lg">no</ix:nonFraction></ix:nonFraction></span><span style="font-size:7pt;"> par value: unlimited authorized shares, </span><span style="font-size:7pt;"><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_iT0vZ07enUa00vcEmmSFHg">59,820,384</ix:nonFraction></span><span style="font-size:7pt;"> and </span><span style="font-size:7pt;"><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_ugoUG-8RUkWaDz8xKWz-EQ">64,022,678</ix:nonFraction></span><span style="font-size:7pt;"> shares </span><span style="-sec-ix-hidden:Hidden_sZdLkM1Z00-00trEJjGt0Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:7pt;font-style:normal;font-weight:normal;">issued</span></span><span style="font-size:7pt;"> and </span><span style="-sec-ix-hidden:Hidden_H4-bMIJmJUqusAGdH7D2RA;"><span style="font-family:'Times New Roman','Times','serif';font-size:7pt;font-style:normal;font-weight:normal;">outstanding</span></span><span style="font-size:7pt;"> at December 31, 2020 and 2021, respectively</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_0zo5Hi16ZE-d4ZL8G53y4w_58_2">687,033</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_IpKWlKUwd02U1ihxBQGEvA_58_4">835,543</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" sign="-" scale="3" id="Tc_wk3ofhhQs0u1lOs1VMsjnA_59_2">28,236</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" sign="-" scale="3" id="Tc_XHExMHL-c0e-TFAIfEIGyQ_59_4">19,428</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_E_b5PsAB5kydjopZBidfWQ_60_2">940,304</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_K156xKKoSEGmwQf58gn4LQ_60_4">1,035,552</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_JV82Sg4mF0qcxYP4tEhcFQ_61_2">28,679</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_mXceILLdH0OQywyLhpGsPQ_61_4">50,584</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_aL6qbNAheEimxE_Mir5vKA_62_2">1,570,422</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_lS17zdsqK0qh6YxrEok2-A_62_4">1,801,083</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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 in subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_DAyx4arzE0qjimkhTJMG2Q_63_2">322,363</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_eDduiTg7YkW2wlwBKR2RDw_63_4">325,355</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_zokQcfN2SUSXs4HoAaX-EA_64_2">1,892,785</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_KJyuYtyHVES00OX-1YyFpg_64_4">2,126,438</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;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:2.5%;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:8.01%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_ep5OWjQsUk2OpnG0RV_ZOg_65_2">6,536,854</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;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:8.03%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_uwdHIAV0S0aZSeQjTIVGmw_65_4">7,388,342</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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_e554b0e6_ddd6_478b_8b40_60e660aed2e5"></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_PWWZsJLJnEKEm9Ks-2pIPQ_1_2"></a><a id="Tc_2Ea2FOVmD0-dEfeD7r1GJA_2_2"></a><a id="Tc_ikoRboVSrE2BmglXlVljmg_2_5"></a><a id="Tc_pcWhDfbQxkKN3wWd8Dh-bg_2_8"></a><a id="Tc_melV2339QES6-30zabLiqA_3_2"></a><a id="Tc_YgoMnpjC8U-IKUMZJkjzHg_4_0"></a><a id="Tc_r1OYmDKxyUeswhUABEdD3g_5_0"></a><a id="Tc_H5jYevh-hkmmkBUX_-5bTg_6_0"></a><a id="Tc_112TgC6kAUuQTBGvka-KPA_7_0"></a><a id="Tc_qj1aBF42C0CKE3tz7h_naQ_8_0"></a><a id="Tc_WBxYNAjgPUaKeKKvIBSJKQ_9_0"></a><a id="Tc_CG2FbgA9d0qLVXHt3mvnEQ_10_0"></a><a id="Tc_BZnnGvVwP0egA37xoe_vVA_11_0"></a><a id="Tc_ebIizGHov0CV-P5aPTS-Vg_12_0"></a><a id="Tc_0xP3SXJNjU-amLCKe0JC4g_13_0"></a><a id="Tc_wdyfmCLSZEChvKjfRkUnhA_14_0"></a><a id="Tc_FWI6MwJO7USgLtrKxw7SXQ_15_0"></a><a id="Tc_zr_ncTN3iEanEiEqzo8GmA_16_0"></a><a id="Tc_de-jjyF6EEyJNCagDkqfgw_17_0"></a><a id="Tc_34xV-mckJkSM6A63HeO_EQ_18_0"></a><a id="Tc_1EaXLvZWskOxoAPr6jnWxQ_19_0"></a><a id="Tc_IJ8zSz8K1Uqk9RRaD7x_IA_20_0"></a><a id="Tc_OR5aCfzU5ki05lTUtht30w_21_0"></a><a id="Tc_nFZuSTy1dUO5KCazPzH0vg_22_0"></a><a id="Tc_yyZAGLKSfEi_9BE87qGGRQ_23_0"></a><a id="Tc_pELEf4_fJkuemYy-JJNxtQ_24_0"></a><a id="Tc_OjHcSnluHk-VmF0jFpLIuA_25_0"></a><a id="Tc_SQBV6YMg9kSDGitn7sL8bQ_26_0"></a><a id="Tc_H0QDC51YoEm_cF3rrT03pQ_27_0"></a><a id="Tc_jYTGQG2eTEe1v2rVPIJN6Q_27_2"></a><a id="Tc_NqHC2VSbYEuloZYXHAaZBA_27_5"></a><a id="Tc_UB-fy8q380GakPJl8xUUpw_27_8"></a><a id="Tc_LHEGW6GcuUWFloJUBfqW5A_28_0"></a><a id="Tc_-kkscVeALEuofndyQCNy3g_29_0"></a><a id="Tc_HgZyV8PUbUmDgnmDL6cXrw_29_2"></a><a id="Tc_zbn9BWceWkijxeggAqAGlg_29_5"></a><a id="Tc_aUVLdKXCw0elF72iKN_zDg_29_8"></a><a id="Tc_8RK85YUcyUScyt6qPo9kRA_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:63.99%;margin:0pt;padding:0pt;"><p 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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.69%;margin:0pt;padding:0pt;"><p style="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:34.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.69%;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.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;">2019</b></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:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.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;">2020</b></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:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.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;">2021</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:63.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.69%;margin:0pt;padding:0pt;"><p style="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;width:34.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;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share</b><b style="font-weight:bold;"><br /></b><b style="font-weight:bold;">and&#160;per&#160;share&#160;data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_xk45Lr6gW06arI3a6kwqyg_4_3">3,200,583</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_J0mC_frqQke_W7hujMYrmw_4_6">3,476,495</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_99MsAa2RmEaLl8ZLAPt1Dg_4_9">5,277,169</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_ekFFlO-pO06RFTePyVJUbg_5_3">2,482,086</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_msR6rHaDqEez27luAevpLw_5_6">2,786,581</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_Yvxkrk-r2k-z_yymqAP0EA_5_9">4,367,857</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;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:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_yupA0KCFH0CjLvmkQROn8Q_6_3">718,497</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc___i_ih6LlESkOt15MlHxpg_6_6">689,914</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_N1NTtF0Ty06EqBnAwd4W6g_6_9">909,312</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;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:63.99%;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.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="Tc_n6k1jPX_QkmJ2yYNbQ7XPQ_8_3">180,326</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="Tc_hJipQKi8YEiSlG4qR6Akwg_8_6">224,243</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="Tc_AmNmk7rHREC5L1ul9oR7EA_8_9">398,650</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_dS4PSR7e-0-cDJ8VDcFWWg_9_3">242,783</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_35wgsm2Rv0GSUevhKMHBXg_9_6">225,597</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_3cHx6ZxRIEKTGYy9aC1KaQ_9_9">308,942</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_oos6sY2OBEiB3acVWulaKg_10_3">47,045</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_yLeqDQYRokaI-UsRB_Hczg_10_6">45,167</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_kmQqBxJkCUuN2fSJXId9aQ_10_9">58,407</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.93%;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.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_qu-cVXwivE65I2bmIIkq1g_11_3">10,536</ix:nonFraction>)</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:0.94%;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.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_UXoaub5OwEi7vUzcX0jkDg_11_6">25,523</ix:nonFraction>)</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:0.94%;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.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_Mknqf9D5z0WZj_cA0axPIA_11_9">47,068</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating expenses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;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:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_XYHxyZ0osk6KOVSegTRIXQ_12_3">459,618</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_Rur1YTEiN0a8ydj43LEOsQ_12_6">469,484</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_NjS2haTQc0aC-aMep9sr5w_12_9">718,931</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_Pv9eBV_fxkaWdNHlE9e-oQ_13_3">258,879</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_ex8t5yHpCk6AI9Kvp3s-_w_13_6">220,430</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_0J4C6IZVsE6SvgRpyc3bSA_13_9">190,381</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;background:#cceeff;margin:0pt;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:63.99%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_0FGB_Gecv0G8D4kHzrCbgw_15_3">81,326</ix:nonFraction>)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_o8KRY0FQC0eoDeKXGeD53Q_15_6">71,874</ix:nonFraction>)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_kNysGqdVWEOOCkRIUnoB7w_15_9">58,153</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_Xmt1lNalaE2uKdZb035d0w_16_3">12,039</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_4DqAMXKaxEOFl1GhuYXTyg_16_6">9,306</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_sxYXQd-MXk6GPxQiJJLB-w_16_9">11,051</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_Y-0r9A-K-UWmuRInZT7IxQ_17_3">22,218</ix:nonFraction>)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_oyHCggV1LkiFRT1toeB5Kw_17_6">50,001</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_0P8a1YPwBkK3x2Z2zEup2A_17_9">23,785</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_ucI16SAgDUKBHcJ5VLprbw_18_3">10,370</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_ZejndgR1IUiSXeKAulS_Xg_18_6">64,820</ix:nonFraction>)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_sWKtBjw3a0ucL7El0zAq1g_18_9">47,234</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Investment income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" scale="3" id="Tc_v7zS9cbkrUu5LKycC3AJ1A_19_3">1,929</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" sign="-" scale="3" id="Tc_w7IAUul410K9vuSwL8qzAQ_19_6">8,559</ix:nonFraction>)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" scale="3" id="Tc_03BXvoahOkmdLV-RSoJ50w_19_9">18,634</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other expenses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;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:9.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_3uenAe7e00e-ohRMFpD4iw_20_3">79,206</ix:nonFraction>)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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:9.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_mUXXkBMPM06MXlsq-yuuNA_20_6">85,946</ix:nonFraction>)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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:9.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_WqZAYggw_0-Ajm7EyY56nA_20_9">51,917</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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 unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_wD5ygrirP0izO0Nf4sh9KA_21_3">179,673</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_CNWhzxZcOE-7sFQ0gIPYRA_21_6">134,484</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_PNMLvY9FD0ejKW7FzsGncQ_21_9">138,464</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax benefit (expense) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_8OmbLpvYy0WWNPsg6l9IqA_22_3">42,066</ix:nonFraction>)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_jpFR5Lntukel9u1_hBhUMQ_22_6">1,983</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_8xfg-JxgTEqqUUnGNarqzA_22_9">35,844</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equity in earnings of unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_ZRYnjDaxQEWo6mfbjk3orA_23_3">28,948</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_zUeWCYn_80-gFgqaBEOvxQ_23_6">10,779</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_HAnlvuOjA0e9m_H2v_fUuw_23_9">7,256</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_mAn5c_4Tw0O6ZMhRv0m35g_24_3">166,555</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_SbOfUcqY7kKswBBxIN7EiQ_24_6">147,246</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_W0seO5fxkkKb0_42vTUyjQ_24_9">109,876</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: net income (loss) attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;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.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_IsQoW48q706rMBjGONGBjg_25_3">5,030</ix:nonFraction>)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_jPHAvum6wkqUVetAkZ8SXw_25_6">543</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_YJSgHKQCbEqW8zTBYoiTIQ_25_9">14,628</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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&#160;Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;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:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_uSUH1YhLV0ezNIOi-fqZew_26_3">171,585</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_nyVbNSMDhUa14U_wNrgW3A_26_6">146,703</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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:9.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_tNPcGTGuFk-11wDX4ztFWQ_26_9">95,248</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.93%;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.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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_XXIsOwBj9UaLLpM7ByO1sw_27_3">2.88</ix:nonFraction></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:0.94%;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.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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_jKtI5r11UE2w88tm1NoPFQ_27_6">2.46</ix:nonFraction></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:0.94%;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.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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_N5oP1BNfAEOTKHWQrzNjCw_27_9">1.55</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.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:9.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_Or3L9svTFUO6Pko1P_882g_28_3">59,633,855</ix:nonFraction></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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_5lBbQzXR_UiSubGB8XApjQ_28_6">59,575,898</ix:nonFraction></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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_EHKW4pwO8UeSTwBt2BGoiw_28_9">61,614,391</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.93%;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.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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_zKRN5V2EIkmizULH2cG-yQ_29_3">2.83</ix:nonFraction></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:0.94%;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.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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_TR1_72ACp0ywaEE2MX01mQ_29_6">2.38</ix:nonFraction></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:0.94%;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.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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_HkPs3G5y-kaDd31qiym3IA_29_9">1.46</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.99%;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.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.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:9.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_GrcG8l8CwkeQhhsOiOqACg_30_3">60,777,696</ix:nonFraction></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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_S1PZjI3Hh02VVZjEyDE4sg_30_6">62,306,819</ix:nonFraction></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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_kNXAvUG9wE2fJBQ7-SynRQ_30_9">68,872,102</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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_77119ad7_8fdf_4629_bb91_c59fdcbdf158"></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_ucB8ZFhn60mE7MCAK2eWyA_1_2"></a><a id="Tc_9KkPFPPXy0mdDKd2wzs_4g_2_2"></a><a id="Tc_aukNUAQOWESsESy_CL8bdA_2_4"></a><a id="Tc_ynJbYOLkl0KNGSeCITp-ew_2_6"></a><a id="Tc_BN-Ub3pYtEy-7zANWTLb0Q_3_2"></a><a id="Tc_g5kPE4DVsUmKdH_aIp1PWA_4_0"></a><a id="Tc_OZv2UZ6Pu0SpnSwkPzyZSA_5_0"></a><a id="Tc_R3y-uOqHaUOtetbiKah5CA_6_0"></a><a id="Tc_wAbvsCwCEUeCz6YU31sSpQ_7_0"></a><a id="Tc_YlpWP-0nI0Sbz-drWsOxEw_8_0"></a><a id="Tc_yZLuRQ44kEO0MJXpN_8Mmw_8_2"></a><a id="Tc_CKKmFgkI-EiCdy5grZqFzw_8_6"></a><a id="Tc_nonymXqjekqNSVCZF-t4Uw_9_0"></a><a id="Tc_Y4iDRJ2p0Euc6iV2HQ0oJA_10_0"></a><a id="Tc_HVXyFwJbHUi6kJ4PK6j7Gw_11_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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_C3WvxlawX0aZkQ3Ch3_4XQ_4_2">166,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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ES3lsn0UnU220U8hlF8yEA_4_4">147,246</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ThAGdns7G0m0kZ42MdcY4w_4_6">109,876</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&#160;of tax of <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="0" format="ixt-sec:numwordsen" name="us-gaap:OtherComprehensiveIncomeLossTax" scale="0" id="Narr_Clkcaed5Hk6S4OPHoAFPZg"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="0" format="ixt-sec:numwordsen" name="us-gaap:OtherComprehensiveIncomeLossTax" scale="0" id="Narr_3tyttAkYcUCMb30NNxQY_w"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="0" format="ixt-sec:numwordsen" name="us-gaap:OtherComprehensiveIncomeLossTax" scale="0" id="Narr_B6JEeZVYJUm2WB3JisMKFg">nil</ix:nonFraction></ix:nonFraction></ix:nonFraction>):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_Og2cJLeHWU-N3rV3v0Ce-A_6_2">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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_zyEijskNIUex-fr2qa7_uw_6_4">76,188</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_aV_YvUpJV0eTQ4MY4NkwBw_6_6">26,296</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 interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" sign="-" scale="3" id="Tc_H_o47f2t2kGS6ymeWGyPFA_7_2">5,847</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" sign="-" scale="3" id="Tc_IRrnNDVlDU6C5eoE5IzBPA_7_4">4,115</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" scale="3" id="Tc_8JZddeUnOEqGknQAwB7OUg_7_6">59</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;">De-recognition of interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_rdZuIef57Uuh3BCeqkcvlw_8_4">10,724</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">Comprehensive income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_hikg33CPtkejchTDSr4XYA_9_2">161,027</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_CBfZyPa9CEWB7wKlJ-dJ_Q_9_4">230,043</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_gPkDTQ_JZEmM62CUKCfnSw_9_6">83,639</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: comprehensive income (loss) attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_op4vkT86bkK3aSD8FNZNGQ_10_2">11,100</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_ZsoLrEVeJ0WiJ9OWZhK-dA_10_4">2,412</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_0cKOoisVD0G3FBS2qpzHfQ_10_6">10,296</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Comprehensive income attributable to Canadian Solar&#160;Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_M5XLCGG1ZUCXqN2rnv8S5w_11_2">172,127</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_Diw1otRR-E6RgYvBwkYNsg_11_4">227,631</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_XK8KsX1EFUuo9bFtNrnVaA_11_6">73,343</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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_fc4f8a35_5667_4f48_8354_57319037aa2f"></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_qRwQjKTi_UG9ZOFKU0vsWQ_1_14"></a><a id="Tc_FSXmY0jxRUSt0P9A0Xog-g_1_16"></a><a id="Tc_HrNZDmkM9EyDIkTGMD9LxQ_2_10"></a><a id="Tc_Rv0s2vhnEEWcn7jb7pQG9g_2_14"></a><a id="Tc_2Q0kSC7WIUqONkTfLcBkaw_2_16"></a><a id="Tc_W9LyL9Arr06FERanQ8YhGw_2_18"></a><a id="Tc_ye4DZTKvO0CVU9Q0hkRxKg_3_2"></a><a id="Tc_vfaUukDkJ0qh15ibkK6OAw_3_6"></a><a id="Tc_QBSuiephSUCmx6Z5FSCxSw_3_10"></a><a id="Tc_13xbOIkPx0WHJ8HaHdQF3g_3_12"></a><a id="Tc_UpuBfQg-TUe-SIJXURwtlA_3_14"></a><a id="Tc_Ra0zjZL-dEmjCxg8eLp4ZQ_3_16"></a><a id="Tc_T4rTQeAIK0-pIi_mnlz2rA_3_18"></a><a id="Tc_w19L16UhLEKjj1YEbvtVzw_3_20"></a><a id="Tc_UERYBENS4kqB3prnnx7UYg_4_2"></a><a id="Tc_tY6WUAPk8kyozP2fhC5OLg_4_6"></a><a id="Tc_vbPkWzZYb0qbIgcL1_ALwQ_4_10"></a><a id="Tc_joiQYDfw302RjZpD8g1UyQ_4_12"></a><a id="Tc_r2VkYLYQtESrrc8YiPqQSw_4_14"></a><a id="Tc_sVdkeHZylkqXKtJ4bXDTWw_4_16"></a><a id="Tc_C911Ttt9rkq7jyGmxyGr7g_4_18"></a><a id="Tc_cR3OEGgcSEa7oNlrGFQYBQ_4_20"></a><a id="Tc_HczgAsHrjkmdOstzmWpB_Q_5_2"></a><a id="Tc_L1SRlPY8vUiOozlJ6mY-aA_5_4"></a><a id="Tc_rw5n5_I_vkSqpMzOyYtvbQ_5_6"></a><a id="Tc_0v575KkKJk61Bn4B5JhkRQ_5_8"></a><a id="Tc_0A1K5_dlO0OchLr6zpeHIg_5_10"></a><a id="Tc_rGxrITxASUWKPDhkwCMH4A_5_12"></a><a id="Tc_2BdoP5rL-0KTaKNFcuG7ag_5_14"></a><a id="Tc_AbbHkS4UzkuFGsTN55v_2w_5_16"></a><a id="Tc_gbX0JtYp706SpJyCFzYOcQ_5_18"></a><a id="Tc_TsuyAQv8CUiJWmbFmEklIg_5_20"></a><a id="Tc_VUxMKy3TX0O-SS_NBABCmA_6_2"></a><a id="Tc_udh7QN7DqUGwuuwzR-ToHw_7_0"></a><a id="Tc_u6BjT_cirUuhmXs4pBAZPA_7_6"></a><a id="Tc_pzOzZc_aSEuvN0hrBzjFng_7_8"></a><a id="Tc_2tB0Ieuz-EW3Gnf_gT1Sgw_8_0"></a><a id="Tc_ZVCu-YEMwkSl6WLtep4lFA_8_2"></a><a id="Tc_qdv6ybuJG0yV4WVWRyJwkA_8_4"></a><a id="Tc_N3ucUCNhLESmKItTMutjEA_8_6"></a><a id="Tc_XRmX46ljSUW9J21lOXVqPA_8_8"></a><a id="Tc_OT79kKBSEkCzKWYtg20KxA_8_10"></a><a id="Tc_GZiNNOvgtEiSMF6JWhbGLQ_8_14"></a><a id="Tc__KuYTSaU5U-Sawjigl6NrQ_9_0"></a><a id="Tc_WuFEuSc2U0O3AICv-I2ivw_9_2"></a><a id="Tc_2Nq5m0vd50OBF7Vz2uSayA_9_4"></a><a id="Tc_jciOMEueVkitp1YPBm3WwA_9_6"></a><a id="Tc_5o3L1uwBHEm4VkbxNxFApA_9_8"></a><a id="Tc_M3299osmr0SizdjDc_tFxQ_9_10"></a><a id="Tc_WIGTPKJS-0WeWVI88DZ16g_9_12"></a><a id="Tc_ykC62cXrH0CEzsg2-IAUnQ_10_0"></a><a id="Tc_Pm53okjz6UGKYVDtKiTw2A_10_2"></a><a id="Tc_T5puDLozrkqxBF7WKWYncQ_10_4"></a><a id="Tc_i54fBuKhCk-M8JMvKaYWNg_10_6"></a><a id="Tc_2uupZZMGaUmULGtLh1v_yQ_10_8"></a><a id="Tc_WcFC_ys5QUSL-abSJky9jA_10_12"></a><a id="Tc_i4iUyGm8tkyM8tSCg5xrmg_10_14"></a><a id="Tc_rwmQtK6I7E2zVNhGytwDaw_11_0"></a><a id="Tc_UhHF4gea30q50sKAxQGAzw_11_4"></a><a id="Tc_yn436cN8FUGygZOrNipzAQ_11_10"></a><a id="Tc_rDGBumlJvkOcR6D2R7GBZw_11_12"></a><a id="Tc_zCL0lQp8Z0KewQRO3-DNzw_11_14"></a><a id="Tc_RT9cA3N8MEeKV4OpM16Nhg_11_18"></a><a id="Tc_YFLK9L3Av0OZ4sgFsXVebw_12_0"></a><a id="Tc_rJ7JZpOqm0WXAmpRUUG5ag_12_2"></a><a id="Tc_MZATvwbZwkKtfEto7m-FRA_12_4"></a><a id="Tc_wmv9rdPoxkGQolcJwRuj7Q_12_6"></a><a id="Tc_Ft9_fvA7Y0SWNu-DYdy7GA_12_8"></a><a id="Tc_gVWF9wMAB0OTrDZGlIqNlA_12_12"></a><a id="Tc_nMYadFWsVEGHUyWLFUBiZw_12_14"></a><a id="Tc_MAch-uQNmkm5hQk9ietm3w_12_18"></a><a id="Tc_fm05a8Z1p0uL7IJ5lb6EqQ_13_0"></a><a id="Tc_jhDgm6deoEGh_O3CsbIx4Q_13_6"></a><a id="Tc_16UtcozMVEOWAD60rGrRog_13_8"></a><a id="Tc_w5NFYUqpVUK845K_wH_nCA_13_10"></a><a id="Tc_Mk21KFAN30i9-qv_3v1Y8w_13_12"></a><a id="Tc_IjRZGJbmxEW4w7UphShtvg_13_14"></a><a id="Tc_6EvUmDIF7Uym-iI2TJ4-5A_13_18"></a><a id="Tc_6auBqmMotU2TeeHvHCe_KQ_14_0"></a><a id="Tc_1sIe0VJw2Ui-dylLtea-NA_14_2"></a><a id="Tc_SMhsG7gb6EeOkdj2Wbexsw_14_4"></a><a id="Tc_r4Un7cufYk-RcXszpUwtdA_14_6"></a><a id="Tc_pCtAu-Vkok6WYDnFCqBfqA_14_8"></a><a id="Tc_4nhAJbW06EuforRfLzRzCQ_14_10"></a><a id="Tc_xtdt63HhaE6gTXrGJGvMVg_14_12"></a><a id="Tc_QDT_Ue9lD0-vcNh5uOHdeA_14_14"></a><a id="Tc_1kWScMkIekukvo6SeSmMbQ_14_16"></a><a id="Tc_9_6wDQbWGUemfvZUPVY9SA_15_0"></a><a id="Tc_e5Q2awZMIkOP2JuA8UH_3w_15_2"></a><a id="Tc_UQdIpLt0s0m2n4xQOgkHLA_15_4"></a><a id="Tc_cDyQKthdTkCohdiM3xdlVA_15_6"></a><a id="Tc_b8SfrGiP3kiESgE30B_m3w_15_8"></a><a id="Tc_Ki-kg_5vz06ujbvjxL7jTw_15_10"></a><a id="Tc_mOhP5iGAqUOo2Y2HK5MVgA_15_12"></a><a id="Tc_fv2eySuE-USBaXjjTm0wyQ_15_18"></a><a id="Tc_ys3ZCdPTfkufbONT-kqhvg_16_0"></a><a id="Tc_TQAAdkUuz0ulgCMaRvqMSg_17_0"></a><a id="Tc_UEYyOchddk-wyugmZS1xLA_17_2"></a><a id="Tc_3UMDVw5SsU-GkgpzRvYjJw_17_4"></a><a id="Tc_h10WWg9YvkKpO78idR1q9A_17_6"></a><a id="Tc_mfKYyFHQr0GDFw-n663slQ_17_8"></a><a id="Tc_NM0vBXRAxUmMp_0vs2CegA_17_10"></a><a id="Tc_6ETw1HYy7k-z5AyN3XCn2w_17_14"></a><a id="Tc_R1RxSHFauUi4cs5bTWdkew_18_0"></a><a id="Tc_y-p3-PyASESTilOlqyAuog_18_2"></a><a id="Tc_2atKK9Yu2kionPZnsasunQ_18_4"></a><a id="Tc_niLc-eE2AUeV9_6SaNXjJg_18_6"></a><a id="Tc_prMNJVEwcUOqZ_YQmePrqg_18_8"></a><a id="Tc_5qAjN3-GBUefFyF1hMlCvQ_18_10"></a><a id="Tc_GtVpobdnyUWZPCb5CkNX7A_18_12"></a><a id="Tc_SxUcxBD5OE6CR-Ah8GQduw_19_0"></a><a id="Tc_nEmWLUx5-0C_X3x-OB4QWg_19_2"></a><a id="Tc_sjPO4Sf7BEO1XsD0QI-Y4A_19_4"></a><a id="Tc_8tz-eaUKHE2tStpWEWXzIg_19_6"></a><a id="Tc_maFL9kmJCECZTfkbvyPNuw_19_8"></a><a id="Tc_z3RlmeNUt0qmCxV2GMcD1g_19_12"></a><a id="Tc_QqpiijMSPk2Bb7W_AlnKAA_19_14"></a><a id="Tc_FKEYaiN8rkqbvKhADE3Uog_19_18"></a><a id="Tc_AHBuMJY0XkOX2zhsI6Z0Ew_20_0"></a><a id="Tc_e_uV73jirkOcSCE7AKqtcg_20_4"></a><a id="Tc_RujY1g1hd0GcBP9fgCz8Eg_20_10"></a><a id="Tc_UOSgNDxaak6MO2t9Oo3bow_20_12"></a><a id="Tc_exjF40qCWE2ghPJJ7MsY5w_20_14"></a><a id="Tc_ArrUWUJaYUW3aiAIw8aSjA_20_18"></a><a id="Tc_Kjp-CAk2Q02lpOh4a9qwsQ_21_0"></a><a id="Tc_fHtiWj1kF0u80yNqz-6XwQ_21_2"></a><a id="Tc_k8ajZQAvO02S8qqHt2vHAQ_21_10"></a><a id="Tc_LH7hz5dEoUKyRD-hYoy3fA_21_12"></a><a id="Tc_vgfSlURCT0yRDQCv7l6COA_21_14"></a><a id="Tc_bh7VdzilLkGDsQ5CCebExQ_21_16"></a><a id="Tc_IxDl-Li5V02ghVSXKQBp2A_21_18"></a><a id="Tc_LVc6zqODjk-DevN9LO1f8A_21_20"></a><a id="Tc_a16BsCrilkWSBVmbAg-lew_22_0"></a><a id="Tc_0vvZ4IUt2Uemq25D5uTIiw_22_2"></a><a id="Tc_xX5_dzL-50WBmANojcvHrg_22_4"></a><a id="Tc_6chNH_iPL0mwvK9_PghaHQ_22_6"></a><a id="Tc_I-oHTF_oW0G0_qI0kx565Q_22_8"></a><a id="Tc_Obkff3BJDEWfqBdRX4r-vA_22_12"></a><a id="Tc_G7JS9KEEh0CZTH63nqjFEg_22_14"></a><a id="Tc_YYlDCKIhh0-4jOU8FNHdRA_22_18"></a><a id="Tc_URv8PkCXbUGQhZsW5YW4IA_23_0"></a><a id="Tc_25yQ5J92LU6j0YL9-nz_uQ_23_6"></a><a id="Tc_fAVhYBRD0kiH9jKwGY7zEw_23_8"></a><a id="Tc_XTTQyz-vIkK8wjli4ccdpA_23_10"></a><a id="Tc_UlumHtXJfE2_0QakIRYwbQ_23_12"></a><a id="Tc_uI7EMTzxaEatKbhoBpjUYQ_23_14"></a><a id="Tc__Pz-8c66-ES_irC7xryeOg_23_18"></a><a id="Tc_y-mq-04sL0CG2pQGGPRzag_24_0"></a><a id="Tc_wnCbzNpaeUWSWy0Fat8fNQ_24_2"></a><a id="Tc_DeSRmdjgEUyzuqaswcacqg_24_4"></a><a id="Tc_eeVhLBPTx0mb34Wr5czaUw_24_6"></a><a id="Tc_tGV6F3U8-kWRE1e-5Iq21Q_24_8"></a><a id="Tc_jaoiRSW9WU2Samp5KEotVA_24_12"></a><a id="Tc_XIswIlw96ka0qTa7Qbssog_24_14"></a><a id="Tc_KgL1q2ACdUqbpUbIfYB6Tg_25_0"></a><a id="Tc_KyB7Hcee4kikin7M1BWMAQ_25_2"></a><a id="Tc_OkytYiLyiEazjCixybpCQw_25_4"></a><a id="Tc_SeuI0liSV0qNiu_tEiz3XA_25_6"></a><a id="Tc_Dm3qqzmXYUeK2ToVEPKjDw_25_8"></a><a id="Tc_fewgSA5piUij0IlYGA_1mQ_25_10"></a><a id="Tc_uk1RIFX5RU-53JGbFT3FsA_25_12"></a><a id="Tc_U6rXAPP6yk6UbpPx-9ne4w_25_14"></a><a id="Tc_b64V_fty7Eeoef5449H2OQ_25_16"></a><a id="Tc_-PjISsEorkKjswZl-RbbHw_26_0"></a><a id="Tc_I_CTQnntqkOGV398hVUxKA_26_2"></a><a id="Tc_2h0wa7y9bEGvMKZF_nHeug_26_4"></a><a id="Tc_-n4tjzMWNEqQ52sba2P09A_26_6"></a><a id="Tc_lgJnlw2xG0CM6EP1b_XLbA_26_8"></a><a id="Tc_z5sdxJnsvkO2ftbMfqxAuw_26_10"></a><a id="Tc_DxyojkmqNUapTVImgfFdvQ_26_12"></a><a id="Tc_nBMxMq0jXU2Fin47zXW7SA_26_18"></a><a id="Tc_Y_Zu24HKpk2VPS2gImdBug_27_0"></a><a id="Tc_0CqaFx2BzUmz0-K2B1WpSA_27_2"></a><a id="Tc_qR0KXSKZFEG_2wFQNITSQg_27_4"></a><a id="Tc_9pfGdRhGZEe6m_I41yT0MQ_27_6"></a><a id="Tc_ozHX90YotEyYyHr8f9ga5Q_27_8"></a><a id="Tc_C2n73tX59U2S5ruwYBnG0A_27_10"></a><a id="Tc_pkqI1sxtZkSh2Fm6D63NEQ_27_12"></a><a id="Tc_rIBHgs9irECarONLfLUJQg_27_18"></a><a id="Tc_NSLingmMG06-JegUcfug9Q_28_0"></a><a id="Tc_1NwUdLGK0EeQXo3rOjiHuQ_28_6"></a><a id="Tc_mQe6Ee4Yh0S_xVQBuoq3Kg_28_8"></a><a id="Tc_Z0EkZfSIOkqa4KtR2B0Y7A_29_0"></a><a id="Tc_WRZqudlenki6B44H1Co6dA_29_2"></a><a id="Tc_SdZnngILzEKo50H7EO4K8g_29_4"></a><a id="Tc__9x3wC8xLUm-O1-O-smJOw_29_6"></a><a id="Tc_E7hgIQcEzkuDWYkDwKGqzg_29_8"></a><a id="Tc_fweK9MzorEygHUCRy6WEUA_29_10"></a><a id="Tc_OEyR498OTUK2BwtTomgTBQ_29_14"></a><a id="Tc_gB2uO5eAE0WYgicx0JNeag_30_0"></a><a id="Tc_Z2-QBm8UrE6y7Krm-kiwyA_30_2"></a><a id="Tc_g0g_iMD6j0e1WAaUC--aiA_30_4"></a><a id="Tc_1MTAILjX5UiZjnXAdms73A_30_6"></a><a id="Tc_os9yBXbn0UqUJVsVZ8EdNg_30_8"></a><a id="Tc_dO1LzC84wU2xXxhzKOZIdw_30_10"></a><a id="Tc_p4MdKz35tUSF-324Zy3loA_30_12"></a><a id="Tc_D5norHO89Ea14s7u7PE_ZQ_31_0"></a><a id="Tc_7_XKOGRH6kCmQFnbHALOYQ_31_2"></a><a id="Tc_yCiAIUdFIkacoIK_dEvttQ_31_4"></a><a id="Tc_Vr6WiQyg7UumZyIBz1XEQA_31_6"></a><a id="Tc_DitoZVCBEUyIrgMSq8wW2g_31_8"></a><a id="Tc_UtmzzeLR3Eu60eLsJEOLBg_31_10"></a><a id="Tc_CudJ6w-rxku_2de36EF07Q_31_12"></a><a id="Tc_-ybYBOncvUyDOOW0Dt_ppw_31_14"></a><a id="Tc_mDNU7t1-Oka-occKA6a39Q_31_16"></a><a id="Tc_BdtUoaw3k0yc7xk6YysKdg_32_0"></a><a id="Tc_K3fj85iplkiHrTQINa_6AQ_32_2"></a><a id="Tc_Brxh0Vgy9kGBueFwTrWBJg_32_4"></a><a id="Tc_Fid1f_WaFkm3nt3vpJkEqQ_32_6"></a><a id="Tc_r0YqiCITrk2h7uZg8dp1zA_32_8"></a><a id="Tc_M7gvPn-AjEqahOOKCGNtYA_32_12"></a><a id="Tc_ZuRkfavPcEmI-8x10G-i3Q_32_14"></a><a id="Tc_czBp66FGVkWElzeTWu1y8Q_32_18"></a><a id="Tc_xb46yteRdEK0xdZqzMaNKA_33_0"></a><a id="Tc_0yNuaa6oTEeyTYQpmoQL4A_33_4"></a><a id="Tc_EsarVgnKQEmg6W9oIl8VCA_33_6"></a><a id="Tc_nrfMBSzmWk6oJVPNScdYfQ_33_8"></a><a id="Tc_H59Re16Tn0qpHogoe--zCQ_33_10"></a><a id="Tc_iS-UqCguXUaH-TKd1LvC6A_33_12"></a><a id="Tc_6dkblKET5UqAkzu-FuDyTg_33_14"></a><a id="Tc_RWfkICSewEGbRg0t4xxCoQ_33_16"></a><a id="Tc_xOAN6w2nkU23Z425b2t7Ow_33_18"></a><a id="Tc_o7YVYJhwTUWwxJlRMIsyKA_33_20"></a><a id="Tc_jOTSjYHAUEO8_Xb73zzPdA_34_0"></a><a id="Tc_Ubx4YeQV2kC4eXX7WRYBGA_34_6"></a><a id="Tc_81Xuvu8mMkqCjAuAt63Gyw_34_8"></a><a id="Tc_Ed28A8Ppq0OJ4vE23mMm4g_34_10"></a><a id="Tc_hOxyNPJ890O_E5DbP9M2HA_34_12"></a><a id="Tc_iynDEY1mC0CjEbcU5AYKmw_34_14"></a><a id="Tc_qe8vVMkHPUq5oHTtlPTbgg_34_18"></a><a id="Tc_nwfqEADt_Eme1ZLCh3zXyQ_35_0"></a><a id="Tc_AhbPxd0HkUisSwENppAlZg_35_2"></a><a id="Tc_rx0-Y9NGREScIKgfu-UAIQ_35_4"></a><a id="Tc_l00EwAn9c02jJ3dhoXTP1w_35_6"></a><a id="Tc_YIP1CqgPTkK1QaNoQYp5aA_35_8"></a><a id="Tc_eja6zmBNWka9TuUVEEIduw_35_10"></a><a id="Tc_W8TZivIbpE2zrda7YT_fEw_35_12"></a><a id="Tc_KK6dPVHxKUWDVz9T2C6ovQ_35_14"></a><a id="Tc_Gr1B98yqX0Op5SYv19tKoQ_35_16"></a><a id="Tc_hQh2COKno0inC8b3FPyNIw_36_0"></a><a id="Tc_vzT9CQXpiEq9eF2H1Lge6A_36_2"></a><a id="Tc_Jb9WqWEZBk2z3aiGoj0FZA_36_4"></a><a id="Tc_e7TX0e-3vEuhQKFGn6e7bw_36_6"></a><a id="Tc_BTLjhlOouECdwLExcCaEWw_36_8"></a><a id="Tc_b_-uKXfGok21iPeqZ1X34Q_36_10"></a><a id="Tc_miPxyRNhY0G_Pu5YXJqwrw_36_12"></a><a id="Tc_19BwLS1XiUCBD46fgLScUQ_36_14"></a><a id="Tc_LcZ4Mc7z70et1PsGrOt_Gg_36_16"></a><a id="Tc_sBazXFREfkWISNMS6sOTJQ_37_0"></a><a id="Tc_kr3IMlDJdEKo8TqdCS5SVw_37_2"></a><a id="Tc_DtpYQjlwMUepWNxkN5naBA_37_4"></a><a id="Tc__9Zy8caX5EStHCnHUUtY0w_37_6"></a><a id="Tc_7-w5qymUR0KVA5na2V6apQ_37_8"></a><a id="Tc_j3YRU6IVlkiJDJdZBlMjKw_37_10"></a><a id="Tc_QMoTf1GUU0Gqw1rJayQrFw_37_12"></a><a id="Tc_bPCyyShdxkybpVN45YnMbQ_37_18"></a><a id="Tc_1C5vdtxDEESE15a8rPJO5g_38_0"></a><a id="Tc_2k1IvHlP0UixtboCzGqkwQ_38_6"></a><a id="Tc_K14nc8456kir-TobDl5wEg_38_8"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:5.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:4.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.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:5.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.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></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Attributable to</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Canadian</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Controlling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:11.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Income&#160;(Loss)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Solar&#160;Inc.</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="21" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="19" style="vertical-align:bottom;white-space:nowrap;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands of U.S. Dollars, except share data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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&#160;31,&#160;2018</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_vsFrU3n1oUWFZFVF98mncQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_Nd32jVMoCEOwr0VpHaLlsQ_7_2">59,180,624</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_vsFrU3n1oUWFZFVF98mncQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_9ToTEuy_uEidnj4-mJLlAg_7_4">702,931</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_KLKKRa2i20KgKdbx4bzQ6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_6UzWEiZclUalMIOrHUG8GA_7_10">10,675</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_PJUjWnPnX0iW6gp8BM6gsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_xO5yfP7F60yhDgx7KLTTWQ_7_12">622,016</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uah-L9BZ102s0WRNhUq2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_16nErxVQeUKClwsEjB0HSw_7_14">110,149</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_l0PfX9AkekmXplghvvyGqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_23EgV1L_6kSMPKtY-qRZBA_7_16">1,225,473</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_wWqS1nP4E0m5tNSDPdY5AQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_pnW86ThNIUCPvCFg0aFjng_7_18">47,372</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_llLG0qDvI0ijKFzGRHGGwQ_7_20">1,272,845</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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 (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_mPxLydfwSUS88XOXKZ-ujA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_71ifEhcxFkOG7BvU_qTyqw_8_12">171,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_blVbiCdtLU26XhJ1gZa0kw_8_16">171,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_kxxs6wxVUEap468fsRJS5w_8_18">5,030</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_NEy5v1tVYkuV8qJDqV3ukQ_8_20">166,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__KR_9vw_uEyqcZL6VwQ73A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc__6CSFDn_9k2qP_BlYWXvuA_9_14">6,389</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_4nYBHW4rn0GS9lyRMhZv6w_9_16">6,389</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_JOMj7idzoU6yd-r1ROc40w_9_18">6,070</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_5bz2TakXDkSyPPmh2Z0QpA_9_20">319</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Acquisition of non-controlling interest&#8217;s ownership</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TVcCP7v8-0WN-njQoNHJpQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_rbrjfE-2g0G0AJ1aRZX55w_10_10">4,178</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_KWuH_zUl00y2gfyUjsw6Jw_10_16">4,178</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_iLDtkah5oECQyqA4wf2cxw_10_18">9,998</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc__WlZGYHK1kekjQAVo99v_g_10_20">14,176</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Repurchase of common shares<sup style="font-size:5.25pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YZImHl_s5k2N7FJBnt2rqw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" sign="-" scale="0" id="Tc_5yTP4XZQ3ECxbGMbd2qwbg_11_2">609,516</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S8MP3ARTm0qp3g41yO5QiA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="3" id="Tc_GkLiSuByCE-3khtNaF_0zg_11_6">609,516</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S8MP3ARTm0qp3g41yO5QiA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_2sCnxKc8LUyFvNd_TaEfsg_11_8">11,845</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_ahiNTBLPO0CfXG-PqyQLGw_11_16">11,845</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_unRH5y90xUWDThsobwLR6w_11_20">11,845</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TVcCP7v8-0WN-njQoNHJpQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_g7jqVe2plUyd953qa7nvjA_12_10">10,682</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_HvQIOZ3Zq0K8wfUDOHDRZQ_12_16">10,682</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_UQkCHxK2o0OYVndVP61X8w_12_20">10,682</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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 share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YZImHl_s5k2N7FJBnt2rqw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_soP97zlInUmFl3mxWQQKXg_13_2">800,576</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YZImHl_s5k2N7FJBnt2rqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_he8B8UcrZk2RnvnZM3ppDw_13_4">875</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_BAxSxRzI80Cw1oBKOTc6qQ_13_16">875</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_apWPD-scIEet0735aDEtmg_13_20">875</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Proceeds from non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_NTJ5tDO7WkiSU1q_TC-OHg_14_18">5,650</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_QPixFphwP0mMUaHdCq8cIQ_14_20">5,650</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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 derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__KR_9vw_uEyqcZL6VwQ73A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_8yBnOEUN90mHA4T0oyMUZw_15_14">5,847</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_yC0il3j1jkWOCAXLh6LhZw_15_16">5,847</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_cn2CgSjt60OVDFNm7GS7Ow_15_20">5,847</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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&#160;31, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cMIz4rA9TU2JOchZShgAzg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_Y2nJUL8KvEuaUQFKLK8mcA_16_2">59,371,684</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cMIz4rA9TU2JOchZShgAzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_BaOzMXTShUyeaF1owWIY3A_16_4">703,806</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_tqb2FK_Qj0OeXzBvnA3cNA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" scale="3" id="Tc_SUsjCurtkUCyBO8aQbOp5g_16_6">609,516</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_tqb2FK_Qj0OeXzBvnA3cNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonValue" scale="3" id="Tc_22mglOgQikGL8cmsmXR2Hg_16_8">11,845</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bgOHWUfYk02tSDCpIFfCDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_lMmUi9Jik0S26aVa2VDZeQ_16_10">17,179</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_DQdj51c9-ESyryXo9oA5tQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_439gMfwnwk-6Q7iARQjsBg_16_12">793,601</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_hTp4ySjj0k-gnAuyejj-zA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_o8ieyrSwDEWu_1uoigCtSQ_16_14">109,607</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_hI33H2tOQUWrWgZPtXpQIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_pl4Z2VzxJUe01VarLieHDw_16_16">1,393,134</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_V8azuFbEDkqu-vk6w20eTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_7-DKVSn8JEC6al8NC_AQsQ_16_18">31,924</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_2Atv6SjUNUuzR6wJV-MBiQ_16_20">1,425,058</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_yCA4MEB17E21mkFx-hMCoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_caPP825z_kWHoOuQV9hXZw_17_12">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_yZCyLApBEkq7CsF5kK9TBw_17_16">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_vqZj66Sz50ursCjtgzC4NQ_17_18">543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_uT5ssC8SakmOa1jF_Knlzw_17_20">147,246</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_yeL6uPWqSEeLdkCTaaFyiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_zJlIH6Hd9U2fm8iEG5EMOg_18_14">74,319</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_u3xWhshpI0yXYlCpDoQ6ZQ_18_16">74,319</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_KX_8JDrHyk2AvrrC67L2qQ_18_18">1,869</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_p4SUxRC2n06PiW8FT5rAgw_18_20">76,188</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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 of non-controlling interest&#8217;s ownership</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_BB0jA9ShtUWzt2hZf5lgeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_l_LU0ONZgE-XeiVfSlcwwg_19_10">8,414</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_M4yys4zzHEm-deaz5xiXbg_19_16">8,414</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_WwG7FJS_hUy0EUVH0BA6GA_19_20">8,414</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Repurchase of common shares<sup style="font-size:5.25pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" sign="-" scale="0" id="Tc_hTyApOcOXEqLtFWdMwt5ew_20_2">381,330</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Tc_sFTfTl3ebUCbYuaZGVK4lg_20_6">381,330</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_cune4HfBrUyylfHuLga5Wg_20_8">5,963</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_rKE3QfWIekGSNRr1mBYiZQ_20_16">5,963</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_JT9GV4tdpUOEFvkWjnF7xA_20_20">5,963</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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;">Retirement of treasury stock<sup style="font-size:5.25pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> <sup style="font-size:5.25pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockRetiredCostMethodAmount" scale="3" id="Tc_r6EqS3xYiECBDts0FPTiDA_21_4">17,808</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesRetired" sign="-" scale="3" id="Tc_b_QYXm8AM0C2mKZcGDcG9Q_21_6">990,846</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockRetiredCostMethodAmount" scale="3" id="Tc_mf3SzhscDkyPGY82HMvsvg_21_8">17,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_BB0jA9ShtUWzt2hZf5lgeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_Ic31SZKvjUCi7buBqv6jUw_22_10">12,350</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_PwKxQUWJpkaKvpZCuNiiCQ_22_16">12,350</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_RoSruJCz90GGqcKBV9o-wg_22_20">12,350</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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 share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_2uYw0YLlbEWPI21Xnea_HQ_23_2">830,030</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_yZblKAZKt0aJxy1LBC_fGQ_23_4">1,035</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_elD9hQN7G0upgCVPnAlV0g_23_16">1,035</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_wqU_62iO5EOoBW4kmHA8aw_23_20">1,035</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Transfer of equity interest in subsidiaries to non-controlling shareholders <sup style="font-size:5.25pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_BB0jA9ShtUWzt2hZf5lgeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" sign="-" scale="3" id="Tc_9Y1oDObYgkCximleDTmAjw_24_10">49,351</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" sign="-" scale="3" id="Tc_oyf9RW6Hm0y5IlDvUqk0qQ_24_16">49,351</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_8mPFKMDoq0-u8udH5pQ2Hw_24_18">273,904</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_CxagMJyvj0iV3wmM1HTZxQ_24_20">224,553</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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;">Proceeds from non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_l1Et2IV3c0GprSZH5M3wBw_25_18">14,123</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_Uhk8yFJr0kyWjsfWEplXXA_25_20">14,123</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">De-recognition of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_yeL6uPWqSEeLdkCTaaFyiw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_YTX9hIcO6kOcsiPwvojzGw_26_14">10,724</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_8nqcaVSOkU2roW6OkIg2fg_26_16">10,724</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_jN_OzaUsA0qPAYcdhCtpEA_26_20">10,724</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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 derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;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.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;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.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;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.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_yeL6uPWqSEeLdkCTaaFyiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc__rXv8PHEOECS62Mm0jpTMQ_27_14">4,115</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_ikP4Kt8GWEyH__WWJi89Mg_27_16">4,115</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_O5K7fZli20SRIcegIiWAhw_27_20">4,115</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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&#160;31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zHNZ8v0ba0CRcLslWy2xSg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_gSNV8CGODECJptvBym2aOQ_28_2">59,820,384</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zHNZ8v0ba0CRcLslWy2xSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_S8BSxwupRku_ZbPg4RWA_A_28_4">687,033</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WpHjOnW6bkiEo74ttdLUpg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_KvG5jX24XkiuzhuoTcxDgQ_28_10">28,236</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_umuq4OaVVk-LJQ9ugt63mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_bWmSZ7JbDESGu_1P2RhH6A_28_12">940,304</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_-sFcBXfVkEucup3UTK22lg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_2rNqj0AM9UuEZo8KXR1C3g_28_14">28,679</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_YTKQZI_RJUGPjDViw59KmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_8htybwkeq0KVrhwJu0s9-Q_28_16">1,570,422</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember__-ObamsmikqfLjIgHCzeOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_H5LJcyjFEU6AoPc8mvPwcg_28_18">322,363</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_P-o8Jczq40iAWrkHOs9dmw_28_20">1,892,785</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_TU3FSqXFvUSMFMMjnpHfaQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ZVxNHvKZq0CrYdVzvyG7nw_29_12">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_MA37exi8iUG_EVpEIdYedA_29_16">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_hVm6C25hjkyNXE7-HY4qqQ_29_18">14,628</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_p9DrQKiR2kid5F_redVyKw_29_20">109,876</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__Ap7ax5W7EK88lAOqwFluQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_hHlvIhU-60eoIc2zc23moQ_30_14">21,964</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_dS_dK-gB7kyy_6tNFq4_fA_30_16">21,964</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_KJqCR89q9EyCNK1Xdh8USQ_30_18">4,332</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_4uYSmX6FH0CGNQoj-9dFOw_30_20">26,296</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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 of non-controlling interest&#8217;s ownership</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_Zs2fy_H9m0Of4z1eV1S0Tw_31_18">10,719</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_Bd-P1gYmRUuUFBJqRW7uKQ_31_20">10,719</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_ohPEQsVfAUKj5tlbi8vHRw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_v5QzW8TDEkGf0g9pJd2jPA_32_10">8,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_OHk_4BZodESgGG04lLui4g_32_16">8,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_wZSGdsyshESkH2Qn5Eoo7Q_32_20">8,808</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercise of RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_LAlzLsbg20ezlsE9g9r6TA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_qoJWNvmlcECDtsnsGCHUxQ_33_2">562,376</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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;">(4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_LAlzLsbg20ezlsE9g9r6TA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Tc_rnszWEG6S06lzv2yYfYzng_34_2">3,639,918</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_LAlzLsbg20ezlsE9g9r6TA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="Tc_JIqHu9BHDkOwyVJBu0enpw_34_4">148,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="Tc_pDBEgKzeH0ajYcSw7R3KEw_34_16">148,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="Tc_8BEi7EaAGEWKESCyu1RWyw_34_20">148,510</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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;">Proceeds from non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_q7EOBICGGk-oGgPfqrVdTQ_35_18">10,003</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_LRgHI19evEmVBSuhHNnItA_35_20">10,003</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Disposal of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_EbRhGxM8JkuKATITk2zD4w_36_18">6,588</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_Lr4tCdcrC0i3Yy2dKAWliw_36_20">6,588</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;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 derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;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.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;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.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__Ap7ax5W7EK88lAOqwFluQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_hJrbwNMR30eDf8TX1t1RiQ_37_14">59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_2nj2GhIKy0qgr00y7kBpYQ_37_16">59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_-1_RK7zBhU2xWKYIFhqt4Q_37_20">59</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hocUE_CKR0-8Kn9OLxkuhA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_TdRuJG1d2EeZk_srLww24A_38_2">64,022,678</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hocUE_CKR0-8Kn9OLxkuhA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_jXGTWS7IikeZ2EyBNmZoMw_38_4">835,543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_td_9e07pu0OzNodH-a-x2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_c7BRK8070UGKdRTQXougLg_38_10">19,428</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_4Sqifx5Mh0SuhtS4MpE3Iw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_6Lzxa_H4z0aTEdEpdRVNbQ_38_12">1,035,552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Va2HcDRF_UeR0zTVT1MZrw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_r5a2U9oNNke4a1e6TdL1FQ_38_14">50,584</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_50Rvn_EMokmwxR64cR5SSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_0mGF2A0XdEKFtimz69edXw_38_16">1,801,083</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_qY-XeaYWuUKCuXTxDDtKBw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_KFGBLNqoTEKzF_txXEmnjQ_38_18">325,355</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.96%;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_0LmcJFMaKkGrOlXbA70scA_38_20">2,126,438</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="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"></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="_c812df11_1930_48b4_a924_940063f42121"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Following the share repurchase plan authorized by the Board Directors on December 9, 2019, the Company repurchased </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_12_1_2019_To_12_31_2019_qRZDr0ef7UOSKDkb0ueK_Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_ZUPD_Yrp9E2xl07QtpR-ww">609,516</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> outstanding shares with total costs of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_12_1_2019_To_12_31_2019_qRZDr0ef7UOSKDkb0ueK_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Narr_0Pr77UkrNUW2Nibb8iGBag">11,845</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> in December 2019. The Company retired all outstanding shares repurchased during 2020.</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="_aa8fbfc8_f3e5_42a2_886e_2925410e4782"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Following the share repurchase plan authorized by the Board Directors on December 9, 2019, the Company repurchased </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_1_31_2020_wgb-SEYTMk-03JBLWkCUZw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_MMgb1Isbo06KrNnNOvv4KQ">91,424</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_3_1_2020_To_3_31_2020_TgZICfn6hEy3hqrBJ86-zw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_xc1u6KbI80ityeIc0MdmiA">289,906</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> outstanding shares with total costs of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_1_31_2020_wgb-SEYTMk-03JBLWkCUZw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Narr_nVdC3g7iW0yKO3xa_nVzhQ">2,000</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_3_1_2020_To_3_31_2020_TgZICfn6hEy3hqrBJ86-zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Narr_1mzUKXrDG0aOv-F622Siow">3,963</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> in January 2020 and March 2020, respectively. The Company retired all outstanding shares repurchased during 2020.</span></ix:footnote></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><ix:footnote xml:lang="en-US" id="_02bd4506_a668_4b9f_a0ea_8339a06a7e61"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The Company completed capital raising 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_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VGai6N_0CkqgbuFCOW6oFg" decimals="-7" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="9" id="Narr_84I313df4E6Sm4jpjX1V4Q">1.78</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> billion (approximately </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VGai6N_0CkqgbuFCOW6oFg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Narr_5QmbqHON1E2DBS1kAXuU2g">261,332</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">) for CSI Solar Co., Ltd., to qualify it for the planned carve-out IPO in China and bring in leading institutional investors and strategic partners. Refer to Note 1 to the consolidated financial statements for further information.</span></ix:footnote></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><ix:footnote xml:lang="en-US" id="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represents 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_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_5_27_2021_To_5_27_2021_yBbVfX4M3UWc9NQ7IpGQSg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_6NTGiIqFDk-N_CSH1c2NDQ"><ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_A56AHUScQ0eenbpf51sinQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Narr_alhOS7LYokuiInJECAYR9A">3,639,918</ix:nonFraction></ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_A56AHUScQ0eenbpf51sinQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="3" id="Narr_oTemaGEaWkWoPHEBsB1ZEQ">1,490</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span></ix:footnote></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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="_628412df_e53e_453b_9b6e_110a8d4293e5"></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_hfkCtsdHlEa_H6PEiX3mYA_1_2"></a><a id="Tc_NnZ8zSIqekahXorQIGObLw_2_2"></a><a id="Tc_Y19rw8Sup060siFFJXgc0Q_2_4"></a><a id="Tc_-iQnFaOTmk2ZK-N8_WhaEQ_2_6"></a><a id="Tc_6DWtfTTti0yviQ2WGmQDYg_3_2"></a><a id="Tc_iYfC6jUHMky5w_wuahAO3A_4_0"></a><a id="Tc_pM5uELXQYk6iXkxjI3JS9w_5_0"></a><a id="Tc_mG_1nZNbtEiQfgHiyCwXgw_6_0"></a><a id="Tc_P8MFTUmLa0Cp0EeewDlQ-A_7_0"></a><a id="Tc_nuE-m2GQnEqOGG480b-8DQ_8_0"></a><a id="Tc_fzcOftTakkOjnQa6gRD_lA_8_2"></a><a id="Tc_EIWcCl5hv0K4zDCLavKq2Q_9_0"></a><a id="Tc_cxwPdIyfIkyQgEu7Tf1Rfg_10_0"></a><a id="Tc_hu2lY8iZzEaU-Mxh5VJr2g_10_4"></a><a id="Tc_0yvSKS_YKEKVgiHErEQH3A_11_0"></a><a id="Tc_RN6DUTzZX0W4irz76u4b9w_12_0"></a><a id="Tc_qVh9UA9S_0G1EWoQ3DaD2w_13_0"></a><a id="Tc_6jhVM11g5kSrPGtgp0p7Bg_14_0"></a><a id="Tc_2Ztn5-cyFkKLuleDKdjHKA_15_0"></a><a id="Tc__B7UEXQ5o0aHVtgUuzWIWw_16_0"></a><a id="Tc_aRlc7BdtQEeRoEjkjwDp2A_17_0"></a><a id="Tc_aUCWVRMzMkab0nYgiCykag_18_0"></a><a id="Tc_gYjzUcaGB0aALmSwgpVeeQ_19_0"></a><a id="Tc_xbyEYMsqNky4UDTxBBM6Dw_20_0"></a><a id="Tc_iqpg9T_NUkyUWCXRq6kdUA_21_0"></a><a id="Tc_KRd1uMOh4UeuADH2ubCy9g_22_0"></a><a id="Tc_ze9avHvXfEOFDJQN_V8XIA_22_2"></a><a id="Tc_0lQD0jubqEKBU7CbKydKFw_22_6"></a><a id="Tc_i1l4ll5jcU2q9u2JKDU0GA_23_0"></a><a id="Tc_ksU4dkBOs0OvQD_nwDNXmQ_24_0"></a><a id="Tc_NQfDUNn-PUqAzXNoRqbHtg_25_0"></a><a id="Tc_0cCuX2fh_0iuwZ4xoIxgvA_26_0"></a><a id="Tc_kiTRKoI-aUedsVtb4lEZjg_27_0"></a><a id="Tc_fgwC2U9CjU6gR_e5lD_aRw_28_0"></a><a id="Tc_93biG8DlrECJ19A8t2LNuA_29_0"></a><a id="Tc_EGBB9o1vKUqmDvU_cL0i9w_30_0"></a><a id="Tc_soj7uGyJqkq1uLkFdAnxAw_31_0"></a><a id="Tc__b97r-fYQ06W440fIhCBNg_32_0"></a><a id="Tc_lCtb5pbTiEaJTAvHJiXWSA_33_0"></a><a id="Tc_Sq05rQchBUCXJnwMBEhvqQ_34_0"></a><a id="Tc_K2Z6G61NyUKxgFCYEaVAwQ_35_0"></a><a id="Tc_1XeuivBmMUCsbEXYpnEzOA_36_0"></a><a id="Tc_YzB4eru4IEWf4xx-OJMf2Q_37_0"></a><a id="Tc_WYw8jz09QEi15UjJlVInIQ_38_0"></a><a id="Tc_YL4sFRFj6U6A109ou3kZVQ_39_0"></a><a id="Tc_uToxZrnPJE-qTPKUtMTKXQ_40_0"></a><a id="Tc_QZVS_vgW3kyvxa28xCTnsg_41_0"></a><a id="Tc_ODB9_s7POUmxP1ibfNrJzw_42_0"></a><a id="Tc_L5XucEv65UKSoVj1KfEang_42_4"></a><a id="Tc_n8k8lfqcdkiyt0V9y7w9KA_42_6"></a><a id="Tc_5PcuER3tikS1vz3UkbUY7Q_43_0"></a><a id="Tc_HpA1etRMmkmsi3Ziz3UALA_44_0"></a><a id="Tc_wWtHOyMNDkmh02SIUqw0Tg_45_0"></a><a id="Tc_BGJNTx_ff0aqRCHGxXaF4A_46_0"></a><a id="Tc_nrz2c_YDJUelVfJX3WsbWA_47_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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Operating activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_iSPjKJbe-E-cyYfN4DDzzw_5_2">166,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_W06SSDzZSk2Hs_qBFyLiTg_5_4">147,246</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_z2N28Ief70qalVja6mqvbw_5_6">109,876</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 (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;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_qanb5OWT70K7O0Qu8inoLA_7_2">159,723</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_9cmOAnfzU0mBSge__hqKNw_7_4">209,118</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc__gON159CQk6Q-PgPJp4CqA_7_6">282,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: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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_apF9cwfCHEKcivb_r91MrQ_8_4">388</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_cdRlrYr6LkKwsnGpqr0IqQ_8_6">1,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;">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" sign="-" scale="3" id="Tc_4Ye_Ax6i3EWcqyF3B_BHnA_9_2">1,227</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="Tc_Jx1Wgg52OUeblby9y_95VQ_9_4">253</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" sign="-" scale="3" id="Tc_VCiMfsnTqUmTMHyfzcyv3Q_9_6">83</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Gain on disposal of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_NMu4BdR0eEOSKC1bg39p4A_10_2">1,666</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_C_BEo4WKG0-ZpwzrINWMzw_10_6">10,091</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 investment 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Tc_1T6D0oet_kCZrLkxT_62tg_11_2">1,928</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Tc_yqx2EBggQ0ygzOoVUfyV3w_11_4">13,936</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Tc__DwAaWxHeEW-myqSEk1Zyg_11_6">10,392</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 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_WmMzjR8zj0yvQahnhi2Zlw_12_2">21,866</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_a4_9ALiLq0y_DBY3oECctw_12_4">11,854</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_kCm4s3jqrUe3V6AQZWXmrw_12_6">6,084</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_HWr65Gfz80elEBZM43GQRQ_13_2">20,194</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_9U6dZa_BGkKyXtN5g1oV9Q_13_4">369</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_koFnDIF8yUa0oGP1s4604A_13_6">17,152</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 investment</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:zerodash" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Tc_-2kQcP95N0Sv1yfsYnnr6A_14_2">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Tc_ynzCe6LF_EKvB4GegNKbcQ_14_4">24,060</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:zerodash" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Tc_xuF3vXv55Uen7PBT428RzA_14_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss (gain) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_qycSMDkW_UGBGUtESFLVwg_15_2">22,218</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_idEVi331BkmGCILTe3cGFw_15_4">50,001</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_W1YZu3twLkyj1o_8zpGDBw_15_6">23,785</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 unconsolidated investees</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_r8gazJ70Zk-gpM_WAnZ-qw_16_2">28,948</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_byMCB8GuvEeGJuCCANjkAQ_16_4">10,779</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_WtW9KyEuS0yp_wwRgzJ1ng_16_6">7,256</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_99-VdV9xOUqxhASCE2r3MA_17_2">1,250</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_MNfopyxl8EicSvJa3TkInQ_17_4">9,874</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_2J8-3kRUfUCWP7eTGZUgFw_17_6">7,615</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Non-cash operating lease expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_1Nwfa4Ids0C5n15aLwMH7A_18_2">14,318</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_heF-NlTSe0m8gRIGifcVfQ_18_4">19,260</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_XVwcYFHOYUebRXRrxmfyxg_18_6">14,321</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Write-down of inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_Csuevo-KsEurkMjEaaun_w_19_2">19,447</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_QUjvjwDjIE6xQNoxWcFfAA_19_4">42,907</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_WgXforfK1Uey_w3mn4eI4w_19_6">14,070</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_x90ih6xUjk-SlNfSXSZJdw_20_2">10,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="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_zMdILcnWDUGi9TAQvEc4bw_20_4">12,350</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_u95-8YNcTEi6DxaXwh-fzg_20_6">8,808</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Unrealized gain (loss) from sales to affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" sign="-" scale="3" id="Tc_zyOPwNRpbUiRUsjZ2uD7-w_21_2">6,194</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" scale="3" id="Tc_etg0CT98nkmbJF7FYxadlA_21_4">66</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" sign="-" scale="3" id="Tc_LmKWSbsAoE6xgtHnLzpaOQ_21_6">35,890</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Derecognition of interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DerecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_MPAGD6Qg3EGAvdhVQrWWtw_22_4">4,439</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><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;">Accounts receivable trade</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_sdaPWvM0l02LO2iJHmckXg_24_2">51,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_ordkt9a9YEWGcoUhcTAMrg_24_4">65,379</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_2Z97666xKkKdb8cCvc3iSw_24_6">284,785</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;">Accounts receivable, unbilled</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_F71-pVttlky_326pi3ELag_25_2">15,268</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_iILlQqHC00KWQOP5XFExMg_25_4">12,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_IUngOYWWY0qW8EH5LGqPEA_25_6">8,783</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 from 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_yHkIG5idnU6eeLvzlwiQbw_26_2">17,347</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc_WMGFolGHfkiy4rCrG5BYmg_26_4">26,828</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_aLh80qrxFkK6LiQUagtYSQ_26_6">68,912</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;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_-CyIJd0PDUy5dINby9CphQ_27_2">312,781</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_t0mK_liSeE-Ff3Zrs2PqOg_27_4">180,974</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_2pE4zONkskWVYBmd6O1JlQ_27_6">518,741</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;">Value added tax recoverable</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_aekX-UScVUqv9BOLGzIOBA_28_2">849</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" sign="-" scale="3" id="Tc_bemnMAtcT0ep5QqdfHQEtg_28_4">2,687</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_A7gkJrnVM0m7SwoEWx6kNw_28_6">21,873</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;">Advances to suppliers</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_1MpRcL2XAEuWXKV4tG9JHg_29_2">27,066</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_aLENZ3njsE6w8hKU5Goc3A_29_4">138,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_A7mFTgZbhU-gszSTD8L8qQ_29_6">30,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 0pt 0pt 12pt;">Project 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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" sign="-" scale="3" id="Tc_a-EMvdOkl0qE0XnSsJLzhw_30_2">28,527</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc_93jYx_lBWk63fGdlqgEVlw_30_4">443,730</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc_JYrVpTq7MkOjUktKokebhQ_30_6">73,375</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_siGMBklWiEaAZWuRTIg3EQ_31_2">33,283</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_4Z9l_sbdE0e1G9f7za27Bw_31_4">72,188</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_eGtdNVlFpkK28d8ivE20vg_31_6">85,754</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_9srXYnAfK0CEcFPiCkMCzA_32_2">24,037</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_IjAfLcUAMkmMxjV3NuiK1g_32_4">11,913</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_q4t1kkBm_E-OyGBbRhYKkg_32_6">20,357</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc_0uYR7_FRb0GWsuhTembSAA_33_2">209,175</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" sign="-" scale="3" id="Tc_u52mnY_qLk27BZsOhCi1VQ_33_4">89,180</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc_MhmGTNO3dESy2eZlEdt5Ew_33_6">11,023</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;">Short-term notes 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_2nyyYXs1Z0yDpdfBizkrcw_34_2">185,827</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_2ddoGsFW3k2slBp-s-QjSA_34_4">120,445</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_wXMfAp6IOki7qDh85Nd3Ew_34_6">150,982</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 to 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_pgOZPRHpJkmw9sk5bYV1Og_35_2">5,798</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_aPUXgmsb6EiIUfQTgH2OPQ_35_4">9,773</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_ftSON4o710eD2U38N8It2Q_35_6">171</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 payables</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" scale="3" id="Tc_-6woiYwJTU2VRNKs6j88rQ_36_2">42,810</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" scale="3" id="Tc_wZGZ1bvVKkGN4WoyfnzwFA_36_4">10,386</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" scale="3" id="Tc_g0A-XdXGN0GgxB3NXXmlcg_36_6">126,215</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;">Advances from customers</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_HJJdoSTaTkujdSSo657G6w_37_2">96,115</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_k758h55haEKrs3KDPxvgEw_37_4">51,683</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" sign="-" scale="3" id="Tc_7hOJCCeD90yxhEz8nIAUYw_37_6">53,998</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;">Operating lease 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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" sign="-" scale="3" id="Tc_ovlvo3aVRU2S4ms9yQ33Tw_38_2">12,566</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" sign="-" scale="3" id="Tc_IZMA9r4H5U2sxFEaYU5nQQ_38_4">19,369</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" sign="-" scale="3" id="Tc_C2Ypm_SZ2k6uM2NOwxBeCw_38_6">15,803</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 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" sign="-" scale="3" id="Tc_smSAm5evt0i01ruGWsktuw_39_2">10,851</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_9XuBFEMz5ECBO8ljXnGmwQ_39_4">179,911</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_DUkbJhs1iEGBaJ4bzQIENQ_39_6">41,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:8pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProductWarrantyAccrual" scale="3" id="Tc_VrSHCy9aXEqvosPB7Rf7cQ_40_2">4,624</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProductWarrantyAccrual" sign="-" scale="3" id="Tc_mtpPskAx_UGrcR3Tdh-kjA_40_4">19,143</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProductWarrantyAccrual" scale="3" id="Tc_L2AbgpZy7EaBqWL9HuxXYA_40_6">9,413</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 land use rights</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInPrepaidLandUseRight" sign="-" scale="3" id="Tc_DL8v0qSmskq99k6twSktyQ_41_2">2,622</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInPrepaidLandUseRight" sign="-" scale="3" id="Tc_iM7Uv3bfck66--h4P6RJMQ_41_4">452</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInPrepaidLandUseRight" sign="-" scale="3" id="Tc_6MvbM-HYcUyJRR8lCrH9PA_41_6">1,647</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;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInGoodwill" scale="3" id="Tc_JMGCTC2v106IIOKLj8KP4g_42_2">1,005</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_tPJmw-o2HEKM1qL-WaP7GQ_43_2">4,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_tfOG-K3bd0WoLTkWDImMSw_43_4">623</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_s1atqAKywUyQZZUU7itzAQ_43_6">7,281</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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="Tc_ST_rNrHvSEiV72B6TAG_TA_44_2">12,455</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="Tc_Nks8ozXIDUuL534smnBwwA_44_4">21,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="Tc_R6cTYgHPnUCn6RqdTfcXQg_44_6">67,386</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net settlement of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc_vTFp5iyZcUirR0BaiDk3wQ_45_2">27,012</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_0MUmECA4YEK6YfYdEz38_w_45_4">33,054</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_LCLeoF3rQ0Cv7Po9V6bciA_45_6">31,886</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 contingency accruals</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" id="Tc_QPenuhIRy0mLQ99Kx5ph4Q_46_2">4,126</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" id="Tc_Su6BIoF2y0ew48p8Gkwwcg_46_4">1,115</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" sign="-" scale="3" id="Tc_bgCkny7eQkedEGmXKsj2hA_46_6">10,939</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;">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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_uK2MdJiWwUm7tlDY_kdKzA_47_2">600,111</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_AU-wuX_zk0GyENc5eWUv3g_47_4">120,541</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_uZ1lfefFi0uxWexJ2Ysvyg_47_6">408,254</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:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><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_X9d4PPW_Xkaf8YOuhmfggQ_1_2"></a><a id="Tc_7zUxyLbAVUmbdmTekqDiEg_2_2"></a><a id="Tc_gOqZWDrnXUamereQliFu8A_2_4"></a><a id="Tc_E4t1hwvL-kKk_K5DVdi1EQ_2_6"></a><a id="Tc_S5WBzqRjLUae0VVI7_Yjrg_3_2"></a><a id="Tc_3llFDLE7Y0qEB-Vr9BpsvA_4_0"></a><a id="Tc_P6sHSHg1-EqkfxbsNFdL5g_5_0"></a><a id="Tc_WxitLM77-UO2R8ptQJAZJg_6_0"></a><a id="Tc_Wf8QrYXICk6yRFsCWRP2hQ_6_4"></a><a id="Tc_faN4zXPNDUmqJZAp0LRKPQ_7_0"></a><a id="Tc_b6Ke5uAFPUCeH7b9_H0d0Q_8_0"></a><a id="Tc_9rx801QBQUCtzww5XpFNaA_9_0"></a><a id="Tc_t-mf6yYRMk2TRauSS7zagw_9_2"></a><a id="Tc_V0TLKc495E-PlRdf9WwXHg_9_4"></a><a id="Tc_iBHtlMzoIUy9J7bEA3fR0A_10_0"></a><a id="Tc_ccwwBMI800KNpDy18yDytQ_10_2"></a><a id="Tc_owYZ3DoZfUS-e0JHZYd9vg_11_0"></a><a id="Tc_pETG1r-880irv2020NwOtg_11_4"></a><a id="Tc_FU9way6yrUuXbDHBaalSjw_12_0"></a><a id="Tc_NOoTvtoZ2kWh6ionnw3eDw_13_0"></a><a id="Tc_W17UXGYWcE6Hqr6pqlynVA_14_0"></a><a id="Tc_huAucnWkakeayWEwrYngAQ_15_0"></a><a id="Tc_yCVxbFdhhUaz0BD1gXpSoQ_16_0"></a><a id="Tc_PXoe4BJ6GECm3aQTOHQabQ_17_0"></a><a id="Tc_dBVIztSZcUa0a9iRVENa4g_17_4"></a><a id="Tc_bOQA8O3lwk-ZppWchBXgiA_18_0"></a><a id="Tc_Q-eWGuJuOkaNAzcffW_AMA_19_0"></a><a id="Tc_MwtRaWct9UaBnox_bjahnQ_19_2"></a><a id="Tc_DB4L_iCuCkSMhuniGbFZaw_19_4"></a><a id="Tc_P2OBejRqOkiZjOCNp9amnQ_20_0"></a><a id="Tc_nw--cRD1AU2SoVv0BtQzng_20_2"></a><a id="Tc_XI0vts8gZEG0uEkd1DIDgQ_20_4"></a><a id="Tc_j_bYaV7skUeLaxfeZfL_Wg_21_0"></a><a id="Tc_FkvE4vzQyUKKruTvn_rtKA_21_6"></a><a id="Tc_EWTW7FIKvU6U9SGmbDcAng_22_0"></a><a id="Tc_IKCWmxU_ekmDaGZ6CpXHxg_23_0"></a><a id="Tc_n0hXimLcKkGf4sZMy_YNSg_23_4"></a><a id="Tc_h_GA7Rz4UUaPQtnL6QEM0A_23_6"></a><a id="Tc_6Fb40QhlhkKb3PLxR-tGOg_24_0"></a><a id="Tc_wHwcj0V5cEOlEzOkKDlWaw_25_0"></a><a id="Tc_s7dl4IBtsUOCQbHIOpWQdA_25_2"></a><a id="Tc_Gpz1LJ_fVkymCTfkYGp8ig_25_6"></a><a id="Tc_XNe-SnUM2UmBNAD8t4u6rQ_26_0"></a><a id="Tc_BugFJnoaSUqEz4EY2bGoLg_26_4"></a><a id="Tc_HqMFCWyssk-vmU4eGT5GCg_26_6"></a><a id="Tc_5TtbLUJo6Em43N1qKEFvWw_27_0"></a><a id="Tc_MAkNzekbNU2zRoK8JBl3FA_27_2"></a><a id="Tc_cCOMzhuBxEKuzpP3TIjx_Q_27_6"></a><a id="Tc_jYg3tAV0aEa7cBA_2yVZaQ_28_0"></a><a id="Tc_yehozQxocUmupneQCXvn7Q_28_6"></a><a id="Tc_G119LZUdc0ixs6oxZus3OA_29_0"></a><a id="Tc_URHVAbz980Kh7pPE8cYi7Q_29_6"></a><a id="Tc_Er0baRadQ0yMzHZbu0JMAA_30_0"></a><a id="Tc_q_9p0abh10SkHN3P_SZ-RA_31_0"></a><a id="Tc_PufDg4_97k6c8MX0f1IJcQ_32_0"></a><a id="Tc_S97f8HnbXUWhZ46HCiWPfw_33_0"></a><a id="Tc_ltczw0QA90S92evamBq3fw_34_0"></a><a id="Tc_gMMVrW6u1kG0Ad9IqJuYLg_34_2"></a><a id="Tc_Lx7dT_SuH0GV_grEEAxdKg_34_4"></a><a id="Tc_6qH8h8Lva0Wp6-z2KrcxIg_34_6"></a><a id="Tc_o2zsca-6VEmSOG8694uLng_35_0"></a><a id="Tc_LoXJKl9fjESrHJjgou3G7A_36_0"></a><a id="Tc_x3TCCy-TzEW-GYWyHcNA5w_37_0"></a><a id="Tc_HX9YRZ8nukucA1qtJoWRTg_38_0"></a><a id="Tc_T6B-G8UPk0mtxxOpqlJOlg_39_0"></a><a id="Tc_Jzp6qv6fwk6DF9HfRK1jlw_40_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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_W4_dYEPAM02_8RuVsra6Hw_5_2">7,684</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_96fhUrHp0ESnChF8_N-vJA_5_4">17,758</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_7IaYBUpfH02LckP5tLXSTA_5_6">54,004</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Return of investment 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_UvrxGZl7okKf044NL6wMpg_6_2">3,012</ix:nonFraction></p></td><td style="vertical-align: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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_RyqJ7438cEqWjEApJiwh0g_6_6">2,671</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Proceeds from disposal of investment 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="Tc_CCDBKf4N6ESqFmcBveS3Uw_7_2">1,649</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="Tc_9QzPone3Ck6m9m0Icu_OKg_7_4">33,037</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="Tc_0kg_wckIOEGHFMHbVxvVKg_7_6">14,311</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Purchase of property, plant and equipment and intangible 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" scale="3" id="Tc_fJ21BjDN-U-RcD6kyB0Flw_8_2">291,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" scale="3" id="Tc_KVVGbNhgxkWY2mbOHo065w_8_4">334,781</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" scale="3" id="Tc_HITRpiFUlk-W4_a8yulXxQ_8_6">428,725</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Proceeds from disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_tOumobRwGEK0_f9O_uH9RA_9_6">18,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Purchase of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSolarPowerSystems" scale="3" id="Tc__YZmQdplwU6cCJI9-8siDQ_10_4">160</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSolarPowerSystems" scale="3" id="Tc_eTAq8j_ijE6Og-7MQTsZpQ_10_6">775</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Proceeds from disposal of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_9iX0g3YVPk2HB9cj3mIqZw_11_2">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="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_jDE0bjt5nkemd4ZBFlM_Fg_11_6">18,397</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_o7kR7rHYmEyCZdWe3n1Ivg_12_2">294,102</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_mDh8Jz1tbkijRwRBeUrs8w_12_4">319,662</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_uh3aQJJXJUOYAOJhX5GepA_12_6">429,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:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Financing activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Proceeds from short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_ovICdNovrkms_rjdrtseQQ_14_2">1,257,009</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_2EOB0238w02Do2g2hSN96g_14_4">1,667,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_vaZipbJY20mWpMYQ_FrepA_14_6">1,742,064</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Repayment of short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_2T_sba1Nj0SX3pA42wBGRQ_15_2">1,649,721</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_UqqIvQQndkSVnERZM1WdAg_15_4">1,561,597</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_g693rhLsAkmLkYA9V0pjFQ_15_6">1,879,884</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Proceeds from long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" scale="3" id="Tc_KJFINBHiH0-5hdm3xG4zrg_16_2">530,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" scale="3" id="Tc_CUmVec5aZUGkoLMTo0V9xg_16_4">207,632</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" scale="3" id="Tc_ct6EHKEFZUuiQpst5_yHFg_16_6">588,082</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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToMinorityShareholders" scale="3" id="Tc_BAMNpbTahEmLgm5Cq_SCeA_17_2">14,176</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToMinorityShareholders" scale="3" id="Tc_wxj-7jdP2UGr5KROzK_Hdw_17_6">10,719</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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_EaTYS3-6SUSMpDpKyg2cOA_18_2">11,488</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_O95YvhI77E68uEVgzvPCxA_18_4">261,332</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_AzNT_jkf9Umr-vMj7Q2UXA_18_6">10,003</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Repayment to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromPaymentsToMinorityShareHolder" sign="-" scale="3" id="Tc_JAdgc7kBJkGVu4nuzFZ8nw_19_6">6,588</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net proceeds from issuance of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="Tc_4eqQNx6AKEyrz-Zb38AVJg_20_6">148,510</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Proceeds from third party financing liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromThirdPartyFinancingLiabilities" scale="3" id="Tc_6L_ZUeYF10WwQZqUOvclWA_21_2">3,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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromThirdPartyFinancingLiabilities" scale="3" id="Tc_4bdfz-sZaUKExoDVj8EoZg_21_4">6,419</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Proceeds from sales-leaseback arrangement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SaleLeasebackTransactionProceedsFinancingActivities" scale="3" id="Tc_ZjVC1_rOk022ae8RsnUs8g_22_2">9,044</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SaleLeasebackTransactionProceedsFinancingActivities" scale="3" id="Tc_MGtfM7YCekqIEf2LAH5hlg_22_4">9,945</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SaleLeasebackTransactionProceedsFinancingActivities" scale="3" id="Tc_YGGTiHXzb0Wz5q6z2AytzQ_22_6">45,693</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Distributions to tax equity investors</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsOfDistributionsToTaxEquityInvestors" scale="3" id="Tc_HoEAwB126EGZ3qHGiIzm7w_23_2">1,120</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Repayment 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;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="Tc_Gt0pexQV10qtYQWOshfDAQ_24_2">42,658</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="Tc_c2RKLK7JE0ijihbj5Iz0jg_24_4">22,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="Tc_W6snfnRQUU2fKhCyedQV4Q_24_6">23,090</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net proceeds from issuance of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromConvertibleDebt" scale="3" id="Tc_eRDC_5A_KUu9zrBIsj1UdQ_25_4">222,826</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Payments for repurchase 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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfConvertibleDebt" scale="3" id="Tc_WTUwRmXSl0Wyl9-vrBnBzA_26_2">127,500</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Proceeds from subscription of employee stock ownership plan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSubscriptionAdvances" scale="3" id="Tc_V71s8-jCx0SRICKUU9oVjA_27_4">36,342</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Proceeds from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_PN0Vov2pE06m682e4TYeYg_28_2">875</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_MDmkYsNtdU-0GxUiRUN7hQ_28_4">1,035</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Payments for repurchase of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_I2hdmIVv_kSwTum5lCI_UA_29_2">11,845</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_v8UkwxxE7kmSw--CGLWHfg_29_4">5,963</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_aUh-8ldoy0eYB8IturpExQ_30_2">34,614</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_AOMR-UDZ5Uu0gY5FNPOeiQ_30_4">823,501</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_ikYRHVZQ2kyan6lzxdDVMg_30_6">614,071</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of exchange rate changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_LI_sMDoy-0-qP6wAJLmgbQ_31_2">6,965</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="Tc_dn8Yy_qikkK1Qu_1fYL4cw_31_4">50,997</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="Tc_iDJGy2ssoU6AdMGMzFI-6A_31_6">18,320</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_iK6ghcwlrUqJzTDl8TTnyg_32_2">264,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_0S49WQAozkKjRuUDCOSSYw_32_4">434,295</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_KPLgNgWUAU-nBhWxNiOxlg_32_6">205,433</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Cash, cash equivalents and restricted cash at the beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_oeHFXNCViU-31WwZwhE3xQ_33_2">940,990</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_ImxqAoajjEOHvAzUTlHAHw_33_4">1,205,420</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_FESdhI_h40ud0imNqEnp0Q_33_6">1,639,715</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: net decrease in cash, cash equivalents and restricted cash classified within assets held-for-sale</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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><td style="vertical-align:bottom;white-space:nowrap;width: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;padding-left:7.2pt;text-indent:-7.2pt;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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_xD4KMEZ_h0euqgtLyMB4Aw_35_2">1,205,420</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_1p2eGVqVs0iJT9reqkqqtg_35_4">1,639,715</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_Y1p5yeJAwUK8_Paacwi79g_35_6">1,434,282</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_Y-vZC0Xc4029oAmc59eBsw_37_2">85,362</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_nN5Hld1ix0OyUVGB3zL5Fg_37_4">78,747</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_80kqLu4Yb0aoRKEcHCBeQA_37_6">71,006</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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_THhhRFCPEEKwwyraefRNxA_38_2">40,454</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_qPPrMmhdHUCt9jhKMXNipQ_38_4">38,193</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_Z09DFeYan0m4tBy9pcGtrQ_38_6">57,396</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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Property, plant and equipment costs included in other payables</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_H5i5WPhXsEa_6dVlylzlxg_40_2">244,483</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_N4tPbat24EW-EFvB9-KOvg_40_4">244,512</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_8Lrq-1W_2UO63w2ZUvjBRg_40_6">299,664</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_j8cOZajG7EeQEwXWStsNQA_1_2"></a><a id="Tc_wmA53Wd1JE-u-6WyiwpLmQ_2_2"></a><a id="Tc_aK5Pfa-jok-riGSw03MgjA_2_4"></a><a id="Tc_Hu7kKXcpl0mj8YWjWMAcZA_3_2"></a><a id="Tc_gVn0SblQtUyBpOVRRFOxlw_4_0"></a><a id="Tc_KPKtxJ0_BUmzkFBPwK-eSQ_5_0"></a><a id="Tc_nvHutoHVkUmnt4TU98i93w_6_0"></a><a id="Tc_L2TR2Nx09kif-WVTSqoBdw_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;">Years Ended 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;">2020</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;">2021</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="5" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:73.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_ZwOhoB50fku6tZ43SQxiZA_4_2">1,178,752</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;">&#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_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_KQR1cvt6f0KkY6gr3MVVag_4_4">869,831</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_bN5_UT8nFUyiJahZRcSJXA_5_2">458,334</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;">&#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_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_vSIvSIrN6UafFjpof_01zw_5_4">560,633</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_OT_WRkObYUOXF7-Q4O37ug_6_2">2,629</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_kJk4IxrixUCLPwch40QLvA_6_4">3,818</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_Ex1GbDnBVku6wl-7_HJwMA_7_2">1,639,715</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_pF-uQorLYEy2FnVnovUsHQ_7_4">1,434,282</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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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><a id="Narr_fEvFjtz7H0u_cRhofzoa2g"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:NatureOfOperations" id="Tb_CpeHzpcGHEaY2Rz-EsaMNA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">1. ORGANIZATION AND PRINCIPAL ACTIVITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Canadian Solar Inc. (&#8220;CSI&#8221;) was incorporated pursuant to the laws of the Province of Ontario in October 2001, and changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006. In July 2020, CSI filed articles of continuance, or the articles, to change its jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. As a result, CSI is governed by the British Columbia Business Corporation Act, or the BCBCA, and its affairs are governed by its notice of articles and the articles.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">CSI and its subsidiaries (collectively, the &#8220;Company&#8221;) design, develop, and manufacture solar ingots, wafers, cells, modules and other solar power and battery storage products. In recent years, the Company has increased investment in its energy business, which primarily consists of solar and battery storage project development and sale, operating solar power systems and sale of electricity. As of December 31, 2021, major subsidiaries of CSI are included in Appendix 1.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In July 2020, the Company announced its plan to carve-out and publicly list its legacy Module and System Solutions (&#8220;MSS&#8221;) subsidiary, CSI Solar Co., Ltd., in China (&#8220;the IPO&#8221;). In preparation for the IPO, the Company successfully completed the restructuring of its business segments during the fourth quarter of 2020, and transferred China solar power system and project assets from CSI Solar to the Global Energy segment in November 2021 as part of the CSI Solar Co., Ltd. carve-out listing process. Refer to Note 22 for further information. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">To qualify CSI Solar Co., Ltd. for the planned carve-out IPO and to bring in leading institutional investors and strategic partners (&#8220;third-party investors&#8221;), the Company also completed a capital raising in 2020 by transferring a portion of CSI Solar Co., Ltd. shares to third-party investors for an aggregate consideration of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw" decimals="-7" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="9" id="Narr_JRQ3evy2PkqJwU4_ybO3WA">1.50</ix:nonFraction> billion (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="3" id="Narr_CvuqQpUgkkaMkWkzjJ7jAQ">219,000</ix:nonFraction>), which was determined based on the equity value of CSI Solar Co., Ltd. of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw" decimals="-7" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="9" id="Narr_cNpwMk8trEGLCZXs7EIasg">7.50</ix:nonFraction> billion (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" id="Narr_a_yCJ2n3o02MMIsnhYfwJQ">1,100,000</ix:nonFraction>). At the same time, selected employees also purchased existing CSI Solar Co., Ltd. shares from the Company for an aggregated consideration of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_Ev3jp0kuv0eRIQPS0pGq0g" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="6" id="Narr_Dqx4A2u0VEe-CVD1VL10jA">31</ix:nonFraction> million (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_Ev3jp0kuv0eRIQPS0pGq0g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" id="Narr_TA8yShTFCEieYJ0bkQrrow">4,500</ix:nonFraction>) at the same price. As of December 31, 2020 and 2021, total proceeds of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:SharePurchaseProceedsFromThirdPartyInvestors" scale="3" id="Narr_hCt6ZbuHQk2zf8gAflx33A"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:SharePurchaseProceedsFromThirdPartyInvestors" scale="3" id="Narr_onLUkyWK6UevfVGBaVLLKg">224,553</ix:nonFraction></ix:nonFraction> were fully received and recorded as non-controlling interests in subsidiaries on the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In addition, CSI Solar Co., Ltd. approved an employee incentive plan (the &#8220;ESOP scheme&#8221;) and utilized a limited liability partnership (the &#8220;LLP&#8221;) as a vehicle to hold CSI Solar Co., Ltd. shares that will be used under the ESOP scheme. Eligible CSI Solar Co., Ltd. directors and employees and board members have collectively agreed to subscribe to equity interest in the LLP for an aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_5z_uSD2qAkaDDIULyoERZA" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="6" id="Narr_5nNnao0prUCMa2a5uTgmQQ">248</ix:nonFraction> million($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_5z_uSD2qAkaDDIULyoERZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="3" id="Narr_MCzJoKCLrU6Y3UNtIjQ6ag">36,342</ix:nonFraction>) at a discount of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:PercentageOfDiscountOnIssueOfShares" scale="-2" id="Narr_-OSEQC0ifEe_-83bKrmhig">30</ix:nonFraction>%, or at an equity valuation of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-7" format="ixt:numdotdecimal" name="csiq:PremiumDiscountOnIssueOfShares" scale="9" id="Narr_1tVqYFlg2kyaOsHFvsMV4w">5.25</ix:nonFraction> billion (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PremiumDiscountOnIssueOfShares" scale="3" id="Narr_Ewd22SDdVkSt_XDllDhO0Q">768,000</ix:nonFraction>), for which the vesting conditions include the successful completion of the IPO and service period. The ESOP scheme will be accounted for based on the grant date fair value which equals to the value of the discount benefited by the ESOP scheme participants. Compensation cost will be recognized over the vesting period upon and after completion of IPO, therefore, <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_f1Um6DFkWkqaepWMt-u_5A"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_3dG9_3vr70qu07SzrEud6w">nil</ix:nonFraction></ix:nonFraction> was recognized in the years ended December 31, 2020 and 2021. As of December 31, 2020 and 2021, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_tFDCQkmzn06EILalpnxGNQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:SubscriptionAdvances" scale="3" id="Narr_XvBnR1qpEkGyNRreTdJB_A"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_RF-Ll5VBzku100Bzq0cPKg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SubscriptionAdvances" scale="3" id="Narr_mkJcvwwAvkKEwIojddzvXw">36,342</ix:nonFraction></ix:nonFraction> of subscription advances were fully received and recorded as other payables on the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2020 and 2021, the third-party investors and Canadian Solar employees, in aggregate, owned <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CanadianSolarMember_uLKXVXzo7EyPhuOKasog9g" decimals="3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" id="Narr_tsmgqmRpbUi05zvXO4rcPA"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_OwnershipAxis_csiq_CanadianSolarMember_qOH3oMlSzkKECsf4ZCOzog" decimals="3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" id="Narr_ewhD8Fto_EKJpg7gt7ihQA">20.4</ix:nonFraction></ix:nonFraction>% of for CSI Solar Co., Ltd. The Company&#8217;s wholly-owned global project development business, its Global Energy subsidiary, is not part of this transaction.</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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" id="Tb__Bqc0H4aTEKcyf5cKnY3-Q" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_-5JdNOqPtkKocHOp8eWv4g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)&#160;&#160;&#160;Basis of presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#8220;U.S.&#160;GAAP&#8221;).</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ConsolidationPolicyTextBlock" id="Tb_yst68xNg7UeEHiiwJl2MvA" continuedAt="Tb_yst68xNg7UeEHiiwJl2MvA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#8220;VIEs&#8221;) for which the Company is a primary beneficiary. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.</p></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont1" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont2"><ix:continuation id="Tb_yst68xNg7UeEHiiwJl2MvA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#8217;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the Company&#8217;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:UseOfEstimates" id="Tb_EkVpI--gq0ejVJBNNjoJgA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(c)&#160;&#160;&#160;Use of estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#8217;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of budget cost and estimates of variable consideration), allowance for credit losses on accounts receivable, other receivables and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#8220;ARO&#8221;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" id="Tb_gWo3BHjfGUiQf7sOhODwaA" continuedAt="Tb_gWo3BHjfGUiQf7sOhODwaA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted cash represents amounts held by banks, which are not available for the Company&#8217;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.</p></ix:nonNumeric></ix: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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont2" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont3"><ix:continuation id="Tb_gWo3BHjfGUiQf7sOhODwaA_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" id="Tb_-XY9c2aNX0aFk5Ygh9lR8A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(e)&#160;&#160;&#160;Accounts receivable, unbilled</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:CreditLossFinancialInstrumentPolicyTextBlock" id="Tb_cjZptl2Hr0qKs9GTQWb6_g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(f)&#160;&#160;&#160;&#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;">Before 2020, the Company determined its allowance for doubtful accounts by actively monitoring the financial condition of its customers to determine the potential for any nonpayment of accounts receivable trade, advances to suppliers and other receivables. In determining its allowance for doubtful accounts, the Company also considered other economic factors, such as aging trends. The Company believed that its process of specific review of customers, combined with overall analytical review, provided an effective evaluation of ultimate collectability of trade receivables. Provisions for allowance for doubtful accounts were recorded as general and administrative expenses 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;">After the adoption of ASU 2016-13 &#8220;Financial Instruments&#8212;Credit Losses (Topic 326)&#8221; beginning on January 1, 2020, the financial instruments 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 cater for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company began purchasing credit insurance from insurers, such as the China Export &amp; Credit Insurance Corporation, since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9heE3Xy2TUWrHfIcrVsU1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="Narr_y-idKYEAC0CTD-M0GLtSCw">386</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jJzZxlUtbkK06QdhQvx-eQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="Narr_XHTX19_KBU201bTVOO7XrA">1,409</ix:nonFraction> as of December 31, 2020 and 2021, respectively and a corresponding reduction in bad debt&#160;expense.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:AdvancesToSuppliersPolicyTextBlock" id="Tb_NoxYvMoPika1z0IgJshmZg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)&#160;&#160;&#160;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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:InventoryPolicyTextBlock" id="Tb_SR4Y7eSFtUG4ofW__GAl9g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h)&#160;&#160;&#160;Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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 6pt 0pt;">Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. </p></ix:nonNumeric><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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont3" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ProjectAssetsPolicyTextBlock" id="Tb_Q_S_ufNnNkCS2_M5bzZf8Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(i)&#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 and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects to a third party customer. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage power system. 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 and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase 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 6pt 0pt;">Solar and battery storage projects are preliminarily 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 electricity are classified as solar power systems on the consolidated balance sheets. As of December 31, 2020 and 2021, no battery storage power system were recorded on the consolidated balance sheets. During the development phase, solar and battery storage projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970-360, as they are considered in substance real estates. The costs to construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year, which meet the criteria of ASC 360, 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 6pt 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 project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, 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 operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#8220;project companies&#8221;. The Company consolidates project companies as described in note 2(b) above. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar and battery storage power systems.</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_hMy5jdw_p0CsXngvcxl73Q_1_0"></a><a id="Tc_bUijS7FVaUCcIoMKHpn8AA_2_0"></a><a id="Tc_JRgWFf4C10qYtWo1XIz5Xw_2_2"></a><a id="Tc_Z3H9V36HUEmwrzYDdoBj0A_3_0"></a><a id="Tc_WZJgj5G7P0qpa_n19JILxA_3_2"></a><a id="Tc__xjVoywGe0q2UuYJEXG3tA_4_0"></a><a id="Tc_VMm7QuBr402kYvxZOAQedg_5_0"></a><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont4" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:BusinessCombinationsPolicy" id="Tb_x6MjpygphEiV7OEE3Cqd5Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#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. </p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:AssetsAcquisitionPolicyTextBlock" id="Tb_og-438S3mkCa9YXtRZkqpA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)&#160;&#160;&#160;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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Tb_ndJRrZZ7A0yyeYz4HpucFA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)&#160;&#160;Property, plant and equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" id="Tb_yMTZ2I-VWESOnUKRFnuyOg" 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="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_4sd2jhr1CEOg9hobXiaNQw" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_uRP8FXdB1k-rO8EWfsPFFA_1_2">20 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_a2_kny-ZgEOjn965789wGg" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_a7JrbylxDkKuv3eAVNAnrQ">5</ix:nonNumeric>-<ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_aRGwl5_gLEu_KkmxmQfGNQ" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_d0GLoNXJTUeH-1tbIUwz2A">10 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember__y5lntMS9UqAvn-5W61lHQ" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_t3ep10KpykKLewvt1N6bTQ_4_2">5 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_6EcpkoepsEe8pgQMrxysWg" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_miB6AhB-b0OxQFi7sdNOyQ_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 6pt 0pt;">Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_NhIfsAyYeEytF8DOAvp6DA_1_0"></a><a id="Tc_f7NpQuHbn0uHwFEU_cuajQ_2_0"></a><a id="Tc_LtW6DIeXHUSMiIdxEIqbaA_2_2"></a><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont5" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont6"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued) </b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:SolarPowerSystemsPolicyPolicyTextBlock" id="Tb_g3px8oNhb0KJp9H18Ar1FA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(m)&#160;&#160;&#160;Solar power systems</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Solar power systems 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, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. </span></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 is 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 of <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ddLx-L-AiE-seQ4kH9l2tA" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_HgDi0PTTjUu97xd6I41erQ">20</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_DTcWRA7NPkOydiyHSSKmAw" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_1pIeyabr7EWKBPCssWmZTQ">25 years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#8217;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from <ix:nonNumeric contextRef="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RzhyAfNrqEykhHJI_Ff0-g" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_0UgyNH7yLU6baHpSNYqnkw">20</ix:nonNumeric>-<ix:nonNumeric contextRef="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RztR_BtH6U2nJivkjpJvRg" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_gbX9YryFXEWEn0PAyCrOfA">25</ix:nonNumeric> years to <ix:nonNumeric contextRef="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_v3HEqwcoVEanEqlajCmjtg" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_vu4bXqNJaUmMdSmjdd1j8w">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_v3HEqwcoVEanEqlajCmjtg" format="ixt-sec:duryear" name="csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" id="Narr_t4gzI7y0jkCJzwy8N4YYxA">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_v3HEqwcoVEanEqlajCmjtg" format="ixt-sec:durwordsen" name="csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" id="Narr_MdxrNXkEV0-0i7Uprse1uA">30 years</ix:nonNumeric> in duration. The change is 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_90a37v7dmkecjda4XpxLpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInDepreciationExpense" scale="3" id="Narr_9K7mG2VoOUSOqPsUct2fmQ">2,186</ix:nonFraction> if the change had been made at the beginning of 2021.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" id="Tb_yU20HZQR5UataSpaCm6_7g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(n)&#160;&#160;&#160;Intangible assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_y4dX_q5FWkWZcGDaCjcU8A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_cmfqGEnIBkmpZXBiPOJG5w" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_6raJIi1FxE-IGlD_EWs8qg_1_2">10 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_isxfdeEcvUyoIh4HbkYtfg" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_PPo4L6oMWUmqHawQcG4fVA">1</ix:nonNumeric>-<ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_fR0lrTcZD0qmDZrKdg6OMQ" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_hicuVQs5LkuPnIRYF-fMyA">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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:PrepaymentForLandUseRightPolicyTextBlock" id="Tb_geFCLg1ZpEqCrhYPmV2Yiw" continuedAt="Tb_geFCLg1ZpEqCrhYPmV2Yiw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(o)&#160;&#160;&#160;Prepaid 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;">Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#8220;PRC&#8221;). Amounts are charged to earnings ratably over the lease periods of <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_fvuMNystbkm54xuEPrXFbQ" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_59FP2V3HM0eq_1AwZIesfw">20</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_oKqpTsuAeUSlSEhOGPyIKA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_p9GgyNUSIkKt3aSrlTa7Ug">50 years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont6" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont7"><ix:continuation id="Tb_geFCLg1ZpEqCrhYPmV2Yiw_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:EquityMethodInvestmentsPolicy" id="Tb_tZuXwJxcFkqN6NjnWDwyag" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(p)&#160;&#160;&#160;&#160;Investments in affiliates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on investment, and the rest of the amount is considered as return of investment.</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, 2019, 2020 and 2021, the Company recorded <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_FcQzARX78kya3k11NpzotQ">nil</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_QSx0jMR4l0eq6BHZlMB4dQ">24,060</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="0" format="ixt-sec:numwordsen" name="us-gaap:ImpairmentOfInvestments" scale="0" id="Narr_MhrlvLFsOkO3wWtSdSTV8w">nil</ix:nonFraction> of impairment charges on its investments, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="Tb_KM6GCv9GAkCfrkTGOo0cSw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(q)&#160;&#160;&#160;&#160;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 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 based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_1TC5O3zycUm9i9ttCeyTAg">21,866</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_tPFl1B-oj0WBzl62RNltHQ">11,854</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_FKdWECPH70uFOy1jvw6UoQ">6,084</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:InterestCapitalizationPolicyPolicyTextBlock" id="Tb_8Fe-QcvmWkuQo0hqEu2J8Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(r)&#160;&#160;&#160;&#160;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 sell the asset 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:AssetRetirementObligationsPolicy" id="Tb_FYBFAypUBUeRnDZUh37e2g" continuedAt="Tb_FYBFAypUBUeRnDZUh37e2g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(s)&#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. Assets retirement obligation (&#8220;ARO&#8221;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#8220;ASC 410-20&#8221;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it 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. The Company&#8217;s ARO included in solar power systems was not material as of December 31, 2020 and 2021.</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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont7" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont8"><ix:continuation id="Tb_FYBFAypUBUeRnDZUh37e2g_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:LesseeLeasesPolicyTextBlock" id="Tb_QIZ4ymM1kEOvlVcN0RK4_A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Effective January 1, 2019, the Company adopted Accounting Standards Update (&#8220;ASU&#8221;) No. 2016-02, Leases (Topic 842), as amended (&#8220;ASC 842&#8221;) for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use (&#8220;ROU&#8221;) assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use (&#8220;ROU&#8221;) asset and lease liability. 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 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;">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 are not recorded on the consolidated balance sheets.</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 and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in 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 charge in asset impairments on its consolidated statements of operations.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:CommitmentsAndContingenciesPolicyTextBlock" id="Tb_EJEG9Io64UaAZwuJWuuOuw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont8" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont9"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_96zneiDyC0O0tsBmaoayKQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(v)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">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.</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Tb_T29jV_Yjx060JWNBQZ00wg" continuedAt="Tb_T29jV_Yjx060JWNBQZ00wg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar power products and materials</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Solar power products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains 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 (aa) for the Company&#8217;s accounting policy for warranty. </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 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 customer. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery storage solutions and EPC services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recognizes revenue for the sales of battery storage solutions (system integration business, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#8217;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont9" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont10"><ix:continuation id="Tb_T29jV_Yjx060JWNBQZ00wg_cont1" continuedAt="Tb_T29jV_Yjx060JWNBQZ00wg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;Revenue recognition (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total anticipated 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar and battery storage projects</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects and battery storage power projects (project development business, including sourcing land, interconnection, structuring power purchase agreements and other permits and requirements for battery storage projects) are recognized at a point in time when customers obtain control of solar and battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The solar and battery storage projects are often held in separate legal entities which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#8220;project companies&#8221;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">O&amp;M and asset management services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#8217;s performance under the terms of service arrangements. Revenues from O&amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performances and the costs of O&amp;M and asset management services are expensed when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_19fbd204_ca0a_40a0_b9de_9bd6c510b37d"></a><a id="Tc_FyfBPd3g9EW-gEBykDOBQQ_1_2"></a><a id="Tc_xodSN2zbnESOrpRzL8ALFw_2_2"></a><a id="Tc_nfPEc-M-v0S9NRCyDRXXiw_2_4"></a><a id="Tc_FrCRaeT1-0CLbZFRMaQrSA_2_6"></a><a id="Tc_APqec0fgH06nPO_-7yNlEw_3_2"></a><a id="Tc_2T3uIyuwnUaAbN7lec1nGQ_3_4"></a><a id="Tc_sdNPOelAzkuUjoJxQC5MKA_3_6"></a><a id="Tc_-PRv4XuI1kaSAnECnDswzA_4_0"></a><a id="Tc_LK3mRZuxYkSTLHIbPyMOGg_5_0"></a><a id="Tc_6K5bQKXQnkiEXXJ3QkMDmg_6_0"></a><a id="Tc_NPZ2J-At40WwcgLkENa5Rw_6_2"></a><a id="_5d9e877c_fc5a_4248_bf56_60a525c33b02"></a><a id="Tc_9hfL3XS7tUyMFCWoUzag4g_1_2"></a><a id="Tc_zhjhc4Dqw0KmdI7xJHLuOA_2_2"></a><a id="Tc_BnlrrtQNqkuip_VTc6nv0w_2_5"></a><a id="Tc_Hh0BN9_qU0uXtnh5GLP2PQ_2_8"></a><a id="Tc_zva_FeR_80eBp9zCMbXgQQ_3_0"></a><a id="Tc_RBfwuIh7Pkilj0uvrBKoPQ_4_0"></a><a id="Tc_Pt1l0AFyyEOSLrvTi2Wq_Q_4_2"></a><a id="Tc_g00qaNJ2F0GQ21RpVmRaQw_4_5"></a><a id="Tc_L3jfwe8i302128kmb8rBiQ_4_8"></a><a id="Tc_S_jNesAGSkWwYqDBM_6Wtw_5_0"></a><a id="Tc_tyMKSxqM0UyJfezfmGuxcg_7_0"></a><a id="Tc_o0k-Pzgsh0ucqvMzGpDZPA_8_0"></a><a id="Tc_HImLxR7zBUmT5YQSCKPYKQ_9_0"></a><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont10" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont11"><ix:continuation id="Tb_T29jV_Yjx060JWNBQZ00wg_cont2" continuedAt="Tb_T29jV_Yjx060JWNBQZ00wg_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Electricity revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by the Company&#8217;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when 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, 2019, 2020 and 2021, the Company recognized performance-based energy incentives related to electricity generated of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YtP8-VOPtE-XDf6Ux3KVQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfPerformanceBasedEnergyIncentives" scale="3" id="Narr_Qlis_wMZ9EqBubmwpwCF4Q">3,915</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_M3hmQbgtcECe-E6VsdKttA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfPerformanceBasedEnergyIncentives" scale="3" id="Narr_AGxSsa2ROkaohn62pQ8SVQ">6,628</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_5nMu5JmPPEGyXPr53dPdTA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfPerformanceBasedEnergyIncentives" scale="3" id="Narr_W2_zYUqF0kSB_d5-68k6oA">9,402</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&#8217;s electricity revenue during the years ended December 31, 2019, 2020 and 2021 were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfElectricityRevenueTableTextBlock" id="Tb_ToQLmej7kUqFhGHm3thCgA" 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;">2019</b></p></td><td style="vertical-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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_UtRGT9yYcEK3LOZ9qcTI4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6Gx8zvP1x06kbspnyRhHAg_5_2">5,866</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_wIaNeQbxTkq9vO40IGTwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ox5U_aqnBU205cAvZ25GAw_5_4">9,077</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_dzF_rcrg4UiN2pjm0cNswQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_VgzCymJllkunDA0M-76eMg_5_6">15,302</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_l71XJMFKWUCgIe9B_Tngww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_vJYNg-jVGkC21olk6DI2IQ_6_4">629</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ZjURteT3yUenk-XpI1O1Yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_980e0qNshU6BymGKWyrdeg_6_6">14,118</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YtP8-VOPtE-XDf6Ux3KVQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_8T7huTzPzkKJptMP9HTwgw_7_2">5,866</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_M3hmQbgtcECe-E6VsdKttA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_k_GXAOQ-mkaV2oNDH-9pbQ_7_4">9,706</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_5nMu5JmPPEGyXPr53dPdTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_LyFbtImFEUCMFvtblMnxCQ_7_6">29,420</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The disaggregation of revenue from contracts with customers for the years ended December 31, 2019, 2020, and 2021 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><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_vIQwxUfUOUu-S-kgDxwIxw" escape="true"><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 (Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation. Refer to Note 22 for further information.):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;">$</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_epCDBGs1gUGU06ER_5AB9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_xUoZnuk3wkmYNChStYqTng_4_3">2,210,459</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;">&#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;">$</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_STamKgI5KkG_yFYWkdlGxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_5LadKKJD50CmwUZ3bBQWig_4_6">2,704,332</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;">$</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_DmuxOebKG0SJDwi3Pi4CXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZNeorA--ZUW6zMocKcR7rw_4_9">3,881,573</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_DlOM8CDZMkmeFN4M71aOUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_J3CFw1rG5EOg-2XdbqctEQ_5_3">271,389</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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_P6G7rbv1KUmIZKReZmYi_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_nqbUSqFbmUeZZ5_H90SSew_5_6">45,996</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_TxhYFdH_hEOqJoRFhWJg3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ra5m6jHZPk-vvdRbSyQK7A_5_9">271,513</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_CYYxEYxwe0WFH859XsqU8Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_bKt58NVmj0CJuZ1U6843hA_8_3">696,326</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_EQ6Ya3FbsEGlM5F_mk1TAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_1ebY3NxYcEWbYs4X9IYP9A_8_6">687,759</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_R5PE2AAQnkGaCQj2kNdwHA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_HXOCXFnqt0iX4GQRh4aEww_8_9">1,068,179</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_FxMWBZ9S-06E6QiEQAsoCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6Ojm4VS5JUShwTX7rVfzZQ_9_3">22,409</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_OqrCmk5C4ES1gpMtPWVPlg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Rd37FbktE0il-C8OudA8zw_9_6">38,408</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_7rOIARiEWUSIivTqK3cIEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZEUNpD3EQU6oMBUyQEh_wg_9_9">55,904</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_pxjQALMfU0eQQU5JXnN3cw_10_3">3,200,583</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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_9g5b3u0Zy0KV3VbRoGyiOw_10_6">3,476,495</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_tcC3mm6fjUKwlBBq-4t1xQ_10_9">5,277,169</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></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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_e36cfd22_675b_43f9_82f4_726f70a4241d"></a><a id="Tc_WD2Bh3cQ40iOTvvlVRgoFA_1_2"></a><a id="Tc_bKpznSr-bkW98I7yBl7FEw_1_5"></a><a id="Tc_sQZtraWCEEOl_vNHaZgPYA_2_2"></a><a id="Tc_JPpHxFwlKkusEAyeQbrtwg_2_5"></a><a id="Tc_3DqhPsiqP0KlyyzzMyuLMQ_3_0"></a><a id="Tc_eRwGBsKEGkmRVZ3YGJiIJg_4_0"></a><a id="Tc_rW9u2fjT-E-H8ovOVcSfwQ_4_2"></a><a id="Tc_eJ0FVU8pgkC0lEaQZEaHNA_4_5"></a><a id="Tc_5qI1XjLt2EaOxl6PIRJYAA_6_0"></a><a id="Tc_dhh_CJdS9kSzREhUv6FlJA_7_0"></a><a id="Tc_cszja60tak64HxZxbygP3g_8_0"></a><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont11" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont12"><ix:continuation id="Tb_T29jV_Yjx060JWNBQZ00wg_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#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&#8217;s contract assets and liabilities are as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Tb_T4yLOeGhZ0CcBD_zxuWyTQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td 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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">2021</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;">$</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_5pyXKXJJBU2Amh9TnAdUaw_4_3">28,461</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:1.62%;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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_y9zWfD4fs02Bvk57pIYapA_4_6">37,244</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;">&#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.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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_4Sf7ZIYwGkWf_M5zWl4RCg_7_3">189,470</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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_qiOiD_GLCEe0QJ4JRrgSQg_7_6">135,512</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ContractLiabilitiesOtherCurrentLiabilities" scale="3" id="Tc_MNM3Q1KhYEi0nk8qW3kv7Q_8_3">35,012</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:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ContractLiabilitiesOtherCurrentLiabilities" scale="3" id="Tc_Pw8WOtEIlE6M-QoWfQCSeA_8_6">98,494</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="Tc_otu7msfYtEmakaE0cOWOkg_9_3">224,482</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:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="Tc_flLT77NWHE-cijLMvcmXbA_9_6">234,006</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;">For the year ended December 31, 2021, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="3" id="Narr_VW0qYBs-HkaG_emO31SKYg">199,140</ix:nonFraction> of the Company&#8217;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2021. Contract liabilities of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" id="Narr_id8KXOmp3UO-z_HA9HaQ4Q">234,006</ix:nonFraction> as of December 31, 2021 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 0pt 6pt 0pt;">The Company has applied the practical expedients related to the revenue requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the revenue guidance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</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 more than one year are not material to the Company.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock" id="Tb_EmTLlIh-0E-kvrNSw_sRMA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Shipping and handling </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_ieSbl89XCUSV6clFD-_WRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_QtJ_kZ2KvEeZQI9L0kR7lg">88,079</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_G9RAwZ7w5kW7SPxzwvMdzA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_Vk27D9Y4dkOc_LOmgsSHCA">134,248</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_b1w-2BN5HUy07gaU0yZ9_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_pM5u0kDcMk2ws4z5FrOxSg">316,358</ix:nonFraction>, are included in selling and distribution expenses for the years ended December 31, 2019, 2020 and 2021, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="Tb_UAezOUPpJUa8OwlQECawjA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_FsoU1Zt-VUahaP7dE9mxgQ">47,045</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_Bn1TS7a7IU6E5S3dYngjsw">45,167</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_iSJBd8m84EO9pyT4NeRtWA">58,407</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock" id="Tb_TymsgbD6iEuXIjvgGnQEiQ" continuedAt="Tb_TymsgbD6iEuXIjvgGnQEiQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_TKtGIaHZ4kWFExRvhPw4Ow_1_2"></a><a id="Tc_nzOlcgmsk0avKC8upsIX6g_2_2"></a><a id="Tc_cFjDIAzp3kapfgLcR4hDYA_2_4"></a><a id="Tc_GqtWJN6mZkqXWhVVTBgeAw_2_6"></a><a id="Tc_2Fhr12sbPEuTJraVGyrqow_3_2"></a><a id="Tc_4S9Q_r8Hz028IOHpfi79aQ_3_4"></a><a id="Tc_jne12-esKk2Q0qs6tVooJA_3_6"></a><a id="Tc_xi0YlPGpNUaHgvacjhbA1g_4_0"></a><a id="Tc__crJ6JmLW0aBRzvKlUXlDg_5_0"></a><a id="Tc_toTZdW1W00eIvUuzw45-sw_5_4"></a><a id="Tc_Hw_uEiOhGUWe-z2h6PBoPA_6_0"></a><a id="Tc_5huJd7SAlUWtlEELGzHe9w_7_0"></a><a id="Tc_10knzMvr-EGgwymC4pZNAA_7_2"></a><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont12" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont13"><ix:continuation id="Tb_TymsgbD6iEuXIjvgGnQEiQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Government grants primarily consist of unrestricted and restricted grants and subsidies. Unrestricted grants received that allowed the Company&#8217;s full discretion in utilizing the funds are recognized as other operating income when it is probable that all the conditions stipulated by the local governments, generally for operating a business in their jurisdictions and compliance with specific policies promoted by the local governments, have been satisfied. Restricted grants received that are related to prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s other operating income, net:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" id="Tb_aQNUzoRlu0SlN7OxrGtR6g" 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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_jxXOkndr90K_G60fa4kK9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_QzwyXwwHBkyV_dM1jE2Q9A_4_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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_GrantMember_XEb9CBo4nUqOn31P8X7STg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_VJl_KXlfVUeFNeCpEQeX7w_4_4">24,245</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_vlmqd1Ta4Ei7OrKojW9nzw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_vUbERqYh-kW3chVpW071nA_4_6">38,468</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 on disposal of solar power system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_heqldt5uu0KLUhbOrFGjZg_5_2">1,666</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_LuJUnZFYwkyiwnMvNwIzLA_5_6">10,091</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 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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" scale="3" id="Tc_zN_LZxwegE66ITKdSaNuUw_6_2">1,227</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" sign="-" scale="3" id="Tc_HYZULADBRkORm6dfgIE6TQ_6_4">253</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" scale="3" id="Tc_TXh6-tasPUiAQrcn4RCNuw_6_6">83</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;">(Insurance claims on) weather-related project damages </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsuranceClaimsOrWeatherRelatedProjectDamages" sign="-" scale="3" id="Tc_iveAIOLtbkiWXJqvadMlaQ_7_4">1,025</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsuranceClaimsOrWeatherRelatedProjectDamages" scale="3" id="Tc__y9tqeH_u02p9L_G61yqQQ_7_6">1,408</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 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_qKsD88fIXkSxypLwpCHosw_8_2">10,536</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_HKQzub7570mWSr3Aq4U0Vg_8_4">25,523</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_qyCaxenQeUSiVgdCdC-oiA_8_6">47,068</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><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:StandardProductWarrantyPolicy" id="Tb_OXkTutxnmUCk_tlvTvk6_g" continuedAt="Tb_OXkTutxnmUCk_tlvTvk6_g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2009, the Company typically sold its standard solar modules with a <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyPeriod" id="Narr_Jwst_3vob0mnvA2mQa6cGQ">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_b2LS0j53jUmyd3oGtQwbcQ" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_7K-faalapUauwIQo6GbAJQ">10-year</ix:nonNumeric> and <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" id="Narr_6Rd90zDKEEerMPzl8RPfOg">25-year</ix:nonNumeric> warranty against declines of more than <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ" decimals="2" format="ixt:numdotdecimal" name="csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" scale="-2" id="Narr_UjwN9jTMrEmIc7xY92-3eg">10</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ" decimals="2" format="ixt:numdotdecimal" name="csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" scale="-2" id="Narr_jTmVtDsQfk-eQJMz9f2kBA">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_u4ewgYH0BE2Wq1uPmMJI4w" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_y-nb1EfQGEGnTZOMQQRCgg">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_10S7_yXU_U2d9vSAEUFtfw" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_Kr2wJnBUeEypkW_UrJOIzQ">ten years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company increased its guarantee for defects in materials and workmanship up to <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_h9VfsIsTT0SP5VsfIckMCw" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_8gyIYDq0UkaxOsLTuJ_Ikg">12 years</ix:nonNumeric> and the Company warrant that, for a period of <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_dsxCKPJzZE-OeR3xGjFvdQ" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_ylr9yuCy90it2pcmig-ioA">25 years</ix:nonNumeric>, its standard polycrystalline modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_ERgYShn35EirU9mKfM7MTg" decimals="3" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_ckAleXsS-UmXjSLCK09T-A">97.5</ix:nonFraction>% of the labeled power output; (ii) from the second year to the 24th year, the actual annual power output decline of the module will be no more than <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_RdB8_mX8I0aRThF6LoZEMw" decimals="3" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_1ECzwZZz50qLmKr62EAHTg">0.7</ix:nonFraction>%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_Ec21EHB2RU-MwsuUQ_ExbA" decimals="3" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_Th9qwLFBHU-WmR__goCrDQ">80.7</ix:nonFraction>% of the labeled power output.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_RTTvZip9J0CqODHRumDZWQ" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_xgoOPHBZv0q-eBoUJNxWCQ">30 years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For solar projects built by the Company, 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 for a period of up to <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_OX69uvUvgEeRUX95Lq8__Q" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyPeriod" id="Narr_BjNMToOBRUm3S7BvygD3nA">ten years</ix:nonNumeric> following the energizing of the solar 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;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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont13" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont14"><ix:continuation id="Tb_OXkTutxnmUCk_tlvTvk6_g_cont1" continuedAt="Tb_OXkTutxnmUCk_tlvTvk6_g_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_Er0Uiv_vEUyl0o7Tqpd2lQ">1</ix:nonFraction>% warranty provision against the revenue for sales of solar power&#160;products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties. 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsurancePremiumUnamortizedAmountNoncurrent" scale="3" id="Narr_z-23Kq4-GUOews7wAgCjCg">1,728</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsurancePremiumUnamortizedAmountNoncurrent" scale="3" id="Narr_HfETtOx30kSdRJbjX_4ElQ">528</ix:nonFraction> as of December 31, 2020 and 2021, respectively and was included as a component of prepaid expenses and other current&#160;assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#8217;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont14" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont15"><ix:continuation id="Tb_OXkTutxnmUCk_tlvTvk6_g_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#8217;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA" format="ixt-sec:duryear" name="csiq:InsurancePolicyTerm" id="Narr_KBiJeqFO2EemkmIYJ3jGPA">25</ix:nonNumeric> or <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_8QAv_J-dg0qnOvS2joJDOw">30 years</ix:nonNumeric> and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InsuranceSettlementsReceivableNoncurrent" scale="3" id="Narr_fbjXes4f9UG_zP9a7bKOnw">82,532</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InsuranceSettlementsReceivableNoncurrent" scale="3" id="Narr_6LDuqRXIsE6bWeH432eJSg">87,729</ix:nonFraction> as of December 31, 2020 and 2021, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made upward adjustments to its accrued warranty costs of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Narr_U3ZljX2eZkm_Qp79LWI-dA">2,622</ix:nonFraction> and other non-current assets of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherNoncurrentAssetsAdjustment" scale="3" id="Narr__TXOYaE2YEacJLI4kXBzuA">2,153</ix:nonFraction> for the year ended December 31, 2021, to reflect the recent increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_FTFEBuoh9kWXku-wzqxeLQ">28,044</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_w2eH7JwlL0WS587eXStWKg">26,931</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_oeCcdIw2mECTMT5vTHxnfQ">45,053</ix:nonFraction> are included in cost of revenues for the years ended December 31, 2019, 2020 and 2021, respectively.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Tb_rbYXaerXP0uoTtlrZ8ytJw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The United States dollars (&#8220;U.S. dollars&#8221; or &#8220;$&#8221;), the currency in which a substantial amount of the Company&#8217;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial records of certain of the Company&#8217;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#8220;RMB&#8221;), Euros, Canadian dollars (&#8220;CAD&#8221;), Japanese yen, Brazilian reals (&#8220;BRL&#8221;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" id="Tb_d5AvRtK4UkSSrj0DdNEbAg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;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)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;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 and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. </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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;min-height:11.5pt;"><a id="_b736538f_c553_472b_b593_9fcefdfb38a0"></a><a id="Tc_h662K0dDCEyvPw9A0NsTJg_1_2"></a><a id="Tc_rSveDEM6SkGCccjLrVykhg_2_2"></a><a id="Tc_KCLi8odywkSb6tZ695zrhA_2_4"></a><a id="Tc_yQ3ZVj9LT0O94NwsY2r3cg_3_2"></a><a id="Tc_jeYx4Pbw802vEAluP_ecag_3_4"></a><a id="Tc_yQRyVJfIa0SAzEf3RUiqIQ_4_0"></a><a id="Tc_QTmwK0yJB0qMS9PSL8ApDA_5_0"></a><a id="Tc_RFkIPWkyeEWXtH69GGadtA_5_2"></a><a id="Tc_w8iwaifO_UK3YQMr6Ca9bQ_5_3"></a><a id="Tc_Ab0d71FegEmxBQSbdVLJ8g_6_0"></a><a id="Tc_5KwIFRO-7k2unjN_Y6Ch7Q_6_2"></a><a id="Tc_44Sfun42UEq0Xd8Vx8vSqg_6_3"></a><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont15" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont16"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ForeignCurrencyRiskPolicyTextBlock" id="Tb_THJCgpIwmUGCMigybSo3AA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#160;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 2019, 2020 and 2021 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 Canadian dollars. The Company&#8217;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, toll manufacturing fees, 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, Australian dollars and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. 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. Since 2008, 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ConcentrationRiskCreditRisk" id="Tb_0MfsTjZJkk2GQYZ3zSaDBQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#160;Concentration of credit risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the Company&#8217;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. 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, 2020 and 2021, 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" id="Tb_RfERIQYMfk6QS2Do5RgsXQ" 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:77.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:8.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.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:9.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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:20.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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">2020</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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.66%;margin:0pt;padding:0pt;"><p 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:77.21%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_4a8GjbskAUyY7X6coVBiGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_nvTXv8Q7nESRPN5eoxUBqg_4_2">43,821</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;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_sY12ZlW3GUuVNWRhjtCJ2Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_JQSdlAYCKUG9rN5bRNs0lg_4_4">52,257</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:8.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;"> &#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;margin:0pt;"><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:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierBMember_sDODvgHt50W6Uypj93Fo6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_xdENvhMfLE29f5kJse01DQ_5_4">37,117</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:77.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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:8.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;"> &#8212;</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;"><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:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierCMember_DRYi3nBre02_MxOTX0njxg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_YIzksBMTyUWvOAHQSIwZSg_6_4">36,026</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;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, 2020.</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont16" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont17"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="Tb_RKuANTVTRUKqEKKzdh-Wcw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#160;Fair value of financial instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 1</i>&#8212;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#8217;s restricted cash balance and listed equity securities for all periods presented uses level one fair value inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 2</i>&#8212;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Level 3&#8212;</i>Unobservable inputs reflecting the Company&#8217;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.<span style="font-style:italic;font-weight:bold;"> </span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:DerivativesPolicyTextBlock" id="Tb_VShqWATAYEuhGX5puhH9Iw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#160;Derivatives instruments and hedging activity</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#8217;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#8217;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#8217;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and 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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont17" continuedAt="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont18"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:EarningsPerSharePolicyTextBlock" id="Tb_Sj56AAphOEecr7dm8dItqA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#160;Earnings per share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Tb__8ov08df0k2vbTk9KeCKFA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#160;Share-based compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#8220;RSUs&#8221;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:UnusualOrInfrequentItemPolicyTextBlock" id="Tb_r8ztDcbR3UevnWvlW5F_XQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#160;Risks and uncertainties related to the COVID-19 pandemic</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#8217;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#8217;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#8217;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed to slow the spread of COVID-19.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_6Fgq9AqUekGaMJnKxoPAcQ" continuedAt="Tb_6Fgq9AqUekGaMJnKxoPAcQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#160;Recently issued accounting pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2019, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU 2019-12, &#8220;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#8221;, which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. This ASU is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company adopted this standard effective January 1, 2021. 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 March 2020, the FASB issued ASU No. 2020-04, &#8220;Reference Rate Reform (Topic 848)&#8221;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#8217;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#8220;Reference Rate Reform &#8212; Scope,&#8221; which clarified the scope of ASC 848 relating to contract modifications. With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The company has $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_3_31_2020_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember_jSU1pJ5frka_aeStj9NjTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_jQ35-6fdkUmeYUKgAl9Ibw">956,523</ix:nonFraction> of LIBOR debt as of December 31, 2021 and projects the balance will be approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_kD5xv81kAkevPJ7hC9Kz4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_DdmxFLhFhEWPiUXXpQ1olw">530,662</ix:nonFraction> by the June 2023 discontinuance date. All of the Company&#8217;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb__Bqc0H4aTEKcyf5cKnY3-Q_cont18"><ix:continuation id="Tb_6Fgq9AqUekGaMJnKxoPAcQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#160;Recently issued accounting pronouncements (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In August, 2020, the FASB issued ASU No. 2020-06, Debt&#8212;Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging&#8212;Contracts in Entity&#8217;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#8217;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard is not expected to 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 November 2021, the FASB issued ASU 2021-10, &#8220;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#8221;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#8217;s financial statements. The new standard was effective for the Company beginning January 1, 2022. The Company is currently evaluating the impact of adopting this guidance and the potential effects it could have on the Company&#8217;s consolidated financial statements.</p></ix:continuation></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_xaQJtoYH50KpknvPV9e_Mg_1_2"></a><a id="Tc_36QcR7WZqEaLcB9DbIzoSg_1_4"></a><a id="Tc_XdOiWvhpkUCrJczENGWVDw_2_2"></a><a id="Tc_YTiiGZ1BVU2s23woSo1NLQ_2_4"></a><a id="Tc_2WoywcwQAUuH0wdtxWIHpA_3_2"></a><a id="Tc_j8lkuL0RQkqII5tgY3JOpQ_3_4"></a><a id="Tc_BnkrJOx9d0-2lyzyCkJmjw_4_0"></a><a id="Tc_FTtD-QXMMkim1ikq2HyK5w_5_0"></a><a id="Tc_QGe9CMvE4kW_go8pFcQLKg_6_0"></a><a id="Tc_Q-YQ4tCEUkycFT-MwtvoGw_1_2"></a><a id="Tc_1W3fbrSfw0WL2BEQYciZWw_1_4"></a><a id="Tc_XYvQHCvEEkONB7vzPk9VIQ_2_2"></a><a id="Tc_G5gNbYy0NkaZs7TyQY-uRw_2_4"></a><a id="Tc_AFgY8AXYCECezuVcdDcPsg_3_2"></a><a id="Tc_c9BJx8pPPUS5gqkVFrfC2g_3_4"></a><a id="Tc_-teV1CHXs0-bV6q2uZq28Q_4_0"></a><a id="Tc_y_Ushem2C0KSlIUQt7Cw7w_5_0"></a><a id="Tc_aFV1y_UUq0eJMhh0dBloLw_6_0"></a><a id="Tc_fzz9fWfmgEChF6DN20lH0w_1_2"></a><a id="Tc_BJpcQgkFt02piuoXiYrY9g_1_4"></a><a id="Tc_gdSxe0HfGEifZmsHG0ZkYQ_2_2"></a><a id="Tc_GCgCZt9oUUKC1i0nyrvtVw_2_4"></a><a id="Tc_vn-nfqE9iUy-n4GDSch7HQ_3_2"></a><a id="Tc_ttiC7p0i_km90wzDHf13dA_3_4"></a><a id="Tc_pFMW3Mn_UkWUFKJskkdzuA_4_0"></a><a id="Tc_tizC1IrDVkKaHS-ImHmWMg_5_0"></a><a id="Tc_i_LSSPywR0yiDicwWAhhxQ_6_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:AllowanceForCreditLossesTextBlock" id="Tb_hxO7fgYTSE-MDNGG0xyB3A" continuedAt="Tb_hxO7fgYTSE-MDNGG0xyB3A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">3.&#160;ALLOWANCE FOR CREDIT LOSSES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Allowance for credit losses is comprised of allowances for accounts receivable trade, advances to suppliers and other receivables. Other receivables 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;">Accounts receivable trade, net consisted of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_NL0LmfYfqkiZV1IATUfOyQ" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_nwK54yAg3kW2h-ont4sdqw" 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;">2020</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;">2021</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_HGveM7aXFEyvMDP8oJ-XVw_4_2">449,251</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_cQDgfgdjZ0akTLT4bJOxjQ_4_4">698,498</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_CmkOBo6tck-p6tKYwZmxvg_5_2">40,293</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_ew3wipB6jE-Har_oowUKRA_5_4">47,126</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_XCPBt6cwmEOnYyorBntQ9A_6_2">408,958</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_ffeqa1XTeEu60M-6phiAwQ_6_4">651,372</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_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_SXh7c36LUU6pmxQDXofBiQ" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_DGNSqmtDkkK0ie8ICXHfEg" 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;">2020</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;">2021</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BM0VLg1Dgky_h60ZAGRnyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_f733vHfR90uqTJx9Om4Pog_4_2">299,019</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_8qBCfaIMt02j9DdASJvJwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_PjQ6kwdwQku7yhIvb-OpdA_4_4">279,800</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BM0VLg1Dgky_h60ZAGRnyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_3nW1V5RJxUKw0mSzhiGKNw_5_2">19,700</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_8qBCfaIMt02j9DdASJvJwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_2z92x9MAa0eD_AYDjDKgJw_5_4">19,682</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BM0VLg1Dgky_h60ZAGRnyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_7iV04xGjBEKNvILRnvAwSw_6_2">279,319</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_8qBCfaIMt02j9DdASJvJwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_7KROs5fWj06ATe_7UhvLRw_6_4">260,118</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_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_J_1YYATexU2mCgsmLZ-G3g" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_ckxlMIp5BUeTT78Xe_5scA" 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;">2020</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;">2021</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_QueGe8e5EEGlINdWVqJp6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_8AAaSPPBeECiH9Obx5EEbQ_4_2">238,779</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_hmfRew07WEWAEfUcnYMpLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_MfJFjdFCz0m0v9MooKMxnw_4_4">280,350</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_QueGe8e5EEGlINdWVqJp6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_s-W9wmzbj06miUnKZC12WQ_5_2">8,802</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_hmfRew07WEWAEfUcnYMpLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_ITGJHWSE4kqBH08pcmYGHw_5_4">9,397</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_QueGe8e5EEGlINdWVqJp6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_OjujaQCAWU6HrgodEimRRw_6_2">229,977</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_hmfRew07WEWAEfUcnYMpLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_d4Ak_6t2tU6Cw-kHEJj0pA_6_4">270,953</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;"><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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_rgngaKsMr0K1bxuFeuyriw_1_4"></a><a id="Tc_NkfNxQg-XECvJcyn9GN8NQ_2_2"></a><a id="Tc_Zgkkj2i74kubfZwvgA1U8g_2_4"></a><a id="Tc_-_P70de_NUWc1GKsjocxQQ_3_2"></a><a id="Tc_6ZX5tjzMM0CleD_89_73HA_3_4"></a><a id="Tc_jalMArxGrUi_XTqkNx3j7g_4_2"></a><a id="Tc_ST1aWDyg1kmEKkz3jat38w_4_4"></a><a id="Tc_016NBbCFy02PSCrhrGo7Dw_5_0"></a><a id="Tc_Xmc8YgBIY0mSdnhelTW0vw_6_0"></a><a id="Tc_fllzpZMx9EOqxGwdlUqx9Q_7_0"></a><a id="Tc_9TjjIsEypkOJVuKIqylfuA_8_0"></a><a id="Tc_RGQQ8A2khEaqaaTISFp8Dg_9_0"></a><a id="Tc_CgdluIQ_9UOn8YDWSm5O5w_10_0"></a><a id="Tc_GJapkwARaUmwQ9T-z2E6Og_10_2"></a><a id="Tc_7sYorkudl0GAVmebpplW2g_10_4"></a><a id="Tc_iWUuswkOcUCVvKoQjYdylw_11_0"></a><a id="Tc_xpOS66DG60afodjWztK6-A_12_0"></a><a id="Tc_v2X3RwiK6Eu2ILl1zOGx8A_13_0"></a><a id="Tc_TGlioS6ZeEyclOrl0A23xQ_14_0"></a><a id="Tc_EzLlt2VBU02glW_rq6ouSQ_15_0"></a><a id="Tc_rYH9FqOmYUqXj8ov8qM9lg_16_0"></a><a id="Tc_EWE9YNSjVUGVcbZ6PbLUMQ_17_0"></a><a id="Tc_0v7_Woy5gUq6oehESXc6Ug_18_0"></a><ix:continuation id="Tb_hxO7fgYTSE-MDNGG0xyB3A_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">3. ALLOWANCE FOR CREDIT LOSSES (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 and advances to suppliers:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="Tb_DrvnjvKcAkK5AeS_yaxD4w" 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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Advances&#160;to&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts&#160;Receivable&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Suppliers&#160;and</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trade</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other&#160;Receivable</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2018</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_e0_G-9mSx0ebqaJdY_0Knw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_w1hRbLc5xkKLGZqAY1QRbw_5_2">32,733</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Q4VpPoQ9bUygy0-qu8hMsQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_gNQAjMOAL02_yi1cAmx1Jg_5_4">30,630</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_3KvATZByD0qH5-DH83BCSw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_CMBWD5b5E0CUDLhkYeQ0VA_6_2">1,386</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_TeVEUvCXQUSWU6WK7q2iEA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_JeJTalWAcU6u7yORRCqh5Q_6_4">2,657</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts written-off against allowances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_3KvATZByD0qH5-DH83BCSw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_uJPXFzrP40W7dvIuXuANfg_7_2">309</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_TeVEUvCXQUSWU6WK7q2iEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_tA6FNJaEMECfUIbecBR9UQ_7_4">1,452</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_3KvATZByD0qH5-DH83BCSw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_K8MqA_e930K5_Vmds_ikCQ_8_2">1,493</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_TeVEUvCXQUSWU6WK7q2iEA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_H2MS3CNzREehtRKU8r8CuA_8_4">123</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_bf7Q7pXEPEC5G2Zs8iTang" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_pc-mSFWQN0ymaeBeRKLi8Q_9_2">29,545</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_HpSRES9v6Eq5rxIfbUS_MA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_oXRM-IMZrU-TyoL-x44jaA_9_4">31,712</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cumulative-effect adjustment for the adoption of ASU 2016-13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_x4H_mnzlN0yVZF2ueX4mrQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_pKM_kuopOEysm6k1Wz7wUA_11_2">9,785</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_D-h256mGCUeWbYfDZB3eYQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_eVsoLWFDX0W20EtVYASyfQ_11_4">1,647</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Writeoffs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_x4H_mnzlN0yVZF2ueX4mrQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc__4Cju7HX-kOu7BAgogoEKg_12_2">639</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_D-h256mGCUeWbYfDZB3eYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_s9E6AFVUM0WP76SXcunzlw_12_4">5,490</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_x4H_mnzlN0yVZF2ueX4mrQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_Q13B9Xgt4kG-05jjop4ICw_13_2">1,602</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_D-h256mGCUeWbYfDZB3eYQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_El0zmVKU3kiSve8kwg6VLQ_13_4">633</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_Puuo9341gkyLyqi-NBx0Eg_14_2">40,293</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_4T_NCYEy5UybEiqn8Q0tPw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_SPOstgo790mvlcvMLLpfeA_14_4">28,502</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_9y9FZLXcVEysruByGFEoZg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_nu52AZ-01kKHdd8A3cxAkA_15_2">7,171</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Iof7ixIH206pnDUM37XZOA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_Re-xniYmZkqRWzeLziltEw_15_4">444</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Writeoffs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_NL0LmfYfqkiZV1IATUfOyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_ranFV8LhUU2mcg5pIRrHQg_16_2">197</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_DDvJyNTjwUymyvPm2FEHmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_ppNqpOW-T0G3NRPDsPcwaQ_16_4">53</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_NL0LmfYfqkiZV1IATUfOyQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_VK5lM2q0AEq2ho6g-AAG4g_17_2">141</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_DDvJyNTjwUymyvPm2FEHmQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_oK9dkilwiUG7ffvHbafr-Q_17_4">186</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_53S9TKF4LEmiXQGxE3H04g_18_2">47,126</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Dn26cC9s_UuMJ1xEJrGk4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_M-Uf_Ma0-U6t8QVOTq5Jeg_18_4">29,079</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_Lj3F8pQ-Hkm2PrJBL9A66Q_1_2"></a><a id="Tc_YsW7zztYd0ONW97b91bBWg_1_4"></a><a id="Tc_v4ncPQQyDEOyLwDZuwXrLQ_2_2"></a><a id="Tc_HJy6cEXMWkya5qWBj8SchQ_2_4"></a><a id="Tc_EqDXoMRAPUmNyNtkc-XFIg_3_2"></a><a id="Tc_i5MCPsbtg0e08l9vEf8xnQ_3_4"></a><a id="Tc_ecQaGW9IL0OKree2VQ-Caw_4_0"></a><a id="Tc_ULjUeKd2N0KNIqID--KBDA_5_0"></a><a id="Tc_HC_1plqyI0-BL2IUS0gSHQ_6_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:InventoryDisclosureTextBlock" id="Tb_J56enDDDV0mLhlq_NWFTTQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">4.&#160;INVENTORIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Inventories consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="Tb_offLtFzzmkiIzrgHHBERFg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="Tc_NCtTnCpwYUGiA7s9Ma-cvQ_4_2">90,308</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="Tc_4HakPEGv3Uyo0tud6UGF4w_4_4">155,433</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" id="Tc_cxa_-a-4PEqR7uEUnyKLJw_5_2">69,132</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" id="Tc_KiLeF4IgyUuSm9A-0iTg4w_5_4">117,509</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="Tc_ONmo1fFfCUqWjcxG6KQj_A_6_2">536,541</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="Tc_nxhMTz_R-0W7NPuvWiLAbA_6_4">919,432</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_cE-C4IcgOkWZZehbfs-9sA_7_2">695,981</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_2vaPeAR5WkmnAPmrRV7D9A_7_4">1,192,374</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinishedGoodsModules" scale="3" id="Narr_QHc0wefdOU2ch3APoCLFcA">181,012</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinishedGoodsModules" scale="3" id="Narr_NSxhTK6hekeySEytReJ6iQ">163,078</ix:nonFraction> as of December 31, 2020 and 2021, 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" scale="-2" id="Narr_5RYUL_-SyUuQk24h61hnaA">5</ix:nonFraction>% safe harbor method outlined in the U.S. Internal Revenue Service (IRS) guidance notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2019, 2020 and 2021, inventory was written down by $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_PQmUA2S-fE-9Jiz7AXH3dw">19,447</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_J7QKbLU97UWF7BuBtfpPaw">42,907</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_vh-D35RPykSEK_Bm896jIw">14,070</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_opOh3uMztk-CvvHp1vSOHA_1_2"></a><a id="Tc_p7EqyOvGZEmrwbAROESSOw_1_4"></a><a id="Tc_rje6_oGYaE6ewvfVuRJhTg_2_2"></a><a id="Tc_Bc83AYQJH0ynYwStIDSHcg_2_4"></a><a id="Tc_vjpZQ6UjKkK2GdBhDsU2hg_3_2"></a><a id="Tc_Jd58IB3Z-kOBgwKqQss1SA_3_4"></a><a id="Tc_s8yezdnetUGq9NwseqCxKA_4_0"></a><a id="Tc_cl0rJmAh5kuC0YR01ryh8Q_5_0"></a><a id="Tc_zZl_w8gVWUK94_SAR5mrZQ_7_0"></a><a id="Tc_LW04aTWlkUetJWXb40DrJQ_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ProjectAssetsDisclosureTextBlock" id="Tb_ablSpugjwkWEEcAR34s3rA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">5.&#160;PROJECT ASSETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Project assets consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfProjectAssetsTableTextBlock" id="Tb_qec0YneVvku0f8BiKocIPA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; Acquisition cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" scale="3" id="Tc_tGM33kzlNkqPwYMyn0ZT3g_4_2">44,549</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" scale="3" id="Tc_fmDsCLFezkWln2GM2geVvA_4_4">70,651</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; EPC and other cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" scale="3" id="Tc_n3M8bsAK7ki7tltskiHvGw_5_2">1,092,917</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" scale="3" id="Tc_ytoXtp7BgkK4i_eWVmfiTw_5_4">956,710</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLand" scale="3" id="Tc_Xm32xx-bUEmh7if3HmrYag_6_2">1,137,466</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLand" scale="3" id="Tc_OD2bHB48mEGEoMp9HWdJzw_6_4">1,027,361</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_9iGWmKl7f0qF5y89lL8ltA_7_2">747,764</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_aI8EA9K4aE-zlLMQ1MaAQA_7_4">594,107</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_cS1uOZAVHE6QAszRzTiCOQ_8_2">389,702</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_YnLesqcGsEmdFubWsXYpxQ_8_4">433,254</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_OgwkF_lAp0y_bCNsc4xTtw">20,194</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_bBVphREk_EmWxN7zgxe9Ig">369</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_MDfkeqZ0PkS2Bc2DzVOAwA">17,152</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, 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_Ue_5e2AYSU-XhS3TFHpZnw_1_2"></a><a id="Tc_yYQRLFz2oEWY23aNTfuGLA_1_4"></a><a id="Tc_6mhDP3IZgU2PhNRn1fkXkg_2_2"></a><a id="Tc_C-p2cDb-L0qbbryCU97mQQ_2_4"></a><a id="Tc_mtsYz72aCUyRLUp1l0KUYg_3_2"></a><a id="Tc_a7ITpx3ZPEeRTooW8tdEHA_3_4"></a><a id="Tc_rhdxNGLBhEKZavbS1Ke6lg_4_0"></a><a id="Tc_YoWc7pG1c06Hn1j3bHPPNw_5_0"></a><a id="Tc_mitV4EkKgkGoWmBkWI-8oQ_6_0"></a><a id="Tc_jmLi5cgDwkOSA_SavyXXsA_7_0"></a><a id="Tc_9TSivCOqrEGLegJNBUXJ1w_8_0"></a><a id="Tc_jfNcU7_IGkemU4KhRQMyqw_9_0"></a><a id="Tc_8amr3HhjV0-hp0w-6q6a2w_11_0"></a><a id="Tc_On58TI0mJUCx0teozdkhZw_12_0"></a><a id="Tc_Noa56ZBUT0WTko1KOUgRFA_13_0"></a><a id="Tc_krN45TUtlU2ULfNuxhI67g_14_0"></a><a id="Tc_xTLGckO87k-lqgG3xSKY0A_15_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Tb_mdz-Vhu_aEm7RTMw9m70cw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">6.&#160;PROPERTY, PLANT AND EQUIPMENT, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Property, plant and equipment, net consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" id="Tb_eUEW_KQJH02hfEg7M_qSAg" 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;">2020</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;">2021</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KHu_sbSbNEKbY2JngZ0BEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_9Scz2wo6gUG1_gzcic3rTg_4_2">533,647</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_-FM8yzjTPU2U8c69ax-n_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_igvLMoYtSki1YJB2wSsaMg_4_4">724,940</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_e4ksN3XW6UuxGTrGHnRcNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_ZH56PNEIIUe4g5YtkUGVSg_5_2">14,804</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_WUmGBvWKMkaBlt8gdsNiFQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_b0qF_p77tEWWv9uZ_W5i3Q_5_4">32,995</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_A8jAP0LWfEOPT25iutk66w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_IBv6MtHluUGjaDXdjBpimw_6_2">1,191,780</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_UoYBzaTdSU-qdqiX4VYRvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_Ir0ClvATH0agbPT1O4Cs2Q_6_4">1,477,638</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_H6GQ4xmxwEyeecDferH5jA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_eYDkdw-DaUqg0KyM-_ZlNw_7_2">75,656</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_huHdn6rGrES9kDGhkA7zXA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_TQQOxEuLPEONqMImY3XU_A_7_4">86,616</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_6HIB3VlG6Em1adFmZxDSUw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_IyIa3dOnfECsbrMm73XiBA_8_2">7,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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_kV1zWAeWvEeVEqMZw5mogw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_63LrysuNPUq5rbaf-0J5pw_8_4">9,833</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;">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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dNbDeMD4HkKSp1_pKmfuUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_2Ii2i8QPJky0qxQfMreZ2A_9_2">20,231</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_z77O0eoBz0-YeUKRFxNMAA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_E18A2wICDU66bayrAQOpmw_9_4">31,691</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_plCTWTBtWkKo3wyVE4owKg_10_2">1,843,761</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_sxNEsUwGREG90qK_FCgyIQ_10_4">2,363,713</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="Tc_VuE1UoYzg0aZwWj9Emrl2w_11_2">827,601</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="Tc_SXQjuYCRKU-FCygGHkWDTw_11_4">1,019,988</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;">Impairment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedAssetImpairmentCharges" scale="3" id="Tc_FRb6iIIo_U6ESiUEKMTn0w_12_2">52,149</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedAssetImpairmentCharges" scale="3" id="Tc_tWTyDIk_40q995ZipwTD0Q_12_4">42,828</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;">Subtotal</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet" scale="3" id="Tc_tEhZ-ZHN2EKAC6ZAZI9x-w_13_2">964,011</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet" scale="3" id="Tc_A7iZmyrYVk-1jpAQUXLRRQ_13_4">1,300,897</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;">Construction in process</p></td><td style="vertical-align:bottom;white-space: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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="3" id="Tc_wjNCDvvj4kqlgq91s4WZQA_14_2">193,720</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="3" id="Tc_Zl2_jItO5UGTr8ZwnS_SwQ_14_4">100,980</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;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_uqDoxwtcV0y6a4rHhBdW2A_15_2">1,157,731</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_XXLl5e_1vEq59hT8j5h2BQ_15_4">1,401,877</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_y-bXRBP0kE-ZoA6XwotkJQ">148,034</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_2LSLAYYNAEOVyvNwB1q9ug">197,600</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_vTMuJhgg6UmVna7dooj3_w">266,956</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, respectively. Construction in process primarily represents production facilities under construction and the machinery under installation. </p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div 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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_IGt_RlfgvEeJykWvkB0STQ_1_2"></a><a id="Tc_ELCShnSWOUOzqv1CUXG1yg_1_4"></a><a id="Tc_Y7Fj3gV6LUqk3x7TJ1gcEg_2_2"></a><a id="Tc_wnlXoKy_gUm2oh2X7XoQ_Q_2_4"></a><a id="Tc_O_-sGN2VGUm_OQzgS86fWw_3_2"></a><a id="Tc__hJA5b6AJUG0nw7Q_73V5w_3_4"></a><a id="Tc_HkyYJDHsSUiK5Rtc-DfX6Q_4_0"></a><a id="Tc_NAiyih_LvEO7g24rizdmdA_5_0"></a><a id="Tc_E5pxR8d80k2Nwy7-gsp0NA_6_0"></a><a id="Tc_GrHMCncjkkiKbz-LtUqUPA_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:SolarPowerSystemsTextBlock" id="Tb_o-24rw-fIEqFx2cv51TVew" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">7. SOLAR POWER SYSTEMS, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Solar power systems, net consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock" id="Tb_-Xkc7Zf8gkK79lY1gaJSIw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems in operation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_tN6QA7tF-Ee1plzQX-LjGA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_Go5EU2dX606tJ67gMbip2A_4_2">182,232</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_3kWoO7oXNESnMI9VcRKVWg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_prx3sHH_IUGUI4fZhiRoeQ_4_4">117,339</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems under construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_qq6RWunVjUGoxXVpQJnlzg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_HYa0A7WWkk-uB75svY7Jyg_5_2">6,565</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_vF3dX8aG10S00S82cjWQZg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_ZUwkpRg2GEO7Vvfrl7XM6w_5_4">4,684</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space: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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" scale="3" id="Tc__WftFe7DpEKI2EJbSOGGcw_6_2">30,535</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" scale="3" id="Tc_s2rkH1PB3EWOGUVMv3z8XQ_6_4">13,760</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_20eeHV5UZke2GgmHq47j4w_7_2">158,262</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_ANuxN9sKdkWgw_6wcmz97g_7_4">108,263</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 solar power systems was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_lHr8ufMChECO4U9Jus6uiA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_pAnS_i9XJUObrmK_ORDQ3w">6,379</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RRMsT1YOEUK0V4sv2xF34A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_zk6ESB7BtkmjjySn4877BA">6,396</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_b3l8cSbYEU6Vh4Z9XdPP9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_NkWj-OqBl0KqTVQMWCIXcA">11,212</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, 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_d2WsqyLTPkyTiYyDqvTGuQ_1_2"></a><a id="Tc_10lHnXt0qE6kInUAjjxYBw_2_2"></a><a id="Tc_HWIgi8bfnUGfyN1enE2yrg_2_4"></a><a id="Tc_loFa57fZ40GOaIp1e5rwtw_3_0"></a><a id="Tc_H6SGv35wOUeMKtDE16R7kQ_3_2"></a><a id="Tc_3PNXl3xXMUqRS2zVZVCijg_3_4"></a><a id="Tc_LtvWFQcdhkOEx4CSOi8uTA_3_6"></a><a id="Tc_l7Tfzi-X20yeUSaCgTRlAw_4_2"></a><a id="Tc_WvGgsq5DykCBYXr_efzFGg_4_4"></a><a id="Tc_wtKmY0BgFEm6BL3yOszvfA_4_6"></a><a id="Tc_u9cQ-caVW0Oxts5F9Moy5g_5_0"></a><a id="Tc_Po3uahIJikm2yPfOtl6TLg_6_0"></a><a id="Tc__JZaSGJ44Uux2om4ns9Mvw_7_0"></a><a id="_a093cbba_5a7d_4947_922d_6305e621fe65"></a><a id="Tc_5a6unOHxYkGMLVJznO5VBg_1_2"></a><a id="Tc_iqA_uJrHa0KZj-UQ-GN0ug_2_2"></a><a id="Tc_dve9wDDzmkaeXz2dRg3ffg_2_4"></a><a id="Tc_Q3MvMThYbEeXdijL7tDHZg_3_0"></a><a id="Tc_-Cz-AZpGHkOaNM1I1Pd4vA_3_2"></a><a id="Tc_Wz61I8kiQUmOSwCbhrUSdQ_3_4"></a><a id="Tc_ocgl1v5g00Wn-PWojXaedw_3_6"></a><a id="Tc_L8gTLjM_rE2NZ_tjbsSXiQ_4_2"></a><a id="Tc_BvL67M2tkEq5K3WMhhYm0g_4_4"></a><a id="Tc_98R2Xg4gf0S7d_1GNbUDKg_4_6"></a><a id="Tc_tILOndenh0-tpkGL98GUPw_5_0"></a><a id="Tc_UDmjWfG0Tka_13jG2W4hKQ_6_0"></a><a id="Tc_zIUU63j-SEC2VyJ748mDVQ_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="Tb_IZEsIc_Et0Sx6yVzN8wqkQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">8.&#160;INTANGIBLE ASSETS, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s intangible assets, net:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_GLbxsG0yM0y-m6U8JS68yg" 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, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_awYlA3Z1R0Ov3l257vb9Zg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_HN2ab4-wKkqDJ_1-G7T-fg_5_2">1,577</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_awYlA3Z1R0Ov3l257vb9Zg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_nlqtIIe8b0SzaAkSBj1xJw_5_4">1,562</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_awYlA3Z1R0Ov3l257vb9Zg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_7_-HHjDFnEWAh7TAcezHSg_5_6">15</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_kl32AtrNhUqJBbWIHcfnnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_aXmbbngYrE-2HeBCLFqrdg_6_2">39,059</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_kl32AtrNhUqJBbWIHcfnnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_LZR1SQm2206sE7EosrqLSA_6_4">20,082</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_kl32AtrNhUqJBbWIHcfnnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_HV2TmbujVUeXD-OGaadR3Q_6_6">18,977</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_w6rrO-tQg0qRxfWnebErUA_7_2">40,636</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_ZAtn2wa1HEC4vUjjRnJj-A_7_4">21,644</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_w72CPZrhKkay2ZPC3Y2Acg_7_6">18,992</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_zawpYAh-P0-PmyHGn0d09w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_FvQuIC0RA02i1e69Jw8fhg_5_2">1,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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_zawpYAh-P0-PmyHGn0d09w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_HmKDQJrbbEuO6yrQYvP8Ow_5_4">1,525</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_zawpYAh-P0-PmyHGn0d09w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_7zXD7pVxpEGsyODLbUqytA_5_6">18</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AmmuiOtJ3kG2WVH-TKc70Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_M9p2JXdrM0aRIEdnJgOn1A_6_2">41,085</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AmmuiOtJ3kG2WVH-TKc70Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_u8is_CVZJkqNr_t0o394tg_6_4">18,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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AmmuiOtJ3kG2WVH-TKc70Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_ie9l67JRNEGPkM9nGs1kyA_6_6">22,411</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_vHFxWs9B6UOmBvLJo9t64w_7_2">42,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;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_eooZ1ZkHAUm2LgWCC0Fteg_7_4">20,199</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_U9xfJzHB_0KAMmP3wBQTWQ_7_6">22,429</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 6pt 0pt;">Amortization expense for the years ended December 31, 2019, 2020 and 2021 were $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_dT1V2Rp4dUqhtDKTcFKUqA">5,310</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_aLB3V2wyvU2Gm98zC_Yzjg">5,122</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_SnjYou3wekOLvOU5gw1yGw">4,601</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Amortization expenses of the above intangible assets are expected to be approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" id="Narr_d2wdvLfC10KLiDX6GMR7PA">4,409</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" id="Narr_6dW9vR5JxE2TfqEByIqXpw">3,228</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" id="Narr_vbwek5EVrUqmhd5Jyv0AuQ">2,691</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" id="Narr_GKke-xx4TUuqfp4lWQp-9Q">2,198</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="3" id="Narr_b2E7RyFBIUu3sjvqQXjKDA">2,052</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" scale="3" id="Narr_8bDwPiJ3j0-qS2y0uufS-Q">4,414</ix:nonFraction> for the years ending December&#160;31, 2022, 2023, 2024, 2025, 2026 and thereafter, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:FairValueDisclosuresTextBlock" id="Tb_grCQwTLu4kGk1NWnHg1M_A" continuedAt="Tb_grCQwTLu4kGk1NWnHg1M_A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures at fair value its financial assets and liabilities by using a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value. Fair value is the price that would be received from the sale of an asset or paid to transfer a liability (i.e., an exit price) on the measurement date in an orderly transaction between market participants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2020 and 2021, with the exception of its listed equity securities which was measured based on unadjusted quoted prices for identical assets in active market (Level 1 inputs), the Company&#8217;s financial assets and liabilities were measured at fair value on a recurring basis in periods subsequent to their initial recognition all using the significant other observable inputs (Level 2 inputs). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Foreign exchange</span> <span style="font-style:italic;font-weight:bold;">option and forward contracts</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company entered into certain foreign currency derivative contracts to protect against volatility of future cash flows caused by the changes in foreign exchange rates. The foreign currency derivative contracts do not qualify for hedge accounting and, as a result, the changes in fair value of the foreign currency derivative contracts are recognized in the consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s foreign currency derivative instruments relate to foreign exchange options or forward contracts involving major currencies such as Renminbi, Brazilian reals, Euros, Canadian dollars and South African rand. Since its derivative instruments are not traded on an exchange, the Company values them using valuation models. Interest rate yield curves and foreign exchange rates are the significant inputs into these valuation models. These inputs are observable in active markets over the terms of the instruments the Company holds, and accordingly, the fair value measurements are classified as Level 2 in the hierarchy. The Company considers the effect of its own credit standing and that of its counterparties in valuations of its derivative financial instruments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest rate swap and commodity hedge</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In July 2020, the Company completed the sale of its class B membership interests in the Roserock project to an unrelated third party, and consequently the Company&#8217;s interest rate swap contracts with total notional amounts of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_hy9LXXCss0-n-dN8aTEwDQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeNotionalAmount" scale="3" id="Narr_IXPDZqa8SkO_9FHOfjBq-g">399,000</ix:nonFraction> were paid off following the loan repayment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company 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 6pt 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.</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_e33cfce8_1fa1_4df6_8a48_19d8a37f0af8"></a><a id="Tc_KowLvihAlkmcvY_0T6tEag_1_2"></a><a id="Tc_KXqNubahH0u8Hk_kLxfZfQ_2_2"></a><a id="Tc_XUyAHJZqmk6bxX1tO0_nmw_2_6"></a><a id="Tc_arPNacU_1kK1fqKeUr4_EQ_3_2"></a><a id="Tc_2gsDxkMmeEqI5OJE298Odw_3_4"></a><a id="Tc_OwaKdL2UTkatfxEtY-yJhQ_3_6"></a><a id="Tc_PwwLT_jVB0S6G2uusihNpg_3_8"></a><a id="Tc_H_WHb9m9EEuIz49oveSIyw_4_4"></a><a id="Tc_4vbxEZsb-UqjQg_ERUuAuw_4_8"></a><a id="Tc_W3QIyRqrPUa4tUQV3FqBxg_5_0"></a><a id="Tc_dAjE1aS7TEC2NE9jyyfgmg_5_2"></a><a id="Tc_JkPyoK9sK0OBNL3j7RIUBA_5_6"></a><a id="Tc_i1D5Uz3Uuk6Skzmnb_SRqQ_6_0"></a><a id="Tc_gqk4zb8t3ku2pizfKZCNuA_6_2"></a><a id="Tc_3DeBrHD-qUqKgHMliIO3fA_6_6"></a><a id="Tc_7EBJgrlyCkiyP6Gfx2M9Yg_7_0"></a><a id="Tc_tjwUpu5iWEKKWbZli12QbA_7_2"></a><a id="Tc_XdYYLsjUi0ScGvG9-abnPQ_7_4"></a><a id="Tc_vLxnM6nj4UeyV0dgYUyzgA_7_6"></a><a id="Tc_bAR6HQpW8E626B-2hqAFtw_8_2"></a><a id="Tc_C-UbEpn7uEOx6TfempigGg_8_6"></a><a id="_2f48f4ff_77d0_47b6_93cb_3abf4d6aa3d0"></a><a id="Tc_BonRWgR0aUqZ6QQLWkvLNg_1_2"></a><a id="Tc_1gUWAFZq1U-KiQ8VnF_SPg_2_2"></a><a id="Tc_9plHBKXHjUqRuHoz9_iiUA_2_6"></a><a id="Tc_-o9MOB6DBkaZkRmVogLzAQ_3_2"></a><a id="Tc_-5B0zU9F1E2cr6IUq7Li8w_3_4"></a><a id="Tc_9J1jvhTDREGLZEsU9awaVQ_3_6"></a><a id="Tc_79rhMc5tVkGKfyy6tgXO9A_3_8"></a><a id="Tc_BjQNUMKE8UW1_y7OYjj0_g_4_4"></a><a id="Tc_tm8BYfWiqE6_EgLP2nOoYg_4_8"></a><a id="Tc_L4BtHn1eTk6lfHTTxOHWSA_5_0"></a><a id="Tc_P1Ik7yHElkuq5PT_6X1zuA_5_2"></a><a id="Tc_WBpUNCFzhkyhJNSdNwLFVw_5_6"></a><a id="Tc_XasJc4W9vUa8Z9f-DHYVcQ_6_0"></a><a id="Tc_Gw6i6yibEk-ds7KdvGQWNA_6_2"></a><a id="Tc_0H3w_yjiXEuyJQKgOCTEdg_6_6"></a><a id="Tc_GVOl_j14dEuU3i1GFyXpXg_6_8"></a><a id="Tc_KHzmGz9mA0WDADduoJ5Eeg_7_2"></a><a id="Tc_1EaA2m1qYk2-bRfWYY9-Ug_7_6"></a><a id="Tc_l-N8X6MOCk6QzjFb4SZahg_1_4"></a><a id="Tc_qNFaPvScXUCxhs8LMOQolA_2_4"></a><a id="Tc_bHF6RndyzkqwuVlzdjQ1Sw_3_2"></a><a id="Tc_EVb5y70U002FVttqeEJTuw_3_4"></a><a id="Tc_JQtqmQLLeEyavB_hFpHdpw_4_2"></a><a id="Tc_h1xvWMqp3USbPucaQPckLQ_4_4"></a><a id="Tc_ATbgGvsEyUmSM__5xwuwew_5_2"></a><a id="Tc_NSPgMTiGXkO9VMSoBULfVA_5_4"></a><a id="Tc_3WTr8bTc9UyKiLAY9jjOIw_5_6"></a><a id="Tc_g7cRNJ7Vq0uVz3gqjTlZ3Q_5_8"></a><a id="Tc_MDFesnoYakO_UAM3DN8v_Q_6_4"></a><a id="Tc_2rlxQRHm9kKY0zvIcsRwaQ_6_6"></a><a id="Tc_1sZJpvuDp0O8TznQWSkTaw_6_8"></a><a id="Tc_TSKNWwNbqEKW7YXL0Chk_g_7_0"></a><a id="Tc_lCR3AIyRA06moup2rtvXPQ_7_2"></a><a id="Tc_Blmm3yj_AEOxncjVpoAayg_8_0"></a><a id="Tc_lgR27FlTX0KVyTxsDcPyzw_8_2"></a><a id="Tc_X7HENuLYIEyt8xYKwSupHg_9_0"></a><a id="Tc_fYlV49pKHk2_8fOaGQFd2A_9_2"></a><a id="Tc_84fM5NjGYESE_7e-855RZA_9_4"></a><a id="Tc_-rfp35WFmEmwiAoNMz4wWg_9_6"></a><a id="Tc_gG3Onc61-0iEieapnFvdnQ_10_0"></a><a id="Tc_vkxVkNdAX0Wc_o7WEQs2zA_10_2"></a><a id="Tc_KXCmyDYyXkGIn6NZz_jqeA_10_8"></a><a id="Tc_2vE-X0vu7UyJqDgjNZzATg_11_2"></a><ix:continuation id="Tb_grCQwTLu4kGk1NWnHg1M_A_cont1" continuedAt="Tb_grCQwTLu4kGk1NWnHg1M_A_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2020 and 2021 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2019, 2020 and 2021 are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" id="Tb_GIOUeJ0hlEueZrAkeX67Vg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Assets</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_aXaYQ-GGW0CxRUjHUbg8fA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_acaGDYaCaE-pH8oNvqZT-A_5_4">22,178</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7C7tlO2W6k-xf2WTdGPQ-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_9h5fEjCONUCQR86XC4lMxQ_5_8">7,124</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_-JW98uUv70qHAwAPzcN8SQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_znlTxypKskCheR2cUqiHrw_6_4">1,173</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_hf5NGKDBpk2DJoKbVbsXEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_QeJ_1iPO_kOrqebT74RwmQ_6_8">162</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">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;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 assets</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: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;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 assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ylpZg90LHk2zZiR3H2XEPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_BbHhnM4W_06wf_bNcME-zw_7_8">76</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;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;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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_kLzxw1pQMkmxx6Li_rtfTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_ZUriyORqkUa0p6nxne5-bg_8_4">23,351</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;">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:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_4FWVVmlT5UuA0CAFPFqgBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_Ezoz0U57KEaIXLthCfFuPw_8_8">7,362</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_z6oG1VEGYke7c-PjvMSzdQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_FddxfwX2Kk2Ykthe4Ck39g_5_4">10,753</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_k5FdJZJTQE6R9o9Ez-V4-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_LYgzPUnq3ki7ud3GR6aiBA_5_8">2,622</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tOPsYRzvuku7j6hgsPIKVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_Om7sGNkWu02P6YBntiJhTA_6_4">2</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.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_kLzxw1pQMkmxx6Li_rtfTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_DZnpx04ydEO8UQkJH4s3FA_7_4">10,755</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;">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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_4FWVVmlT5UuA0CAFPFqgBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_SVWCAyIf6kWfUtzwFF1KJg_7_8">2,622</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 contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="Tb_jFkpBqR9kE-s63VG0KDgZA" 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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">2021</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_2Hv_NQbIEk-OzvRXFu7rTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_PH2gf4D9MUytOGXan8Ftgw_7_4">20,249</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_pOy0KZxhJUijWIhxYXMWVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_AYhzd0G8NkaHSxL2HBXNow_7_6">49,807</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_Uk6nWU03SUOyPZ-gAbXG5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_AEDaUIV7Yk6Bp3Zai1N1bA_7_8">22,582</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_2C8fcSjMSkSPPe9hew5OTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_iaY8IM93Qk6evbSnhlNs_w_8_4">1,022</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_4E73SSWE6EaMoTQfEqHSAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_4QL_pHWPnU26wZo4ocJpvg_8_6">1,376</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_azeMWygeSkGGFmhr2WCjtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_18Y6ug33B0WAz770VM-l6A_8_8">220</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_aJa7efIEBE6XFgrNQRpckA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_XFKgmJBM7ECuBzAXvXG_Mw_9_8">983</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_llairrzg9kqdJwN6tyAMYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_ywolLZJK8Um8miO9DMMy_w_10_4">947</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZdZrkK_bNUa_lD63ryM5qw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_y33gLROCU0K2GRiEALJkZw_10_6">1,182</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_dVlFLY7atku7ZOnLJM4XWQ_11_4">22,218</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_rmbuI-EL2Em4C9q2W2XqNQ_11_6">50,001</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_xDA-vBitgUiHkRkuVbmEFw_11_8">23,785</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;">Listed equity securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2020, the Company received shares of a company that is listed on Shenzhen stock exchange for the disposal of its ownership of Suzhou iSilver Materials Co., Ltd, valued at RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent" scale="3" id="Narr_NheWc7HcN0m_AbOCNZQwsg">91,370</ix:nonFraction> (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent" scale="3" id="Narr_RDmc8pTgMUqglK2cfrsfpQ">14,003</ix:nonFraction>) on the transaction date as part of the consideration. These shares were carried at fair value of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFVNINoncurrent" scale="0" id="Narr_tga2AYJqWkid0qmWrxMpDw">15,056</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFVNINoncurrent" scale="0" id="Narr_7qfjsI1cT06QqlRYBfQoFA">20,195</ix:nonFraction> as of December 31, 2020 and 2021, respectively, included as a component of Prepaid expenses and other current assets. Unrealized gains on these shares of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss" scale="3" id="Narr_0Is8aW_2RkyByEVI09-1hQ">1,048</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss" scale="3" id="Narr_AiAVWtmLtESNUavXNsM8oA">4,744</ix:nonFraction> was recorded as investment income in the consolidated statements of operations for the years ended December 31, 2020 and 2021, respectively.</p><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;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other fair value measurements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures certain long-lived assets or long-term investments at fair value on a non-recurring basis in periods after initial measurement in circumstances when the fair value of such assets is below its recorded cost and impairment is required. The Company assesses ROU assets for impairment quarterly. If the carrying value of ROU asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recorded impairment charges for certain manufacturing asset group of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_BX0yr7H9ekaq7V2iP_dMsA">21,866</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_yWKp1iZXVUqD-1fzjY8vDA">11,854</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_UQwyPNT4IEqTIeVGPwweFA">6,084</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, respectively. The fair value of these assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded in general and administrative expenses of CSI Solar segment on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_grCQwTLu4kGk1NWnHg1M_A_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other fair value measurements </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recorded impairment loss on project assets of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_rbp-DkBrq0iKmsV3r-wgIg">20,194</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_K8Paiy9IhES4eegK7Yp7cg">369</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_jHkcNZVcbECBiH5xvr3MHw">17,152</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, respectively. The fair value of project assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded as cost of revenues on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company also holds financial instruments that are not recorded at fair value in the consolidated balance sheets, but whose fair value is required to be disclosed under the U.S. GAAP. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, other receivables, accounts payables, short-term notes payable, amounts due to related parties, other payables and short-term borrowings approximate their fair values due to the shorter -term maturity of these instruments. Long-term borrowings were $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Narr_6_4wOWFWGkym52ZBqGilwA">446,090</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Narr_b3RoDmg4g0W-EfLPoSuSWw">523,634</ix:nonFraction> as of December 31, 2020 and 2021, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The fair value of long-term borrowings was measured based on discounted cash flow approach, which is classified as Level 2 as the key inputs can be corroborated with market data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The carrying value of the Company&#8217;s outstanding convertible notes was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleLongTermNotesPayable" scale="3" id="Narr_iF7-hTCdiEiNu_NaTPcUaQ">223,214</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleLongTermNotesPayable" scale="3" id="Narr_m9FSxtVy506zWk9SaSMKrQ">224,675</ix:nonFraction> as of December 31, 2020 and 2021, respectively, which approximates the fair value.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_BEKQH-0KpEGUdD7PtZa9tQ_1_2"></a><a id="Tc_TS6grjgXEU6d8VIzJF4EWw_1_4"></a><a id="Tc_R6kK_QQsDUi9S_VZZgTUzA_2_2"></a><a id="Tc_kc1HmSRWsEqqyebGMibJiQ_2_4"></a><a id="Tc_IliDJaAujkK1YVT1xd_tIA_3_2"></a><a id="Tc_RnZt5_gYZkenaaInJjqh3g_3_4"></a><a id="Tc_QP30fNTs9kWVOnj38DU0tA_4_0"></a><a id="Tc_n34WlpQ3tk2jk66SuZSWUA_5_0"></a><a id="Tc_4Zg4p0Kajkal4ricwgT0mA_6_0"></a><a id="Tc_EHgfPuZa-EWppVVhy_TbKg_7_0"></a><a id="Tc_zLqUmnXGl0Kzz96Tu9laWg_9_0"></a><a id="Tc_2F06fE0N7EiDP5Sum80QdA_10_0"></a><a id="Tc_WkKr2O_xJkCSeCM9ACD7vw_11_0"></a><a id="Tc_IszgqVfRf0mlU8NwOnrm9g_12_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:VariableInterestEntityDisclosureTextBlock" id="Tb_P2KpziJ3nE2YfUcptYsyzQ" continuedAt="Tb_P2KpziJ3nE2YfUcptYsyzQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">10. VARIABLE INTEREST ENTITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2016, the Company, through its subsidiaries, entered into silent partnership agreements and/or various types of bankruptcy remote arrangements for the sole purpose of holding Japan project companies. Under the silent partnership agreements and/or the bankruptcy remote arrangements, the project companies are considered VIEs in which the Company has no majority equity interests, but is entitled to substantially all of the economic interests of the projects. In addition, the Company has the power to make decisions over the activities that most significantly impact the economic performance of the projects under the asset management agreement signed simultaneously between the project companies and a wholly-owned subsidiary, Canadian Solar Projects K.K. As such, the Company concluded it was the primary beneficiary of the project companies and thus these project companies were accounted for as consolidated VIEs since their establishment. The Company does not retain any ownership interest nor control of the bankruptcy remote entities, which individually and, in the aggregate, are insignificant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2020 and 2021, 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfVariableInterestEntitiesTextBlock" id="Tb_3JQ6fo5Zr0mbHSEOHJObQg" 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:69.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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: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:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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: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:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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: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:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_rIPLei4Vm0GtSovWYIk2CA_4_2">42,064</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_1tUlWenMa0q-c54NzD_7qA_4_4">48,200</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssets" scale="3" id="Tc_g1LBGjbCgkqvs7fjMujZXQ_5_2">337,836</ix:nonFraction></p></td><td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssets" scale="3" id="Tc__CFHNDJkgEC4GVHbT9wyMA_5_4">289,315</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="3" id="Tc_Y5BjYU673Ey4uwMxDTMMwg_6_2">79,580</ix:nonFraction></p></td><td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="3" id="Tc_2y6Um-DwM0KdrYfHNz3GfQ_6_4">53,091</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_yk37bTrW4EisVjjDeCo9tA_7_2">459,480</ix:nonFraction></p></td><td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_haUMDbFIAEua1V3wVAIezw_7_4">390,606</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_FWFmkDA2ukqQcVJH7AQU9Q_9_2">180,773</ix:nonFraction></p></td><td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_Eev_Eq3UVUScTdj77wBjTA_9_4">113,857</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_PuOdvr5BGkK92nV-8YpPXA_10_2">52,408</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_1zWwOOc1JEeERfCPRbFLLQ_10_4">106,880</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilities" scale="3" id="Tc_8ItzqQoyjkaMPrUN3OzMTQ_11_2">60,845</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilities" scale="3" id="Tc_cTSj1juj3kykHlHHMFru7g_11_4">36,872</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_FSeK1TvSKEma6YRps4ZHBg_12_2">294,026</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_JJUs_HK3dEq454wl8oHWjQ_12_4">257,609</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;">Net income and overall cash flow activities during the years ended December 31, 2020 and 2021 were immaterial 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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_P2KpziJ3nE2YfUcptYsyzQ_cont1"></ix:continuation><a id="Tc_5dakGwNlhku_eJDm_Zqt8w_1_2"></a><a id="Tc_8HOZKxp1H0GVSmU649ckzw_2_2"></a><a id="Tc_EsrQVKzDHkCzb7NPujfeSQ_2_6"></a><a id="Tc_GLp3HHJgwUqSk0xID6Z2vg_3_2"></a><a id="Tc_Kr9NZ5SyV06vSOwWH6nvTw_3_4"></a><a id="Tc_rbLVhEqKI0u8pRbiegSg-Q_3_6"></a><a id="Tc_bg0uPJzLTUqbiwhRJSwqbA_3_8"></a><a id="Tc_0h9zgW8HkUmiHzOMn-Kzww_4_2"></a><a id="Tc_P0e4ozzICUClmp4_nbyDlg_4_4"></a><a id="Tc_EiTgpNb-bEOpsR3kPcDnQg_4_6"></a><a id="Tc_T66aV08aYkCJ48HjpPTIlg_4_8"></a><a id="Tc_ZvxOSguWD0efzyMdqQLOpQ_5_2"></a><a id="Tc_csmfcotKGU-KbtwWjFKs8w_5_4"></a><a id="Tc_Cb1NjtWDeU-q5nKVeRBq_A_5_6"></a><a id="Tc_L3BfNfG5iUaO0bwLD_MmUw_5_8"></a><a id="Tc_Q-w9aX5Et0qC04eMU0tirw_6_0"></a><a id="Tc_dpC1MG_SaEG2xrKGWdCaww_7_0"></a><a id="Tc_IPyhd9V7h0mIb--PX_0G2Q_8_0"></a><a id="Tc_6vR4FxCLbEC8sgTRRkQ7xA_8_2"></a><a id="Tc_z30yN_HvYkyflv23HYGJYA_8_4"></a><a id="Tc_dDv5zHc6JU-1-UCxjGYVWg_9_0"></a><a id="Tc_ET-iSP_HCUytnOJL4Xasmg_9_2"></a><a id="Tc_aWFf0cuH40WHsK9CG_EVYg_9_4"></a><a id="Tc_3dVmyetuzk2knTdWDh1Sqw_10_0"></a><a id="Tc_Itx1bGsDSUeke36--GekbA_10_4"></a><a id="Tc_VJs_2rciBUmtYkj7eP4QnA_10_8"></a><a id="Tc_LGVZx1TQ_k2AGCVffnAPtQ_11_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:EquityMethodInvestmentsDisclosureTextBlock" id="Tb_hbBSYMCvkEOFwXFWLwZuLw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Investments in affiliates consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:EquityMethodInvestmentsTextBlock" id="Tb_ApEP2oJGak6szak6zdCxvw" 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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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></tr><tr><td style="vertical-align:bottom;width:59.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: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 colspan="7" style="vertical-align:bottom;white-space:nowrap;width:38.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;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.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: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 colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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></tr><tr><td style="vertical-align:bottom;width:59.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: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:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.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: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:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.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: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:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;background:#cceeff;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1kXLRU8usUyF-Wud3dkXKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_qy_Jha_8cEmDQtJacZmQSA_6_2">19,980</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:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1kXLRU8usUyF-Wud3dkXKQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_QPyVsJvZckypjJekKn86mQ_6_4">14.66</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_K8Lx_XVQRUuwYTQF8AZxEg_6_6">12,889</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_L-3qTRoC5E-FEjxWbUKAdQ_6_8">14.64</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_a0QTEi6hekeHPuw_3-Hd7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_72XGlM_zHEGUmlg2iGHeNw_7_2">23,969</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:8.75%;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_a0QTEi6hekeHPuw_3-Hd7A" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_Otpvmi79FkSphA2Vs5x__A_7_4">4.78</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_FO_z5VqmBE-vN_DhG_eM-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_ipzbyoHjNU2t7v42W2jUUg_7_6">27,026</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_FO_z5VqmBE-vN_DhG_eM-w" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_N8UJgRKpnkGQXGa3E_Ljng_7_8">4.78</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#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:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_Rn8Ovx5w7kCM45SUAXks4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_aYdk1hAQE0OlQXzgReKN1g_8_6">18,854</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_Rn8Ovx5w7kCM45SUAXks4A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_Sz51yiw7hkWs48ln0aQftQ_8_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_7GEjb6I4nUmUf288tBIYEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_96522hVDLEqXpxlwQA7tLQ_9_6">6,274</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_7GEjb6I4nUmUf288tBIYEA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_6f7wONZo2kOkV4Z28nd6wQ_9_8">4.55</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_-DEh7xZa1kSPfVao5fo6wA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_si7-lw5zREW5GrMOndNzuA_10_2">34,342</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_DPNQNTQZi0-K9xkRAMdfcg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_DusGvVggZUWlMVoXDcw0tA">15</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_j3iyoVICHEO0fNLF37P4OQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_WcPR4IZPKUyfv9xvYw3EKg">49</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_zXU4iMNy1UyqZInwrQRxow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_XL2bOa7XRU-lyeb53tKhBQ_10_6">33,776</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JVHkhMNPkUSeo8Snu_VgsA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_w4Jo-9_i1ESFX6uWUKTbNw">20</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_Jop9wKV2nUWA13cAO31NKg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_fx4KIuamL0-NxAprVjIVhA">49</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_QsPSgQW-DEyVDJUMlSWQTA_11_2">78,291</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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_1mh3qZ5d0U6d6xG3QJ0FOg_11_6">98,819</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p 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 6pt 0pt;">In 2017, Canadian Solar Infrastructure Fund, Inc. (&#8220;CSIF&#8221;) completed its initial public offering. On March 5, 2021, CSIF issued <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_3_5_2021_To_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_Cpu-VJy4ZE-Maoq6e5jM8A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Narr_aCTDTw1ZZkGcQPgLshr8pQ">151,500</ix:nonFraction> investment units at <ix:nonFraction unitRef="Unit_Divide_JPY_shares_98G2KJ8ZqkGANWGgBqIkfg" contextRef="As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_p6Lpuu7N-U-xwKZ5fs-FWw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SharePrice" scale="0" id="Narr_SLAof1fkhkyuxjt4NBzW0A">125,115</ix:nonFraction> Japanese yen per unit through public offering, the Company purchased <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PVROSTaWdEqqi7Cswhmi5w" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr_PqbT1I9IXUaVyoOrIR94tA">22,725</ix:nonFraction> units in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_h9l9SUNsf0iCgw7gtS9a0g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="0" id="Narr_oPZddEu7_UKsg0X1ZuuA_g">2,843,238</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_h9l9SUNsf0iCgw7gtS9a0g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="0" id="Narr_Hc-qYDFVUEe8btyhj2x26Q">25,683</ix:nonFraction>). Through its initial private placement of <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_p0KXTUKynUC9yPKkGU_G9Q" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr__0yht4qclkmTbkLozWAISw">1,500</ix:nonFraction> units, the purchase of <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_IPOMember_EtcHhHkAzkKCJrGDDM9deA" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr_540r2_rBFkiljKtz043jOg">25,395</ix:nonFraction> units in the initial public offering on October 26, 2017 and allotment of <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_9_5_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_859O9c9_LUqZ6m1wYcPFjw" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr_K1hvK4aL-0ahN_e2FlfyHA">7,000</ix:nonFraction> units on September 5, 2018, the Company held a total of <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr_EBtD6yv7-0mkigzkpbZBnQ">56,620</ix:nonFraction> units as of December 31, 2021 at a total subscription amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_K6UnWxB_YEmH_A-OWTCS4g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="0" id="Narr_nXhI17rcoEK4nMrkoZhkSg">6,247,998</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_K6UnWxB_YEmH_A-OWTCS4g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="0" id="Narr_aG2wyDCuEEqMrM1BNOtstg">55,697</ix:nonFraction>). As of December 31, 2020 and 2021, the Company owned <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1kXLRU8usUyF-Wud3dkXKQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_EihbX1dYY0ejg9wEu9XfKw">14.66</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_ZChQ-LIvOkqZUnhpBvvKCQ">14.64</ix:nonFraction>% of total units of CSIF, respectively. One out of the three members of the board of directors of CSIF represents the Company. The quorum for a board resolution of CSIF is a majority of the members of the board of directors, and the adoption of a resolution requires a majority of the votes present. As such, the Company is considered having significant influence over the investee and the equity method is used in this investment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2015, the Company, through CSI Solar Co., Ltd., established an entity, Suzhou Financial Leasing Co., Ltd. with <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_0hIAHSGJc06TGUtE91Kr5Q" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_46VIKkb36U2JnRwvp_p9aw">4.78</ix:nonFraction>% effective interests. One of five board members is designated by CSI Solar Co., Ltd. This investment is accounted for under the equity method as CSI Solar Co., Ltd. has significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2021, the Company, through its wholly owned subsidiary, Recurrent Energy, LLC, completed the sale of its <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_fQyfCMvPBEKvSyDTy2ck1w" decimals="2" format="ixt:numdotdecimal" name="csiq:EquityMethodInvestmentOwnershipPercentageSold" scale="-2" id="Narr_wmnS-0ldI0K7sCxXrrifbA">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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_dmVGokYJwES-hEnT1rV3HQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_p7TYyPGadEG01EcCp-4_cQ">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_fQyfCMvPBEKvSyDTy2ck1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_17kJTcEDuUa_ObwfUnKdiA">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_fQyfCMvPBEKvSyDTy2ck1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_aNEqzIycsEmazo1CueEhYg">42,333</ix:nonFraction> and recognized the retained equity interests in investments in affiliates on its consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2021, the Company, through CSI Solar Co., Ltd., acquired a <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_10_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_jjjBXuIm1k6Jpt9u44w4cw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_Odsz8CXoXE2pNMa7ez6PXg">4.55</ix:nonFraction>% effective interest in JuSheng (Suzhou) Solar Tech Co., Ltd.. This investment is accounted for by CSI Solar Co., Ltd. under the equity method as it designated a representative director to participate in the investee&#8217;s policy-making processes and exercised significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2020 and December 2021, the Company completed the sales of its majority interests in Horus Solar S.A. De Capital Variable (&#8220;Horus&#8221;) which holds its Horus project, and Recursos Solares PV De M&#233;xico II S.A. De Capital Variable (&#8220;Recursos&#8221;) which holds its Tastiota project, respectively, to unrelated third parties. In connection with these sales, the Company&#8217;s interest in Horus and Recursos decreased to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_P7aBSBn9f0GA3-hrPD7sTQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_J2if6R2uEUOqRIifKhayjw">49</ix:nonFraction>%. In connection with these sales, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_RllKoaVR-UaCItjksEPnNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_AYOZLw1DzEmDg95zGYIqUg">100,896</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_f1gDpC_tKUSv8JwJEFsADQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_gbmD7ig4SkerATIU-KsLug">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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_P7aBSBn9f0GA3-hrPD7sTQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_efyKj2HO-EyrpM0YT1s7RA">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_RllKoaVR-UaCItjksEPnNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_RW1ZtWbD9UWdzpo8vI5lyA">10,363</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_f1gDpC_tKUSv8JwJEFsADQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_6Y0gRvh88Ey_hDVzoX5BvA">7,527</ix:nonFraction> in 2020 and 2021, respectively, 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;">Equity in earnings of unconsolidated investees were $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_IjQzezd87USr6N-_RBqvUA">28,948</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_QZqAbz0QGESfW0J0AWKUqQ">10,779</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_vb5sDP_4M0G5Rvbz_YfxQw">7,256</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc__r_geHGcFkakupR7sWo5Jw_1_2"></a><a id="Tc_Jze1vvvXVEu1iLkp4vNfiQ_1_4"></a><a id="Tc_QO7pR03D3E-f-XSO25SUsQ_2_2"></a><a id="Tc_6elQPkHZtk6NlsHtwqby0g_2_4"></a><a id="Tc_Gf-YCUkI00uQzggjWBL6DA_3_2"></a><a id="Tc_7UJyu71sbE-VZme6VfwWjA_3_4"></a><a id="Tc_Xa0Y4NIwfEOxEygFKxS5xA_4_0"></a><a id="Tc_M11W3Wa11kuKDU80ORXyIQ_5_0"></a><a id="Tc_acJQzIu8qEOVy-AnJB16wg_6_0"></a><a id="Tc_Cqzv8EhHZkywPmLe8eD-rA_7_0"></a><a id="Tc_1nNz7nw7UkKYfI0ivDu2Lg_8_0"></a><a id="Tc_JMEmOhi8hUW8KSvdGUjc-A_9_0"></a><a id="_01dd41bd_5805_4791_8b70_1fff5403d920"></a><a id="Tc_Z7_llGhte0OQilexkb43tg_1_2"></a><a id="Tc_yYwGXYYv00uot9man8dGxA_1_4"></a><a id="Tc_ba48ntz5aE2JT_6bktmTxA_2_2"></a><a id="Tc_Ogw2EBwtx0-8oNYhTY0N4A_2_4"></a><a id="Tc_8K7Incgua0Ous_qq3QmXXA_3_2"></a><a id="Tc_Lpr3ZR8jPEeqvv6QQfT5xQ_3_4"></a><a id="Tc_iawky2Cu_0SUg52lddVB5A_4_0"></a><a id="Tc_hmX4gG_kk0OMQOkQ4qFDnw_5_0"></a><a id="Tc_qIm8-ZwgOkmAhoambBZMEQ_6_0"></a><a id="Tc_wGc0D0XEuUe6sbcvoM5Hfg_7_0"></a><a id="Tc_nSQ9Ls-tFkex4t9EkWvPyQ_8_0"></a><a id="Tc_b2AqLtMzPE-pigsYsPvOrw_9_0"></a><a id="Tc_VRphICOtyUCtS1hOCuQWeA_10_0"></a><a id="_fddede3e_893e_4c1d_bf57_12a06204cf40"></a><a id="Tc_VNWDH4W_lEi9APPXz16Tgw_1_2"></a><a id="Tc_QBKXXaCiUEKuCCWaxXGs5g_1_4"></a><a id="Tc_N-yYjm-Ha0iN4p_JPf8Ciw_2_2"></a><a id="Tc_-V1WkiTJE0is3UffjlEv4Q_2_4"></a><a id="Tc_0gNyPeVXF0SvzWUM_ERWsw_3_0"></a><a id="Tc_1zuv251MqkSdk0FbnPaI2A_4_0"></a><a id="Tc_jPV9GwPn-UiZjHiSH0HLNA_6_0"></a><a id="Tc_mrFOYmMXW0aS4ptgWbCmAw_6_3"></a><a id="Tc_nKmlGKU0PEqhA-kxfVv8Vw_6_5"></a><a id="Tc_-8CROSXYWE6_Xqr6auWBvQ_7_0"></a><a id="Tc_5Se4mVFA002SXuzbbMNmfg_7_3"></a><a id="Tc_OnoTCIZEgEaiWpbQm30Vow_7_5"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:LesseeOperatingLeasesTextBlock" id="Tb_D1RC5z9fsketDITiHfOjVQ" continuedAt="Tb_D1RC5z9fsketDITiHfOjVQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company leases office space, office equipment and vehicles for solar power plants construction, and manufacturing facilities in various regions where the Company operates. Leased assets are mainly located in the PRC, United States and Canada.</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_2021_srt_RangeAxis_srt_MaximumMember_tItpqhiGNku2EFLZ-L5B_w" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Narr_crZIju9OAkq1VvVfLlzBIQ">twenty years</ix:nonNumeric>. The Company also has certain leases with terms of 12 months or less, which are not recorded on the consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of lease expenses were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:LeaseCostTableTextBlock" id="Group_ukR4AD1J7USK3GInP-sW_A" 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;2020</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;2021</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 right-of-use 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" id="Tc_Nmlu0yQj302kYljR6qj1lg_5_2">8,036</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" id="Tc_EaodEWIiG0OqOsuD411E3g_5_4">14,920</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestExpense" scale="3" id="Tc_QDxD4h9e_027d86epJxbpA_6_2">1,497</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestExpense" scale="3" id="Tc_zrbNTUfoYUSPRU7E5NiXyg_6_4">1,349</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="Tc_hPqMFvFmHkaVxKp1DTvfSA_7_2">19,630</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="Tc_qUMyD8UHoEKgrkbyYkVk2g_7_4">18,443</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermLeaseCost" scale="3" id="Tc_gIc14XQKfUK-OalpzFF5RQ_8_2">850</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermLeaseCost" scale="3" id="Tc_sJBevdsNCU6SCRq1OJF-KQ_8_4">1,884</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="Tc_aTsXqA069UK844MS5vy8TA_9_2">30,013</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="Tc_KjyWGNKNPketjMQCgSm3Ig_9_4">36,596</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 supplemental information related to leases is summarized below:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" id="Tb_dfZPk2WcWUmnrrJyGLx2pw" 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;2020</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;2021</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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" id="Tc_PqavB3mPLkmoZgEFq_tDCA_5_2">1,497</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" id="Tc_T7ea-qqB70yHQ-NOLYqekw_5_4">1,349</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_bGhMkGJ6QUeJgYSVpBm0Ng_6_2">20,589</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_jKKFUBECzEumdBvaxvP-4A_6_4">19,972</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForFinancingCashFlowsFromFinanceLease" sign="-" scale="3" id="Tc_bomwgsPbKE2osLI7uc7ClA_7_2">19,163</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForFinancingCashFlowsFromFinanceLease" sign="-" scale="3" id="Tc_7h97OHKiH0qLtvjxyATWhg_7_4">35,554</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">ROU assets obtained in exchange of new finance lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_bHKb8juXiEyJ5uQ--YmLaQ_8_2">10,666</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_Q6Hd9it_jUGSfI5sRHMIkQ_8_4">60,102</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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" id="Tc_TfGWysv7TkqbwIfLO_hEcQ_9_2">14,892</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" id="Tc_kVsR5atvtEivhtrQC6D9RA_9_4">24,694</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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" sign="-" scale="3" id="Tc_AVrltqHMR0KwL3T4I3mIkw_10_2">6,572</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" sign="-" scale="3" id="Tc_7VHnK1KCeUulaqrl3VW1Jw_10_4">1,880</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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;">2020</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;">2021</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 operating 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_2020_R76ptFo6AU-TJ6jI3aM-1w" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_5ASwCOqbpk-bLCEvTpVV0Q_3_2"> 0.90</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_2021_ew_0L6PleUW4HoBxsypf6A" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_JDPC61SKWEmEJey_h5wSbQ_3_4"> 2.66</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 operating 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_2020_R76ptFo6AU-TJ6jI3aM-1w" format="ixt-sec:duryear" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_F8m8hBydlUKgUqvq4y9kqQ_4_2"> 3.07</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_2021_ew_0L6PleUW4HoBxsypf6A" format="ixt-sec:duryear" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_faWMvn_cFUaMSoP6WDMQqw_4_4"> 4.40</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;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></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;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.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;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: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 operating lease discount rate - finance 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="4" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_-ME5gwLVdUmDhw4slSlgYw_6_2">5.54</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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="4" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_sodZpyl-6kKRPBOQeh12kw_6_4">4.95</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><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 operating lease discount rate - operating 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="4" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_MTKoHfp2OEC0AeqmYATCJQ_7_2">4.18</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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="4" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_0K388oZXq0eKqxqTIvHtmA_7_4">4.34</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></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;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_5a2c3881_b6b4_4ea6_ac64_b14cd20bd781"></a><a id="Tc_jwcef0PHAUCILjuLikSW9g_1_2"></a><a id="Tc_ftSnGN-S502Bmib8MyFnbg_1_4"></a><a id="Tc_njzd6lZDGU6N6GFRPmWCsw_1_6"></a><a id="Tc_ZsbFfdwfrkCbu6WM4t0D8w_2_2"></a><a id="Tc_OtpOiwb_qUKSWZM2ENGHxw_2_4"></a><a id="Tc_x2g_tdpUb0CJYffRgHK2Bw_2_6"></a><a id="Tc_oTRMHOslwEe4k2i4n9uAdQ_3_2"></a><a id="Tc_FT94VaUrzkmlDlFpbH1rNA_3_4"></a><a id="Tc_e9ZBWhDMz0S6Nif5purB-w_3_6"></a><a id="Tc_FKJh9MPA20ufecKUBAOJcA_4_0"></a><a id="Tc_17N2zTb0IEq9pLw8kM5YzQ_5_0"></a><a id="Tc_WwX7YT5cF0yjhPHpi3OM1w_6_0"></a><a id="Tc_G9qFoe756Ua_k5mD341L3A_7_0"></a><a id="Tc_WWj36gT76ES0OQxwieUGnA_8_0"></a><a id="Tc_JyDEB-FaIkSqw6yxP_HiFQ_8_4"></a><a id="Tc_xEI7JkfnyE-Fh5yfqaFv7g_9_0"></a><a id="Tc_WoVrfgyFl02RAZReq7KsVQ_9_4"></a><a id="Tc_0DsQfoYS7kOpje2B6u5guQ_10_0"></a><a id="Tc_akafq821JkClxzhC_WhEwg_10_4"></a><a id="Tc_tO8dwgnwdUiXQSZvLfLLDg_11_0"></a><a id="Tc_A0mBEeN5Y0yxKbGqwDb5sw_12_0"></a><a id="Tc_Yg18mbQ3A0-kDlZxlNYzXA_13_0"></a><a id="Tc_8kjbVWWFpkuV9qWcsKEvsQ_15_0"></a><a id="Tc_pJ0OL69SYkave51i7avw5w_16_0"></a><a id="Tc_ldn0Mqa2CEGIp3aTGQSgDg_17_0"></a><a id="Tc_os8Cs5AvoEG2pusDVtWI9A_18_0"></a><a id="_42e8a99b_b073_4fe0_ba86_2e6f61e1fa70"></a><a id="Tc_6kXIWcbAA0G4WyHbrWUe-g_1_2"></a><a id="Tc_7AAOU1zX0k2jqS67X1aDzA_1_4"></a><a id="Tc_K9N6U1UJB0ydQ6Zt1YUYRg_1_6"></a><a id="Tc_nAbmGcO_b0OHC6SqZm1V8A_2_2"></a><a id="Tc_HqjuuL32KESo9POIdTbc8Q_2_4"></a><a id="Tc_vX1v90hook2iUUhDc_Fx0w_2_6"></a><a id="Tc_g8TZu1Bf9UCGL93w94_sXQ_3_2"></a><a id="Tc_Eov751N0E0G__ysbpENoGg_3_4"></a><a id="Tc_O8r-bfF2G0mXwCL_DBcH1A_3_6"></a><a id="Tc_HnamTLygwEOmfTjrjEJ_ZA_4_0"></a><a id="Tc_c6GbzJbEZ02l6P4q8owT9Q_5_0"></a><a id="Tc_iz7XGqUKGk2gf0Z0225x7A_6_0"></a><a id="Tc_UGHybCOJ4kG5ZATRljcFUA_7_0"></a><a id="Tc_o4RGAkcWr0-G_jnWT_FnAQ_7_4"></a><a id="Tc_Qh170TGVyUi-c2GuKD4Y6A_8_0"></a><a id="Tc_IEi6NbJ-ZU-P8x8JrLpSyQ_8_4"></a><a id="Tc_rNXu_Ix8gkmFAeFmFsEMTg_9_0"></a><a id="Tc_AqrnnBs96U6Kb40kIZDK1g_9_4"></a><a id="Tc_bz2_n_PtXUCksvaWIusg1g_10_0"></a><a id="Tc_PBfPkm1TCUWQl78XYbocHA_10_4"></a><a id="Tc_t_h1-xeaKEOg-Jfg9vD5Cw_11_0"></a><a id="Tc_tbY__UeD_E2XdgWYUQ2Y1A_12_0"></a><a id="Tc_P_OGb_U5C0ObCEOrk1vHGg_13_0"></a><a id="Tc_DnQnLPzkiUiLLlkwx2cAwQ_15_0"></a><a id="Tc_AoJsSN17XUqUZA3bmafR-A_18_0"></a><ix:continuation id="Tb_D1RC5z9fsketDITiHfOjVQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_JBKQPwP_0EG_4VnIp6T8sw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2021, maturities of operating and finance lease liabilities were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year Ending December&#160;31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_djxJkm6cd0WFWSr-18V8rQ_5_2">12,768</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc__nchFPGnvUqV79YLRRx2bA_5_4">20,381</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueCurrent" scale="3" id="Tc_esqmQ6QwPkCGMEtDtzVizQ_5_6">33,149</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_zKvHT6tV6ESHev2O3F-5DQ_6_2">7,941</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_EuS9qiRKhUu9X20soNQeHw_6_4">17,052</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueInTwoYears" scale="3" id="Tc_VUFQshR6REqemrDpy3ga1g_6_6">24,993</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_12HxCUHKg0S3ae3Cy_Nv0A_7_2">4,833</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_YSDEJFVEjECLbZSLwi9Zug_7_4">16,272</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueInThreeYears" scale="3" id="Tc_TqMTX4C9T0akcN3w58QNsQ_7_6">21,105</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_1Yi1jb1_t0qcs1nYlXjmYg_8_2">1,880</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueInFourYears" scale="3" id="Tc_FMGuoMLJIEWz8x_a7KnrdA_8_6">1,880</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" id="Tc_l7rzc9b0q0uzDVoD_a2EmQ_9_2">2,398</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueInFiveYears" scale="3" id="Tc_2FeLv_I5SECer6rCYGC4bQ_9_6">2,398</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_YcfXEaufSU2HMQMuI1zs3Q_10_2">10,651</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueThereAfter" scale="3" id="Tc_M2N6IHh3eUWAn5QjSKbM7A_10_6">10,651</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_2uYEv1iAFka38qd8OuZKAQ_11_2">40,471</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="3" id="Tc_sJTCeK5PJ0e2TTyyqMOHSQ_11_4">53,705</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDue" scale="3" id="Tc_0QmA0Nsfj0Cp6wX5g9Kx9w_11_6">94,176</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_Bj6l2xF-TUKIfL0wjceWaw_12_2">5,071</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_-recpoMLX0G6jFvun1nWCA_12_4">3,552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumPaymentsInterestIncludedInPayments" scale="3" id="Tc_i2cxvSwTyUOCnu2yrowq1g_12_6">8,623</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">NPV for future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_7Skd9nXW2EaxjC8zwYKHDQ_13_2">35,400</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_9tZfwUAP70CTTnDHJcLc0Q_13_4">50,153</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" scale="3" id="Tc_dVS2mdLeHEy3s7rDlx_14g_13_6">85,553</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_pjP2yDi19EesMaEUIs3g4w_16_2">12,185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="Tc_8n2WVZoxP0-Iine8NY2uAA_16_4">18,749</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityCurrent" scale="3" id="Tc_MPM7lOEorEqWYC_ooZWPew_16_6">30,934</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_pDU23_o2OUmzkHy-PM2CFA_17_2">23,215</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="Tc_cwiZttC7WUuQAfOY5wZAEw_17_4">31,404</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityNoncurrent" scale="3" id="Tc_mkJEmKmpz0qeUJisbisufw_17_6">54,619</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_YtZBETqQV0KFflL4dasTrQ_18_2">35,400</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_aDow_W2gpUq6VvWpuChhcA_18_4">50,153</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiability" scale="3" id="Tc_SUvutIA8rk-yQEiiX281og_18_6">85,553</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2020, 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.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;">Operating&#160;Lease&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.64%;margin:0pt;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.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.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;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.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-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.64%;margin:0pt;padding:0pt;"><p 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.86%;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.08%;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.58%;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.08%;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%;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.64%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_badbOQ00e0iUdrxD9_JuCA_5_2">14,374</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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_ZYsT_azrvUew1CFMcocTbQ_5_4">22,706</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_N95hgjbbxkGaROxlXiWwfQ_5_6">37,080</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_KcggipphREy-OnU2AUSl4A_6_2">7,427</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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_omQrWYSz7USE2Czx-BiVgw_6_4">2,514</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearTwo" scale="3" id="Tc_ePSV80mLSEObNuDzRb0EzQ_6_6">9,941</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_hAoQx3GwXkKyG2aoRdHqyg_7_2">3,632</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:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearThree" scale="3" id="Tc_49M7AxY37UmvveHfitczvA_7_6">3,632</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_Ne6mqWHETkynXPl0cNEo3A_8_2">1,242</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: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;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearFour" scale="3" id="Tc_CDLn294qwkSKfkVuPJOrtA_8_6">1,242</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" id="Tc_O4IEOTZyZUKWP31_P1M2OA_9_2">369</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:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearFive" scale="3" id="Tc_D12o0RoLAEah1agFGoQ8Dw_9_6">369</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;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.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_7MuYFdHpkk-DMHYlf89SwA_10_2">1,859</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:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_B94pWJI2TU-XHvZ-8GyM1g_10_6">1,859</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_5VErW8zEe0G8gU08Fb4jEA_11_2">28,903</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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="3" id="Tc_vJtxYl4H3E2r9hXGz9lG5A_11_4">25,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDue" scale="3" id="Tc_CR0BfRb03EmGX-aOmsD8AA_11_6">54,123</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_FOnh_y7zd0irV9DGlGxbjQ_12_2">467</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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_kN5wdC4hA06i8ZcH4MdF7Q_12_4">963</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityUndiscountedExcessAmount" scale="3" id="Tc_N8RbqHJLVEGxXQNFO1iw_Q_12_6">1,430</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">NPV for future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_jKFS_rbj9EeFq6j7UEIBag_13_2">28,436</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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_8vPTQX8A2UWfZi_ueOuukQ_13_4">24,257</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiability" scale="3" id="Tc_9RiKyKRsp0qb2bRtoZE05A_13_6">52,693</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#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.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: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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#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:56.86%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p 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:56.86%;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_HBHGmGHHfEuos-2dVi7JDg;"><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.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_Q9WEGxWNAU-HyCUHtFxrsA_16_2">15,204</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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="Tc_UUw10o5cAU6U49FqxbRqIQ_16_4">21,887</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityCurrent" scale="3" id="Tc_-2KJrlAaZUOeKB00yDnAJg_16_6">37,091</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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_MtGyIV6DrU6RTTlWhUYIsw;"><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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_QptIa5oVrkuo80Nf8Bhm4w_17_2">13,232</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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="Tc_hMHZgbsbj0WUMwBSevR9Pg_17_4">2,370</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityNoncurrent" scale="3" id="Tc_0WM86SxFJkWNxYECeuNJyw_17_6">15,602</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_W9zwRcinY0eust0QOFbwZQ_18_2">28,436</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_Ux749Z4E70ivsQE4UTrIZw_18_4">24,257</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiability" scale="3" id="Tc_fHKex_KFB0GWE532udkexg_18_6">52,693</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-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div 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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;min-height:11.5pt;"><a id="_480158fb_ecdb_4dc3_aad6_a978273b00b8"></a><a id="Tc_Lfd8Am9_RUyOx9C3BSkRLA_1_2"></a><a id="Tc_Im4qW1G8jEiel3TpwSU8Ig_1_4"></a><a id="Tc_BOaM4Y-EVUu2VX-CC40D8A_2_2"></a><a id="Tc_ZFr6iyP0HkuDE7tQVg6Xmw_2_4"></a><a id="Tc_nN_56BOHekuQ4310POYIHA_3_2"></a><a id="Tc_hIuE7tw7qU6cHgpfSc28yA_3_4"></a><a id="Tc_ePVKRJDHqk67ZzYSECzxBQ_4_0"></a><a id="Tc_GbO2eBwzNE6jXNvftlGV0w_5_0"></a><a id="Tc_QO0ObtMBDkmmnbbmNvwqMQ_6_0"></a><a id="Tc_CflpSQCJSEahKDZOsgD_wg_7_0"></a><a id="Tc_rynYhDb0-kChp3yMqr-zYw_8_0"></a><a id="Tc_JvUc_Wgb7kCfuqO9yiN-gw_9_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:DebtDisclosureTextBlock" id="Tb_bCtU_6o01kiY045jY6FrUQ" continuedAt="Tb_bCtU_6o01kiY045jY6FrUQ_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;margin:0pt;">Borrowings consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfDebtTableTextBlock" id="Tb_XSXeuxa-nUy3KNxQ9F6YWQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermBorrowings" scale="3" id="Tc_asNLzA_0YU-HDNWU6_HsGA_4_2">912,549</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermBorrowings" scale="3" id="Tc_BRdvvptl1UGZLN_mS81E2w_4_4">1,092,329</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings, current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_ciwGObDGD02IlE9fZb63Hw_5_2">289,736</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_J-yRvTF8CUCub8LJa7Cxrg_5_4">178,886</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings on project assets &#8212; current<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssetsCurrent" scale="3" id="Tc_S5a1W9pmN0-OtC8KDVgdtw_6_2">198,794</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssetsCurrent" scale="3" id="Tc_ENwu0NDLXEmlkvJxSCQDVQ_6_4">321,655</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtCurrent" scale="3" id="Tc_X5SeGRplIk2sDMXCOSZVog_7_2">1,401,079</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtCurrent" scale="3" id="Tc_lWFlJK9eFEO66VgP_btmFw_7_4">1,592,870</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_CaSeVf05qE22JnKa8hRkWg_8_2">446,090</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_Cx2eTXzvcUGkU0WogPUWSA_8_4">523,634</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_33W5VfO3ZES-Rzwf2ps7Ww_9_2">1,847,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_3Z3i_UQqa0-QtQ-KjmNkIA_9_4">2,116,504</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;">Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</span></ix:footnote></td></tr></table><div style="margin-top:6pt;"></div></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, the Company had contractual credit facilities of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_o-wDU8Rfz0S-5wBoZc_Cpg"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_iHXrc6fmQkCbY2wstgWwzQ">3,357,009</ix:nonFraction></ix:nonFraction>, of which $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_4H0x_QbG-EOBzBZAyJxuEQ">1,595,684</ix:nonFraction> has been drawn under borrowings and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdditionalAmountDrawnOfUnderBorrowing" scale="3" id="Narr_owkz9P9vK0Gm9GtQrao2WA">511,700</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="3" id="Narr_VQv0FlVSfkG3cYieFcu8mQ">1,249,625</ix:nonFraction> was available for draw down upon demand. In addition, as of December 31, 2021, the Company also had uncommitted credit facilities of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_-zJWEog1M0yehDRrYOL62Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_WNmrPho-rEaKwqPy2ZNDMg">962,564</ix:nonFraction>, of which $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_CAOyA5KI50-WJi9PDkIBWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Narr_lqzRPjkRbEeuA_bsWgE_gQ">375,963</ix:nonFraction> has been drawn under borrowings and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_BqGJfzSJp0S8t-SIU8qo0w" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdditionalAmountDrawnOfUnderBorrowing" scale="3" id="Narr_tvkWN3OWhkCBN-qgeALMIw">250,321</ix:nonFraction> under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. As of December 31, 2021, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_YhZlUnWfVESR2FRwiMXvHg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_Js5sHvsgb0OlMvsh6wWdkw">514,756</ix:nonFraction> of the Company&#8217;s borrowings under its energy business were non-recourse in nature.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredDebt" scale="3" id="Narr_GA21s60nZ0-4L9sXTwpudg">1,348,352</ix:nonFraction> were secured by property, plant and equipment with carrying amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_fpPmUFuuzEeHCLqzq0AOgQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" scale="3" id="Narr_zp13s0RSjEqZbtAapRVl6w">417,055</ix:nonFraction>, inventories of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_fpPmUFuuzEeHCLqzq0AOgQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedInventory" scale="3" id="Narr_RHhkuiHEw0mlsqT_9xHe-g">163,910</ix:nonFraction>, prepaid land use rights of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_fpPmUFuuzEeHCLqzq0AOgQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" scale="3" id="Narr_FFb8QiISuEiiZHvshdGlAg">52,253</ix:nonFraction>, restricted cash of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash" scale="3" id="Narr_gNhFNDIz90ObN_cD3Jom2Q">67,031</ix:nonFraction>, accounts receivable of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable" scale="3" id="Narr_6qPF80940ECDudOuTS0qPA">32,481</ix:nonFraction>, equity interest of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedEquityNotSeparatelyReported" scale="3" id="Narr_UGZY8Mq4o0O7UY7nmGVtmA">348,238</ix:nonFraction> and project assets and solar power systems of&#160;$<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsProjectAssetsAndSolarPowerSystems" scale="3" id="Narr_AKDWWlZsTU6HPH4TVcQ92A">682,136</ix:nonFraction>. These borrowings were recorded as short-term borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:SecuredShortTermDebt" scale="3" id="Narr__ATjkcoQJ0K0qV5BAzKUKw">596,484</ix:nonFraction>, long-term borrowings, current portion of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLongTermDebtCurrent" scale="3" id="Narr_jq6I8ZG09kOMassmTjq32g">98,949</ix:nonFraction>, long-term borrowings on project assets &#8211; current of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredDebtCurrent" scale="3" id="Narr_vUjGUPiEWUG6JNcJJvrbZw">318,506</ix:nonFraction> and long-term borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredLongTermDebt" scale="3" id="Narr_tYh0UlLevk-sd_mEQBdWnw">334,413</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s significant borrowings during the years ended December 31, 2020 and 2021 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_FEMhfvtnmEmeODvi6CHTEA" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_w0lyKyfP1Ea_JZKGHTk5nA">three-year</ix:nonNumeric> loan facility of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Lk33d0wmkUOf604JayASmA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_0bXFB6YJJEyHmPQISkp7bQ">9,600,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Lk33d0wmkUOf604JayASmA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_ZhnGTGPH_kyKrvFZ5hXxvg">85,200</ix:nonFraction>) with Sumitomo Mitsui Banking Corporation (&#8220;SMBC&#8221;), acting as the lead arranger and <ix:nonFraction unitRef="Unit_Standard_Institution_wep2g2lCNUqkNn8TlaitpQ" contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FEMhfvtnmEmeODvi6CHTEA" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfOtherParticipatingFinancialInstitutions" scale="0" id="Narr_XaxkkBqkpkajVOtYRmUVJg">13</ix:nonFraction> other participating financial institutions. The facility is unsecured and is guaranteed by the Company. The loan proceeds may be used to develop its solar project pipeline in Japan and for general corporate working capital purposes. In October 2020, the facility agreement was renewed with <ix:nonFraction unitRef="Unit_Standard_Institution_wep2g2lCNUqkNn8TlaitpQ" contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_PrQ9s49HoUuMYOhDU8gRoQ" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfOtherParticipatingFinancialInstitutions" scale="0" id="Narr_CxH_mFw_A0mp-xaGDvIQ3w">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_PrQ9s49HoUuMYOhDU8gRoQ" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_r47Aca-2CEup_Ice8fYR2w">two years</ix:nonNumeric> and a facility amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_QnJcDuRnN0qQ4mshUIcLxQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_37SYjAheSE6AYkNqjVsmpA">9,100,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_QnJcDuRnN0qQ4mshUIcLxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_kGpknlgugUmQ-KEGQR41pA">88,200</ix:nonFraction>). In September 2021, the subsidiary further expanded the facility to JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_DghxPgZC3U2aDHINY81HdA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_nWSq5RPQLEyRonInj9ev3Q">10,000,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_DghxPgZC3U2aDHINY81HdA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_1Xe5fuszUE-ZnX8E6Xgc4g">89,859</ix:nonFraction>) and the facility will mature in September 2024. As of December 31, 2021, the loan was fully drawn and all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">In 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd.  obtained a </span><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_aUfnUcGUyUKE224FJqeGwA" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_6q1todPB60-OxFTdmurwzg">five-year</ix:nonNumeric> syndicated credit facility of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_BtAWqe6MiESMmXXMetgJ-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_oQQoKT7sR0GGIx8vK6CoRQ">188,000</ix:nonFraction> with the Siam Commercial Bank Public Company Limited (&#8220;SCB&#8221;), acting as the lead arranger and China Minsheng Banking Corporation Ltd as one of the lenders. The facility is guaranteed by the Company. Under the same facility agreement, the subsidiary obtained a working capital facility of THB<ix:nonFraction unitRef="Unit_Standard_THB_gtUN5SeDzE-Mb6_3THBBTQ" contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_l6A5P82JtEe3WfB_SRTpkw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_-U_gVJ39ekG1HKwELuNjOA">3,540,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_l6A5P82JtEe3WfB_SRTpkw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_NbtKFLcSHEyX16bIvZRH4Q">106,729</ix:nonFraction>) from SCB to support the operations of its manufacturing company in Thailand. As of December 31, 2021, the long-term loan outstanding balance was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_Mu9HX167IU2niK97OnGCeQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_5pfZFdJcNkiwLpUJJHSzXw">61,506</ix:nonFraction> and the outstanding balance of working capital facility was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_2kQ-mKKmTke2K6A9v1gyYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_vrmShEtr20KtVuJibxvOWg">103,487</ix:nonFraction>. As of December 31, 2021, all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Recurrent executed a $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfDevelopmentLoan" scale="3" id="Narr_yMlFtVLOgk2d7XgMiMScRg">75,000</ix:nonFraction> development loan with Nomura. The loan facility leverages Recurrent&#8217;s pipeline of solar and battery storage projects in the U.S. and Canada and is guaranteed by the Company. In November 2021, the facility was renewed with an extended amount totaling $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_11_30_2023__tY0T467tUiQCpIpuxU5lA" decimals="-3" format="ixt:numdotdecimal" name="csiq:TotalAmountOfMatures" scale="3" id="Narr_Llac_8BaQ0GnJfQ2YfWTJA">125,000</ix:nonFraction> that matures in November 2023. As of December 31, 2021, the loan was fully drawn, and all the requirements of financial covenants were met.</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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_9v3UXFcutUGJ3bPjFNDYHw_1_0"></a><a id="Tc_RQ0YEEC_-kGwfVjB1Smwtw_1_2"></a><a id="Tc_Cuxdc8xtj06jgr54jQaeoA_2_0"></a><a id="Tc_KKjvT7mhX0Om6ttn3Zj08A_3_0"></a><a id="Tc_F35inlaO5kmquw0PbW5oSg_4_0"></a><a id="Tc_qyAzaJZP4U-JYP1oRnIcFg_5_0"></a><a id="Tc_PDPJhBujxkaGaTyg1eYX9A_6_0"></a><a id="Tc_E8qO7hC_Tki86v-j6xuueQ_7_0"></a><a id="Tc_jD5BxaBipEODhX3XC6egfw_8_0"></a><a id="Tc_vO-eQvaF6Uqv2i3i_lfG3g_9_0"></a><a id="Tc_NBFS0EJeF0ewoWA6Kj_TVw_9_2"></a><ix:continuation id="Tb_bCtU_6o01kiY045jY6FrUQ_cont1" continuedAt="Tb_bCtU_6o01kiY045jY6FrUQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd. obtained a syndicated <ix:nonNumeric contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_QPXBOu5fkUaxFeGjzZH6sQ" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_yHrcCcFpykm1CrqjdmXpvw">five-year</ix:nonNumeric> non-recourse facility of AUD<ix:nonFraction unitRef="Unit_Standard_AUD_aYlja-s--0aCbuIQJhwE5A" contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_zOFbBprUrUGY8rwoWeAq9w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_2jDPgA0u7E-F6uT0aqhpdQ">289,419</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_zOFbBprUrUGY8rwoWeAq9w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_QNakXm1xXUqjBA22AvXlig">206,022</ix:nonFraction>) with Australia and New Zealand Banking Group Limited acting as the facility agent and <ix:nonFraction unitRef="Unit_Standard_Institution_wep2g2lCNUqkNn8TlaitpQ" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_QPXBOu5fkUaxFeGjzZH6sQ" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfOtherParticipatingFinancialInstitutions" scale="0" id="Narr_CYZUHqoOGUOP6ByVUTyKnQ">3</ix:nonFraction> other financial institutions, to finance the construction of the Suntop and Gunnedah Solar Farms in Australia. The facility is secured by the project assets and will mature in 2025. As of December 31, 2021, the outstanding balance was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_g9thuX8JTE6AThgixMUOjA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_wluyJzqlAkW5d8dMuEzXHg">154,027</ix:nonFraction> and all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February 2021, Azuma Kofuji Daiichi Hatsudensho G.K. obtained a JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_Yp0h0VLO1kyhPd2laRNnXw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_0yakZkLp6ECEIaWxpFiNZw">24,513,530</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_Yp0h0VLO1kyhPd2laRNnXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_Laiw4KrufkqzNFSqf4O-sw">230,759</ix:nonFraction>) project finance loan facility with Nomura Capital Investment Co., Ltd. acting as lead arranger and other participating financial institutions. The facility is for construction of the 100MWp Azuma Kofuji project in Japan. The project finance loan is secured by project assets and will mature in November 2023, As of December 31, 2021, the outstanding balance was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_PyKnPSYlJ0OgZupPPItelQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_pP3Ybn9nsUmJZ-TgHBxR0Q">105,542</ix:nonFraction> and all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In Mar 2021, four Japanese subsidiaries issued JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="As_Of_3_31_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_CQz9aYoigUOXY2YQfiJLQA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_MVko8iwRmUaKpgDFEFoyQg">8,100,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_6_30_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_sRfPiB6HOUea9322YBIc8A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_Ru0OGgjplUmE9u1n-3Stug">73,167</ix:nonFraction>) of non-recourse green project bonds to construct 42.8 MW of projects in Japan. The project bonds are secured by project assets and will mature in 2039.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April 2021, CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc. entered into <ix:nonFraction unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw" contextRef="Duration_4_1_2021_To_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_NcheskuvekWV2WdPDcctKw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfLineOfCreditFacility" scale="0" id="Narr_4S_Ps8Vf8kyClP4fEWxDsw">two</ix:nonFraction> credit facilities in the aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="As_Of_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_DRVkejT-HUqvBMMQ3fNAIQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_IMlUwkyLkEO5_YtqjSoiDw">1,150,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_DRVkejT-HUqvBMMQ3fNAIQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_RXV-bkEx7UOBQ_2LMV6Phg">177,820</ix:nonFraction>) with Bank of China to support manufacturing operations in China. CSI Solar Co., Ltd. is the borrower or guarantor of these credit facilities and the credit facilities mature in March 2023.. As of December 31, 2021, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_O9B-vl1P30qBieeFTysfIg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Narr_hUHzLGgpgE6rxKgjkvJT2Q">135,008</ix:nonFraction> was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In August 2021, Canadian Solar Manufacturing (Changshu) Inc. entered into a RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="As_Of_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_vPdJhM_tVUW-1_7r-ycEpw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_eexXgFhRcU6wNUsERcku6g">600,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_vPdJhM_tVUW-1_7r-ycEpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_HRBz72lQH0CO_Jdu-hzMjA">92,766</ix:nonFraction>) <ix:nonNumeric contextRef="Duration_8_1_2021_To_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bLUGEiEC3U6MotjtmLk4ew" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_Yo8vLG6CpUSPdiDXU5DCjw">one-year</ix:nonNumeric> credit facility with China Merchants Bank. The credit facility is unsecured and is guaranteed by CSI Solar Co., Ltd and matures in August 2022. As of December 31, 2021, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ytrnuOWe9k-4pqxQnXLegQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfDebt" scale="3" id="Narr_HFWeZWjTXkSfAw2V7oWZCA">62,333</ix:nonFraction> was drawn, and all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November 2021, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.) entered into a RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_HMemPwh2dUC1uU3BDI5_qQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_6-mwqa2cXUqWxRpUuVbJXg">580,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_HMemPwh2dUC1uU3BDI5_qQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_qvm0Z48FVUaHc9SJL78luA">90,918</ix:nonFraction>) long term loan facility with Shanghai Pudong Development Bank. The loan facility is secured by certain property, plant and equipment, guaranteed by CSI Solar Co., Ltd., and matures in November 2028. As of December 31, 2021, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_kQB-djhflUWo1A_Fv4UBYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfDebt" scale="3" id="Narr_LI4rftRZDUmWvWVx7bF8sw">7,387</ix:nonFraction> was drawn. As of December 31, 2021, all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">These obtained long-term borrowings mentioned above bear effective floating interest rates from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtWeightedAverageInterestRateOverTime" scale="-2" id="Narr_3HOMJtlRUU-Hs0s_jzN-vA">1.0</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w" decimals="3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtWeightedAverageInterestRateOverTime" scale="-2" id="Narr_PTs3udyFcESZ9K9NCCHiLQ">5.7</ix:nonFraction>%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Future principal repayments on the long-term borrowings are as follows. Included in the future principal repayment of 2022 are $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Narr_3l_Ai6TBNUC84NW5Y-jlJA">321,655</ix:nonFraction> of long-term borrowings on project assets &#8211; current, associated with certain solar and battery storage projects that are expected to be sold within one year:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" id="Tb_W2elUtXVfkiOfEvxbB0Zkw" 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;">2022</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Tc_FQK5Au0Hf0aNq8WjxFcZdA_1_3">500,541</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;">2023</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" id="Tc_-M0vY--MEUae78ExEqgSHg_2_3">336,504</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;">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;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" id="Tc_S1ZLiXMO5kaHwZ1Qm21Kew_3_3">160,043</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;"><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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" scale="3" id="Tc_9S-kNGmsgki_jRP0H6uM1A_4_3">6,822</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" scale="3" id="Tc_7gd_PL3-ZE6XTF1xfcI0Gg_5_3">4,783</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" scale="3" id="Tc_s3eITLQaz0SILn0XPcbo-w_6_3">15,482</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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_HPUMiTJIoEy5leb3BHcYsQ_7_3">1,024,175</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;">Less: future principal repayment related to long-term borrowings, current portion</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%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LoansPayableCurrent" scale="3" id="Tc_NbHAHXPnREyqBIqxmTU9CQ_8_3">500,541</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 long-term portion</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;"><span style="visibility:hidden;">&#8203;</span></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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_pHhHl_Ei5UeWP9B9L3K8pg_9_3">523,634</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_GsM2ikHfXUm-EApc8PSsqg_1_2"></a><a id="Tc_Z3i5SeWJZES3bczUTv2_qA_1_4"></a><a id="Tc_CI_wL0pZz0utdah_0JvFng_2_2"></a><a id="Tc_VnIAGkUm-k6eW905MkpDyg_2_4"></a><a id="Tc_aw4pZYxb7EC43-aFgjhVEQ_3_0"></a><a id="Tc__8J3H5NJ-kGLGvFKahawgg_3_3"></a><a id="Tc_W-gszjDKjUmjJNJ2FNPitg_3_5"></a><a id="Tc_tIhspll3pka0sw2m4_hfjQ_4_0"></a><a id="Tc_sQUs3CflLkyoIdpFbIEqow_4_3"></a><a id="Tc_K4GQ58vBHECHec7-CQoW1A_4_5"></a><a id="Tc_XOHMwCaEd0qMNaC1WdFdTg_5_0"></a><a id="Tc_Up0xnrD8MkipT8RuhbaEHA_5_3"></a><a id="Tc_xqCfSe5XPkyD849eAUybFg_5_5"></a><a id="Tc_2vpNjxXE8UKvO-LnTVKGXg_1_2"></a><a id="Tc_PvIZl0VMHUKHfiyorQcizQ_2_2"></a><a id="Tc_Lw-H09L-b0KAgzFyK24UPw_2_4"></a><a id="Tc_mSSrzO3I6Em9Wk8arwnWOA_2_6"></a><a id="Tc_1phUkLuuykaD3UmujBD_xw_3_2"></a><a id="Tc_NJXNQwyLtEqSEq2HlE1Q7Q_3_4"></a><a id="Tc_1sZHbT4evEemPhFgaTmGcg_3_6"></a><a id="Tc_r6qbUNZ0QEecMPQROhI2yw_4_0"></a><a id="Tc_je23EnEuQUC2sBDex9xuLA_5_0"></a><a id="Tc_yhde7_Xjo0Wing6K47MCJQ_5_6"></a><a id="Tc_aHDuf7CcZkSVYhjc_tAgXA_6_0"></a><a id="Tc_AAiv8HAuL0iINgF0T1R0Zw_7_0"></a><ix:continuation id="Tb_bCtU_6o01kiY045jY6FrUQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest expenses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Average effective interest rates on borrowings are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfEffectiveInterestRatesTableTextBlock" id="Tb_jxv4eP80RUOxqo8xW7esog" 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.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.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.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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.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.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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</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.16%;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.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:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_ffqGOHYbFEO3lmbyWzY08g" decimals="4" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_Wp5yPTYkRUyc4BlK_7crpQ_3_2">3.26</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_c5usO8WML0SuBgfm2wCpcw" decimals="4" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_USRzmGOihE2kpvo_hijO0g_3_4">3.03</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.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings on project assets &#8211; current</p></td><td style="vertical-align:bottom;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:11.32%;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_aDAFYcJcC060ov2KS-jGbA" decimals="4" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_zpL9zQI0c0m8uvMo9gA6lA_4_2">3.63</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ysFsDqf0TUa393F1bFQMow" decimals="4" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_zCGeu05Enkq98in64Q3Z0g_4_4">3.04</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><tr><td style="vertical-align:bottom;width:71.16%;background:#cceeff;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.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:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="4" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_auLZ-GEsZkGXPo-nb7H0rg_5_2">4.37</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="4" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_4v_jVZIqA0yJA0dY_9sxbw_5_4">3.46</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></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 solar and battery storage projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2019, 2020 and 2021 are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ScheduleOfInterestExpenseTableTextBlock" id="Tb_cLBJOP-3XkODHoh0G3ha4Q" 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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">2021</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_k1editrbaUS9d60ONUsZrQ_4_2">10,794</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_OK4jRrQGSUGIu-jKAr_cYA_4_4">10,197</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_EM2aM2Ko70CBQLb-YIrKHw_4_6">17,316</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; property, plant and equipment</p></td><td style="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedPropertyPlantAndEquipment" scale="3" id="Tc_y3GWod-jwkOZtiG9_VsFCg_5_2">2,620</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedPropertyPlantAndEquipment" scale="3" id="Tc_gzYuSRJSkEiqxUI5a2opKw_5_4">154</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;"> &#8212;</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 expense</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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_k4hQg4tIJEyZYAx9Bk0LYg_6_2">81,326</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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_uz-G3ycREUOclU-aPXdeyA_6_4">71,874</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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_58gOEiaFAkiVagw-E1FUmQ_6_6">58,153</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;">Total interest incurred</p></td><td style="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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_jK0BjMZNfk-IrulvWZFiTw_7_2">94,740</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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_JXvbQJGu4k6yy3ch7luMOw_7_4">82,225</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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_JT5zlxwcNEucuTIg8Bo1-w_7_6">75,469</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ShortTermNotesPayableTextBlock" id="Tb_iQLokmKqJkes8eeednvORA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">14.&#160;SHORT-TERM NOTES PAYABLE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company enters into arrangements with banks whereby the banks issue notes to the Company&#8217;s 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 banks&#8217; settlement of the notes. Given the purpose of these arrangements is to extend the payment dates of accounts payable, 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, 2020 and 2021, short-term notes payable was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Narr_JvDzVHy1YEydtNBKIYmSkA">710,636</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Narr_VfRyrlUxXUazyBXkTWMEPg">881,184</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_7XIP53olEkuTVcmIvpIaQg_1_2"></a><a id="Tc_PcOz3rnBdUe5AmUkMnOmbQ_2_2"></a><a id="Tc_mMmeeQZDj0upwWhsjI0HlQ_2_4"></a><a id="Tc_KYCJOf52cUS5gc9qAi_sRA_2_6"></a><a id="Tc_AdmxjpicMUahNHdUOieMNw_3_2"></a><a id="Tc_2EIbj5-crEGFSmqa1IQZ3Q_3_4"></a><a id="Tc_RY3akvrGlkWIwvIrAfluSQ_3_6"></a><a id="Tc_3-Lpz8pUDkSgluDSSzZEIg_4_0"></a><a id="Tc_SayF3Ql04UKQPhDW6f8Hrg_5_0"></a><a id="Tc_EBWVGZQOY0KbVaMDZPs1hg_6_0"></a><a id="Tc_MEoS6O42BUCH6yC6FrOobg_7_0"></a><a id="Tc_HJ88Pxz9b0uEsSI7-d8wfQ_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="Tb_rtzd-7aaTku17cLHzpL91w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">15.&#160;ACCRUED WARRANTY COSTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s warranty activity is summarized below:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="Tb_I5aYu-znkEuIuHz8PCteBA" 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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">2021</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;">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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_IpYBBGYFPk6zNM6mc2ixQg_4_2">50,605</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_uJ2YkIPJyU-AkS_W89022w_4_4">55,878</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_EGkng_6k6k-O4Q6ZvrXVqA_4_6">37,732</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_dwpImNCZmUq5KgTpXtFQcQ_5_2">28,044</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_hNEeiRsWVU6aHjdQqUOhLg_5_4">26,931</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_J3OdAUSTeka9_wZ2Izmymg_5_6">45,053</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_BVMZN1rD4E-S9gLd7qsTCA_6_2">23,282</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_TY5e-TxcBEOVvLHv7_yyKg_6_4">46,067</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_PayPsNuN7EaPBJswthvwqg_6_6">35,432</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" scale="3" id="Tc_XZlrrKiiF0OtPuEC4qgzBA_7_2">511</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" scale="3" id="Tc_8BLgiFIL8UK2-r_xj-wKnQ_7_4">990</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc_8zi0xaZOxE2yEpqTFR8CDw_7_6">2,207</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_GAaQ6L4-fEa4eHBExAQGMw_8_2">55,878</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_Fiq2uqlwCEeqK5N4CBO0zA_8_4">37,732</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_qLPX2h1AJ0SHrvE6kvAyxw_8_6">45,146</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div 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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:RestrictedAssetsDisclosureTextBlock" id="Tb_T1gnogHsFk6PDX_qwZW9MQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">16.&#160;RESTRICTED NET ASSETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As stipulated by the relevant laws and regulations applicable to PRC&#8217;s foreign investment enterprise, the Company&#8217;s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (&#8220;PRC&#160;GAAP&#8221;) to non-distributable reserves, which include general reserve, enterprise expansion reserve and staff welfare and bonus reserve. The wholly-owned PRC subsidiaries are not required to make appropriations to the enterprise expansion reserve but appropriations to the general reserve are required to be made at not less than <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="2" format="ixt:numdotdecimal" name="csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" scale="-2" id="Narr_Wdxp-WRRhEe0nktK6MqqkA">10</ix:nonFraction>% of the profit after tax as determined under PRC GAAP. The board of directors determines the staff welfare and bonus&#160;reserve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The general reserve is used to offset future losses. The PRC subsidiaries may, upon a resolution passed by the stockholder, convert the general reserve into capital. The staff welfare and bonus reserve is used for the collective welfare of the employee 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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="3" id="Narr_v6-ZJqGFiUuC286VK_uoiQ">602,460</ix:nonFraction> as of December 31, 2021.</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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:ConvertibleNotesDisclosureTextBlock" id="Tb_w-BTlz8OB0eYKZeZVZjXDw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">17.&#160;CONVERTIBLE NOTES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 16, 2020, the Company issued $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromConvertibleDebtInitialIssuance" scale="3" id="Narr_ACdzrKUImUy7suY8JIZ75A">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_uPzxIlNQa0apfrCorfacCA" format="ixt-sec:durday" name="csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" id="Narr_z5YHmhtoakGp6EBnr62YzQ">30</ix:nonNumeric>-day option to purchase up to an additional $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromConvertibleDebtAdditionalIssuance" scale="3" id="Narr_wYkA1IH9cUmT5tsQfCCd9Q">30,000</ix:nonFraction> aggregate principal amount of the 2020 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2020 Notes are described as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Maturity date.</i> The 2020 Notes mature on October 1, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest.</i> The 2020 Notes holders are entitled to receive interest at <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_thnJXXgtjUKzYqPbUNTzoQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_P53nMRqT9UWzWPtf1cWXfQ">2.50</ix:nonFraction>% per annum on the principal outstanding, in semi-annually installments, payable in arrears on April 1 and October 1 of each year, beginning April 1, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Conversion.</i> The initial conversion rate is <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleConversionRatio1" scale="0" id="Narr_YQ7_9OKawUaRVSVkhYD4IA">27.2707</ix:nonFraction> shares per $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_thnJXXgtjUKzYqPbUNTzoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentAnnualPrincipalPayment" scale="3" id="Narr_OuS9wP4rTU-UoL4uV5ic-Q">1,000</ix:nonFraction> initial principal amount, which represents an initial conversion price of approximately $<ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_thnJXXgtjUKzYqPbUNTzoQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="Narr_WDBrt8xFlUGclI7lPQHIRw">36.67</ix:nonFraction> per share. The 2020 Notes are convertible at any time prior to maturity. The conversion rate is subject to change for certain anti-dilution events and upon a change in control. If the holders elect to convert the 2020 Notes upon a change of control, the conversion rate will increase by a number of additional shares as determined by reference to an adjustment schedule based on the date on which the change in control becomes effective and the price paid per common share in the transaction (referred to as the &#8220;Fundamental Change Make-Whole Premium&#8221;). The Fundamental Make-Whole Premium is intended to compensate holders for the loss of time value upon early exercise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Redemption.</i> The Company may redeem for cash all or any portion of the notes (i) at the Company&#8217;s option, on or after October 6, 2023, if the last reported sale price of the Company&#8217;s common stock has been at least <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" scale="-2" id="Narr_gatMIvBYSk2zc8no2SmbNA">130</ix:nonFraction>% of the conversion price then in effect for at least <ix:nonFraction unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" scale="0" id="Narr__RqO-asnpEWPuAkgFymuCA">20</ix:nonFraction> trading days (whether or not consecutive) during any <ix:nonFraction unitRef="Unit_Standard_D_AKaH3pVAHUCsfp7wE-X4MA" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" scale="0" id="Narr_Iqo6qIBA6UyC1QfgNXTx0Q">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA" decimals="2" format="ixt:numdotdecimal" name="csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" scale="-2" id="Narr_SuHZ_bpP5kKXUTLiJdt5-w">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, 2020 and 2021, the carrying value of the convertible notes was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_FO5MJcP4O0GDffwYtuZ2NA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Narr_AQKL7rqrmE-aa6iCtGIJZw">223,214</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Narr_nVSDwRADFEuWi2njqfF01Q">224,675</ix:nonFraction>, net of unamortized issuance costs of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_FO5MJcP4O0GDffwYtuZ2NA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsGross" scale="3" id="Narr_Y2J1qxAk6k2EN_tJ5dhZ5A">6,786</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsGross" scale="3" id="Narr_Kiy1LoO_O0KGQBHkNphR_Q">5,325</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_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" id="Narr_FDYUqYZRCk6q2HK23qrUZQ">3.18</ix:nonFraction>%. The amortization expense was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Narr_p0sqk9_Nxk6UOstb-OZvWA">388</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Narr_bf8O1lOKj0O-f1b0xmvnbw">1,461</ix:nonFraction> for the years ended December 31, 2020 and 2021, respectively. Coupon interest of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" id="Narr_6d6nsIiq8UOxVGUFeZqzbA">1,677</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" id="Narr_rGidu_eovEqcLNgGTpzI9Q">5,750</ix:nonFraction> was recorded for the years ended December 31, 2020 and 2021, respectively, of which $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_FO5MJcP4O0GDffwYtuZ2NA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPayableCurrent" scale="3" id="Narr_ajyCVuqGrEGiX7MlDTU-vw">1,677</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPayableCurrent" scale="3" id="Narr_ExQYvI-J4EmJTw-SbfxfGQ">1,438</ix:nonFraction> was not paid and was recorded in other payables on the consolidated balance sheets as of December 31, 2020 and 2021, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_0CKKI5NWYUWLSaTRsp9s6Q_1_2"></a><a id="Tc_Cj1trvwErUKXFrtq6yIvaQ_2_2"></a><a id="Tc_9si0p3HLUEGsPu4-r9ThYQ_2_4"></a><a id="Tc_B34JaTDCOEGpHP0fmvJ2gA_2_6"></a><a id="Tc_bJIL-aQ_QUaIHsnxFpRhAA_3_2"></a><a id="Tc_3SBlkHzBgk-_T-pEPcq50g_3_4"></a><a id="Tc_e6XwIxtWTU-tFWbI7Xo1tA_3_6"></a><a id="Tc_YJng6xSdS0-ezmutOYWafw_4_0"></a><a id="Tc_Nd2iV7d06U6_HVs6XNvNcg_5_0"></a><a id="Tc_Gf0-nRLIf0WIg1NSV3SUIA_6_0"></a><a id="Tc_KNl33B7PjkauKv-C3TgiAw_7_0"></a><a id="Tc_XU9eD8Dk10CyCZ8r6gUIaQ_8_0"></a><a id="Tc_AvA52_MzM0mKhs3wI1O2hg_9_0"></a><a id="Tc_4PCDc-gU402o3kSPXaeGkg_11_0"></a><a id="Tc_hz1tRaSUVk2QftLpvYDvlQ_12_0"></a><a id="Tc_8RehwfHbNUOjQ_0kA2xL8A_13_0"></a><a id="Tc_ni_yVoNpeUSv0gRyzgm5vA_14_0"></a><a id="Tc_YKmfpskBQkifO2vjr3Ikmw_15_0"></a><a id="Tc_bqUCRYsmDUqDieQ0hcWtnw_16_0"></a><a id="Tc_1gyKi2dem0qokC8W2isApw_18_0"></a><a id="Tc_t1Vhh8vDGEajyaGHGFQtsQ_19_0"></a><a id="Tc_iZ-INicPL06729FwMbeNsg_20_0"></a><a id="Tc_S7PkTf5YOU6RzqLBhzZ-2g_21_0"></a><a id="Tc_npKSqsb9Jk2D8dnjEdK82Q_22_0"></a><a id="Tc_SW_S6DNnIUigc_QBEInutw_23_0"></a><a id="Tc_TgB4sfacsUyPQsPwuRcZhg_25_0"></a><a id="Tc_0mvDzJFOmkmVk06DF4J6OA_26_0"></a><a id="Tc_EwBvhCpOuUyDN_1zXO-Hnw_27_0"></a><a id="Tc_PfK33CCWB0mJAfC-CkTV9A_28_0"></a><a id="Tc_4fhdB6nykUiTsO047D0bcA_29_0"></a><a id="Tc_Tb54uaTPOk-WUBRTouFQsw_30_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_VJi92CgiqkupNmdI7fQIxw" continuedAt="Tb_VJi92CgiqkupNmdI7fQIxw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Income tax expenses (benefits)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The provision for income taxes is comprised of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Tb__7mPaQlnh02Rsd4-x5Q3VQ" 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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_gYiwFHfs4UaQbF6Zvu894Q_5_2">61,880</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_Hw54cvwHcUCsbIb3ckFGDQ_5_4">31,896</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_aibNVaUiY0aiy309eLSR_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_fR2YspBaYUOs1RvBioV9mA_5_6">5,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 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_o08YdjdHoU6EdttPptafUw_6_2">8,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_Q7-9_ZD6NEGCoBE3jqF8eQ_6_4">113,262</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_JkRKHAFxjkaQOtdb47DL4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_BHa92C65lE-yyl0tpacrZA_6_6">66,431</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc__gz4b-yxwUuU-MMmZ6t7bg_7_2">204,632</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_wMJEw7X4qEKVorGNvMVClA_7_4">189,398</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_CbqdABqQtUu35QBcOh8nrA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_hAmUhQGFAka23yu_PL-QJg_7_6">32,716</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_-zDwWg8TukmqsbU_8ETi8g_8_2">29,335</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_JyVQtLDr9kibjDi6-g42xA_8_4">50,642</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_Bp73lXxPp0KE4ondMp-wZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_4AWmxkBbcU-CNCIDvesD0Q_8_6">54,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 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_vbUdweUvBkGYsZ9IivjruA_9_2">28,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_-es1sXfxJEWgnw-FvJpMBg_9_4">50,381</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_PXjjPIfpqEKy4k-wHV7Q_A_9_6">51,313</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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_juO7RmQ3QkiJtj3hF6owwA_10_2">208,621</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_JGqlRmJJSkaVo-oBvqfqRg_10_4">145,263</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_2le-AtWkwE2Qm6mhi_Cs3g_10_6">145,720</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;">Current tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-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;">Canada</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_uD-pyR3bzkGoZC_aC-8Www_12_2">3,420</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_TLZZqqO6d0WYLLcwNR9rrQ_12_4">36,226</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_aibNVaUiY0aiy309eLSR_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_MDIvcUZjQkO49gKi2lVEIA_12_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;">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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_V2W3q46cV0Wzxd6GE5HJDw_13_2">4,803</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_kkdEefxXb02fWPcZWZeBbQ_13_4">71,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:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_JkRKHAFxjkaQOtdb47DL4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_calWWWQN_kee4_CUHKOSSA_13_6">15,937</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;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_xXz1tCP74kO0YdCoDr4tvQ_14_2">44,622</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_mpj3oRQNQEeqC_heGmNnvA_14_4">30,276</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_CbqdABqQtUu35QBcOh8nrA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_Ku8hZvI_s0OI_lh57Dvigg_14_6">47,356</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;">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_h2747Z1JSUiMNnuab3RzYA_15_2">13,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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_q7ProPU6NUeKIUgDK0JaKA_15_4">18,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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_Bp73lXxPp0KE4ondMp-wZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_ZuGD3qqSckOYwU48SmZXpA_15_6">24,047</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_A4Cmqu-ZEkq_idPtih98kQ_16_2">7,057</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_TxfoO0BEX0SzWWBE10EZrg_16_4">8,233</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_4JhcIdUgLEOZQobkl_crFw_16_6">16,865</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_0xtRox8YNEadYlKEaoJqMQ_17_2">56,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_uNY6EbJifkyHNKhLhyJZQA_17_4">22,255</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_jMxrbWjtjEe1WI7eWfiI4w_17_6">103,081</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Tl6QmDYCgk2x092jj0ebGw_19_2">6,558</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_GV1UySLF20aSswfpaeo3LQ_19_4">10,792</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_aibNVaUiY0aiy309eLSR_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_XUJpxTIlG0iPkhxZG__s2g_19_6">685</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_94axdBWcWUq9F_bhYatZyQ_20_2">2,412</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_aV0Aoi7lJkeNZa7B5RqP9g_20_4">23,173</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_JkRKHAFxjkaQOtdb47DL4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_JGkRIv5ENEGockRBtZaJng_20_6">1,604</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_DC2WfPF4wUKHk5vRx98Jpw_21_2">5,333</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_wm0oRLePJ06vqeX8ULreSQ_21_4">17,998</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_CbqdABqQtUu35QBcOh8nrA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc__GFd5miikkabYcobRhPUtg_21_6">65,017</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_uIZncyT_5kyGjWBdSEwdRA_22_2">2,953</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_oYhjljyPSEuLssLhe-WZCQ_22_4">10,571</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_Bp73lXxPp0KE4ondMp-wZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_zHLZMcPd1EqjXDfZPqQ83Q_22_6">353</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;">Other</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_TmlOlRQ0KkGw5z8uvt63XQ_23_2">2,637</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_SPAw4gKrCkmnI1hwsHNTkg_23_4">8,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_ix5XA45DqkSWavv5wz6mmg_23_6">948</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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_rozqLEBB7ESLRBwwnX5sCg_24_2">14,619</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Hux2rQcsk0mJGR8W0IGyhg_24_4">24,238</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_JaE4_hCoQ0apSLAkukeYDA_24_6">67,237</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 income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-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;">Canada</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_8lj3kbcZpE-K75j8swiufQ_26_2">9,978</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_dvX6YM52hEqNY6pHXqRC1g_26_4">25,434</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_aibNVaUiY0aiy309eLSR_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_rG3E5wRy_U6CN3MKVd6s5g_26_6">439</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;">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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_bNbg72PGqEKp5d4eP5Jifg_27_2">7,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:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_OpLpZRDSp0qJy4880jizfg_27_4">48,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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_JkRKHAFxjkaQOtdb47DL4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_xu0Da5P3R0al-pPx0DJ0Qg_27_6">14,333</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;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_AFkuYeK5DUKaDscguGdxmA_28_2">39,289</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc__3__yJgxnkqlbR_Hfj1i2w_28_4">12,278</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_CbqdABqQtUu35QBcOh8nrA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_2NxD4vATJUO8BKVEFnD1cw_28_6">17,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:10pt;margin:0pt 0pt 0pt 12pt;">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_y5PR4slK40qhtEMlcf361w_29_2">10,276</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_1wqHoTgBVEOAGyrOLVUUKw_29_4">8,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_Bp73lXxPp0KE4ondMp-wZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_cnBJsxSl7kygjvoA2_QHKg_29_6">23,694</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_FbPiUBqYYEWRDhiAb6CdbA_30_2">9,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc__opVwOr4aESAFdzCXMdEJA_30_4">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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_FEsXShZUXEC_fmVMSBnVmg_30_6">15,917</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_CrKN4ApiPUquvE2c0k8jBw_31_2">42,066</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_oBLbeAzopkmxTHx6UNdgKg_31_4">1,983</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_O8JiUlEf8EuyZpy9nnNPfQ_31_6">35,844</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;">The Company mainly operates in Canada, PRC, Japan, the United States and Hong Kong.</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_VJi92CgiqkupNmdI7fQIxw_cont1" continuedAt="Tb_VJi92CgiqkupNmdI7fQIxw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_bsz1DT4brk6DN5zvX7cU0Q" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_T8FcSkl9NkS68YHwXEhLdg"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_0xmc3gQZ9Uu8zeFyiRe9zg" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_u9hVZX4ZpE-O9vwG5HXIyg">26.5</ix:nonFraction></ix:nonFraction>% for the year ended December 31, 2019, and for the period from January 2020 to June 2020. In July 2020, CSI filed articles of continuance, or the articles, to change its jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. CSI is subject to federal, Ontario provincial and British Columbia provincial corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_I7GFRMg3CkmpUa04YRiLkg" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_0GBOLHkgpkidWwQxKTn2YA"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_HxVhzGxNi0K3W9tmJpy6Mw" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_WlUhhZnlY0OwTyqzCRbArA">26.5</ix:nonFraction></ix:nonFraction>% for the period from July 2020 through December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Solutions&#160;Inc. was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_dRHthf-xNkehrkhUto-76Q" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_cf95Uemr_k2VqAUSoHaGUA"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_QewE84cjEUq0inbSJlh9Wg" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_jAUmwdTPiUCS3DgBPfHc9A"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_k_rsqBR470aFy23qbWlHyg" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_ZAYu0HZL-UiHyhr_poiykg">25</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for all years ended December 31, 2019, 2020 and 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">United&#160;States</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_cYpYM63dL0-Xjy1PhCfLkw" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_-7sSRryxiE2rIYKF7kgilg">22.9</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_CGiVcTmlfk65XL9sEuGeJg" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_HFBCXlDKFU6mbclhvgUHXw">22.2</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pb_m7XcgckioBDX9qMhLHQ" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_dXvZws6qEEuT006nHy6ISg">26.4</ix:nonFraction>% for the years ended December 31, 2019, 2020 and 2021, 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_JAEK0QVSQkqd4axxHbZBsQ" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_K6Wu27KHYESYwAMaQB3BqQ">27.9</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_FG_WhmnkckSXzhsDuquQKw" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_1-HhJVF0qUW2BIHNu7myUw">26.1</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zBDEvqqtLUCLq3e4B-MWvQ" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_GNZVCdGxpkyZ0bDwyvfbXg">22.2</ix:nonFraction>% for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Japan</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Japan K.K. was incorporated in Japan and is subject to Japanese corporate income taxes at a normal statutory rate of approximately <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_6GQGH0x61E6qqcBodyAe8Q" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_aHST4b0CpEeXedKZb6rEQg"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_cUe_nDpciUajswTjUtFLvg" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_iYebLRw1G0uGfVURx0o4LQ"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_sT_wZDSuDEmx4AhA9puF8g" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr__ZRi-RtxMEiPuCKewjrATQ">31.8</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Germany</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar EMEA&#160;GmbH was incorporated in Munich, Germany and is subject to German corporate income tax at a rate of approximately <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_irOQK5ye9kCbxUMINrw3bA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_AmQnstjcVESC_sXsJPL8ig"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_8wnU3WkfsESCuIr0MZFQ4Q" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_lQdw6XdJuESbk-d6derFGA"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_skUu6z-cqkWCpsARnuNTcw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_8pU2BPWSrUysHv_LZyoMrw">33</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Vietnam</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 Vietnam Co., Ltd was incorporated in Vietnam and is subject to Vietnamese corporate income taxes at a normal statutory rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2016_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_fLoXV8FNc0mrp65mOByRgg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_swCeLDLUzEqMh9t3h7dkKA">10</ix:nonFraction>%. The Company enjoyed full tax exemption from 2016 to 2019 and uses a reduced statutory rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_9j2lvICjj0urOFn22UNdZw" decimals="2" format="ixt:numdotdecimal" name="csiq:ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" scale="-2" id="Narr_ni7E2QUym0Sps8IwBwsjgQ">5</ix:nonFraction>% from 2020 to 2028.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Thailand</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand and is subject to Thailand corporate income taxes at a normal statutory rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_LN_u_am-AUu6UKaJ1mjUvg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_5zpDa-5YGE6dP1DK2IWTyQ">20</ix:nonFraction>%. The Company currently has <ix:nonFraction unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_i488skE_xEmAisD_7I1pfQ" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption" scale="0" id="Narr_EITk6MuirkaaumrfivZvYg">two</ix:nonFraction> Board of Investment certificates for full tax exemption which have different effective years. The licenses both started from year 2017, one of which will expire in 2022 and the other in 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and are subject to Hong Kong profits tax at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_9ZS48Y7kskWdsocvERooUA" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_DXr-9DSNfUyhFU7fQ46nMQ"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_kHG1_D5IVEGRIaTcl-Az4A" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_TxvuY1yJw0qq-_w2gcTAnA"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_I_hTj64L206pRLv-Ckzwfw" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_JfRvZyCOgUGEqXkcrMQVMA">16.5</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The other 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;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of the Company&#8217;s PRC subsidiaries, such as Suzhou Sanysolar Materials Technology Co., Ltd., Changshu Tegu New Material Technology Co., Ltd., CSI New Energy Development (Suzhou) Co., Ltd. (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd.), and Changshu Tlian Co., Ltd. were HNTEs and enjoyed preferential enterprise income tax rates.</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_yxJkXZuSw0Wy20IE6-gpbw_1_2"></a><a id="Tc__uyE1Z3MXk6xSTTOVsKX0Q_2_2"></a><a id="Tc_4KGynaW61UeAMQc2K3ulTg_2_4"></a><a id="Tc_u4h7isy4E0uqdHaqNzu9vQ_2_6"></a><a id="Tc_06Y0x5G-PkW5sV8v32aiuQ_3_0"></a><a id="Tc_Sntld71Ql0qcjHFzpLzMMw_3_3"></a><a id="Tc_gWcCOMXda0irQgYADDnv-w_3_5"></a><a id="Tc_0H9ytlc4gEaWZmSFTaC43Q_3_7"></a><a id="Tc_hnRJbMggLEK_pjuYCDDY9g_4_0"></a><a id="Tc_Djp5L55-ZUKVICXXTSdPtQ_4_3"></a><a id="Tc_Ypb6ZuXIg0KGVvv20FvE3Q_4_5"></a><a id="Tc_6OtBvgKUcECRDm6ynw_VsQ_4_7"></a><a id="Tc_4Clt5Ex1LkeXgfR39HDWOQ_5_0"></a><a id="Tc_uMx80IfJLEqFxYfgghzEAw_5_3"></a><a id="Tc_GaK6JtqVnUibKnaFrVmgkQ_5_5"></a><a id="Tc_Azm7YvYxikSO7oiRgTxbpA_5_7"></a><a id="Tc_bWO113lq70WNYWJ3jK2JmQ_6_0"></a><a id="Tc_yoGgrdV7hEm_4N4ye-EMDQ_6_3"></a><a id="Tc_1G3NUIFHxESGMjvmmFkfjg_6_5"></a><a id="Tc_2zLhsdNre06LzAIcExm9Cw_6_7"></a><a id="Tc_usoklDb3gES-vEFknrPxLw_7_0"></a><a id="Tc_8j3gkK7Eykqgs22ML-X_4A_7_3"></a><a id="Tc_743mWYUxT0a0WGMhjFcGNw_7_5"></a><a id="Tc_6xMQV8lJg0-E4QQVM8gFbQ_7_7"></a><a id="Tc_c3FfjllCUEilgmDJ-JofiA_8_0"></a><a id="Tc_woQDyTPYOE-GF0jfLkOVtg_8_2"></a><a id="Tc_VBQXJ2oCEUW1Q68xitx9FA_8_3"></a><a id="Tc_Pz8h_TR8-EG4RX8qu0sdrw_8_4"></a><a id="Tc_nZcHPLRAfkO8kMeqyM0jWQ_8_5"></a><a id="Tc_QLtulYdO8UKCkSBJNGvw9g_8_7"></a><a id="Tc_Tkqx3kENTEy7qDrGuSPG5Q_9_0"></a><a id="Tc_ZEmZf5U_mU6wkaXvpMP3bw_9_3"></a><a id="Tc_Nke13GrANUKHJKEI2xDQ-g_9_5"></a><a id="Tc_vAkYi9scWk-KQJZ_UyIAfg_9_7"></a><a id="Tc_Gpzfc3OzI0ys51f7ezVqtg_10_0"></a><a id="Tc_fp2IR1Sk_EeGTLRfBonn9w_10_3"></a><a id="Tc_bOFRzBnsP0OBQu9RxZ94Ww_10_5"></a><a id="Tc_6Bz-Pi5rz0Kcdu0v04KpZQ_10_7"></a><a id="Tc_6Ti3Ij2m3kC16zliVs4c4g_11_0"></a><a id="Tc_7Zk5awNkG0C-T0rsHxxGKg_11_3"></a><a id="Tc_UUfkRsOyUkCKjvAQYj0_2A_11_4"></a><a id="Tc_5gH6wydV302DWLw097e1DQ_11_5"></a><a id="Tc_GWgDyYXvtkOSQ__R2TP9uQ_11_6"></a><a id="Tc_XWVBizBdfEWa1rLLK3GwAA_11_7"></a><a id="Tc_0EJNy1BMT0ezp2exb_luwQ_12_3"></a><a id="Tc_IqtMAB51skeUnbdCmDgz8w_12_5"></a><a id="Tc_qionXvrzGkaUMbCwuvALtg_12_7"></a><a id="Tc_K6lBAEE1B0OFLCIoF8Ypig_1_2"></a><a id="Tc_KnjYLefma0aLUt1x-jBZeg_2_2"></a><a id="Tc_rUdAyKP3fk6VILdwKyeNUA_2_4"></a><a id="Tc_PrEBqjYnXUCtRKAuz1KaOg_2_6"></a><a id="Tc_Bnx1of6To0OlFp4SPQfzNw_3_2"></a><a id="Tc_lTOpGUGVnkag2RHPbIHgnw_4_0"></a><a id="Tc_CaSGWQqQXEeBl4OAv1BHVA_5_0"></a><a id="Tc_dGXrpcJHEk2wZTwRaEkA3Q_6_0"></a><ix:continuation id="Tb_VJi92CgiqkupNmdI7fQIxw_cont2" continuedAt="Tb_VJi92CgiqkupNmdI7fQIxw_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">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 is as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_nuumtwtbdUKILmfsl3WPeg" 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:70.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:24.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><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Combined federal and provincial income tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_V2bSf_kMl0aqTBXkFwm0hw_3_2">27</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_jHB5qY-ITUO0nnfg9dnaqQ_3_4">27</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_r8vx_EuxpEu9Gn_m1cDnaA_3_6">27</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of permanent difference</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" sign="-" scale="-2" id="Tc_X64up4mWvU-tMMe3dPHisA_4_2">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" scale="-2" id="Tc_qacQwXT30kSyXxN7GU8zTQ_4_4">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" scale="-2" id="Tc_7j7rTULWwUSrsK5uSzMB6g_4_6">3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Effect of different tax rate on earnings in other jurisdictions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_U8_DDRowJkykN6GYqwR1Tg_5_2">3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="-2" id="Tc_DrOeJPdiaESyyWYf_rqlQQ_5_4">6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_3RSlHxHlVkGvMkwXIQVPoQ_5_6">9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of tax holiday</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_0Xs27cUkNUebF7J4XV1Ung_6_2">4</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_iIodt3hoCk-T-8DWUhPv2w_6_4">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;margin:0pt;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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_o9xePs6-bUuXM-ZCoHaoRg_6_6">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Effect of true-up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" sign="-" scale="-2" id="Tc_f2QEoVShaEW7keGUebEPIQ_7_2">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" sign="-" scale="-2" id="Tc_1BgLO-VpIE2UTlMNmHDxNg_7_4">13</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" scale="-2" id="Tc_J-YpstFin0i5Gaz2p600-Q_7_6">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Unrecognized tax provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;margin:0pt;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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" sign="-" scale="-2" id="Tc_yuy34OVp0E2h011MQkRInw_8_6">5</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_QpX8Tsn2V0qW0L6jDntpIA_9_2">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_FiJ9u17FnUynwuAuTJfSzQ_9_4">14</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_Q0J1xuku70yJU51g1IQyeQ_9_6">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of change in tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" sign="-" scale="-2" id="Tc_jJYn8GyxqE2j1LmLMEmX6g_10_2">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" scale="-2" id="Tc_XM1Qq_2gikmco8RIg7-2gw_10_4">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;margin:0pt;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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" sign="-" scale="-2" id="Tc_9R3wn3Zsh0OUUhczrtK7xQ_10_6">7</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="Tc_MeuD58CptUmB-ag-gSGcRA_11_2">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;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:6.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_NaBenSN21kCz17okXTyCxw_12_2">20</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;border-bottom: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_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" sign="-" scale="-2" id="Tc_TZLnBWqkOEuwSfum32BViw_12_4">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_y_j5tPlmGkOKCv-3qzZJqg_12_6">25</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:SummaryOfIncomeTaxHolidayTextBlock" id="Tb_eP5RUIsNX0qw9aEDWg1Thg" 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.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: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.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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;">2019</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;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</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;">2021</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:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.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;">(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:58.68%;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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_gYmtTbv9EEimFVzSMHJRzQ_4_2">7,956</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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_mYkuCPFQcU2CWorcxGnz9w_4_4">1,287</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_2E4cU4U7TUWdvZTkwJ7Swg_4_6">4,466</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;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: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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_YQjQgyuCr0iSknJpvdcYZw_5_2">0.13</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;">&#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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_qHkNhAl6C0aWfOd540c4iw_5_4">0.02</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;">&#160;</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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_dFI79g0RLUSeRtY0v-2Rbg_5_6">0.07</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;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: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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_mws6pZ9dkEeyKTXprzPI-w_6_2">0.13</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;">&#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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_bbGOKdMtEUufG12weXl0mA_6_4">0.02</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;">&#160;</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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_FLXGlIhCRkqatD-J_yeWcw_6_6">0.07</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_hFBHjtAOv0y3x0YxXB7hoA_1_2"></a><a id="Tc_7arsY9HEokav0XLP5ioafQ_1_4"></a><a id="Tc_NHVtdp-iCEW7N6GBDsU31w_2_2"></a><a id="Tc_sw-b9chouUeNrONyWMc7GA_2_4"></a><a id="Tc_xl6MVsyoUUmfh0goOFpvhQ_3_2"></a><a id="Tc__wKhsjFAREGuVr04vzePdQ_3_4"></a><a id="Tc_LOICtz-6n0G_MQkYovNVDA_4_0"></a><a id="Tc_6LzYUYNiPUaoN5F57rJL-Q_5_0"></a><a id="Tc_OjeAb1qfj0Oxovb3_cGxDg_6_0"></a><a id="Tc_CirJFL-JKEuHrInbi9qlrA_7_0"></a><a id="Tc_ykTHrTjqSUuk0aOXRH-I9Q_8_0"></a><a id="Tc_rxZOXBqrJk6BE2WkSw3ONw_9_0"></a><a id="Tc_R9IT35BXekiSn6Bg199yAQ_10_0"></a><a id="Tc_RTW8QlnGxkuWoKGRTgdnkA_11_0"></a><a id="Tc_75GFoG29TUippIll3wVweg_12_0"></a><a id="Tc_FbiSlTEnRUSpKLy-RDZ8hA_13_0"></a><a id="Tc_hnk_HViUNk6DSWA7IF5OSg_14_0"></a><a id="Tc_E1ZIV9T1GEikhaafxs8Y4w_15_0"></a><a id="Tc_aBvHhRb3l0yjoAZOrvxrpQ_16_0"></a><a id="Tc_lplv6bq-6kqwtsPiEuuJow_17_0"></a><a id="Tc_VEsDgL9B0ESkrHmfDzKrsw_18_0"></a><a id="Tc_seDKBwRVG0OnIX4_O3yGkA_20_0"></a><a id="Tc_wHw4ZFALPEutICI28bQ6Bw_21_0"></a><a id="Tc_4vrS_ThoXEiVpANKUhknmg_22_0"></a><a id="Tc_6e1-29_qi0KnzGEGPCW_KA_23_0"></a><a id="Tc_-fNDSXalHEaM-hCK-J9IhQ_24_0"></a><a id="Tc_XrhnhJM59U2YvfPWaAssSw_25_0"></a><a id="Tc_oXFKp_KuiE2q1Lpg41xCVw_26_0"></a><a id="Tc_QCUgwAwZpkGmTh2B37Iybg_27_0"></a><a id="Tc_WE3GYpalHUWz-sjn-aAUgQ_28_0"></a><a id="Tc_DbkZuCzOBk-4hIyBzxDtyA_29_0"></a><a id="Tc_K6sEEVN5XEGKVgNzh_yQzA_30_0"></a><a id="Tc_LVETeRfno0atFRIoMptCUg_31_0"></a><ix:continuation id="Tb_VJi92CgiqkupNmdI7fQIxw_cont3" continuedAt="Tb_VJi92CgiqkupNmdI7fQIxw_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of the deferred tax assets and liabilities are presented as&#160;follows:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Tb_GvgNWdPFvU-URnnFGltTjg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" scale="3" id="Tc_gNpmT-QWzk-pVCbYWovlhg_5_2">8,699</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" scale="3" id="Tc_RHnqAv_X2E67tdvMe-ZuJQ_5_4">14,942</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Bad debt 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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" id="Tc_WEhhU3EM10K_Sp0YcTUOyQ_6_2">3,218</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" id="Tc_ebGh1AM1sESgY7-s13xtEg_6_4">12,175</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Inventory write-down</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" id="Tc_10xGjHPXzEWTHYoJpt5Qgg_7_2">3,121</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" id="Tc_fFkEtR7XQ0CeFlPwXkgF9g_7_4">1,404</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Future deductible expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsFutureDeductibleExpenses" scale="3" id="Tc_-DbLAJ7INk6LgYXtPxKC3g_8_2">24,454</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsFutureDeductibleExpenses" scale="3" id="Tc_kvo3RP55jkaSPJsQptmvig_8_4">24,910</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation and impairment difference of property, plant and equipment and solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_BcIxNzU9l0aYn0HijSoc7w_9_2">30,138</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_6mUnXY-f2Ey94tht7PMCzA_9_4">24,561</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" id="Tc_kqkfgnLiGEi1nPxzCBYuPA_10_2">406</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" id="Tc_Rd0e_NdST0ajFptytr05XQ_10_4">39</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Government subsidies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets" scale="3" id="Tc_gi01xeaROEql0hvjCgTaew_11_2">16,461</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets" scale="3" id="Tc_YIEVM0XM_EK1_FeKDn2RIA_11_4">39,470</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net operating losses carry-forward</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_NYpITcrXBUKAY8dc1bGZbQ_12_2">85,850</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_HBQzuB8ARk-2xlvjkiJT4A_12_4">110,012</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange loss and capital loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" scale="3" id="Tc_VCzRF_n-qku3wuFPlvUwTQ_13_2">1,221</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" scale="3" id="Tc_WILatv5Wd0CT_qL2lFJmCA_13_4">491</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Interest limitation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsInterestLimitation" scale="3" id="Tc_0aILbW2EH06FUFxQc6331A_14_2">1,956</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsInterestLimitation" scale="3" id="Tc_aNfFatstZkemH1Q5ZdkFQA_14_4">10,800</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_h_XgWWVV70W1ITBwHnIBOw_15_2">30,958</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_P7KNdQOIDke7mAj-nYJGrQ_15_4">47,690</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_Fudl6kdPs0OmA57Iu1i-4A_16_2">206,482</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_Cv4rpckO4kiEkAdWHaHq1g_16_4">286,494</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_sNHQmi496EubnNvm4yqhhw_17_2">50,118</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_R4Z0qqMlX0qV0Jpy5_nDDg_17_4">45,682</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, net of valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_E5gYas-f20ilMN68bmP63w_18_2">156,364</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_NzsLCiTOv0KrYavEKD5B2A_18_4">240,812</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" id="Tc_KTKGkwkBdky4IjLEJwGf3g_21_2">996</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" id="Tc_Y5jIduQX_U653eTRN6yF9w_21_4">2,153</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation difference of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="Tc_TL-zsQQHG0GUepNqAnDDWg_22_2">17,027</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="Tc_yKW8t6RLjku6XJpMQJPesQ_22_4">27,776</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Insurance recoverable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxLiabilitiesInsuranceRecoverable" scale="3" id="Tc_qf_P4qqXH0q2tErKHf0t0A_23_2">785</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxLiabilitiesInsuranceRecoverable" scale="3" id="Tc_ifts1DLFmECvFLZa4g3h4A_23_4">32</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" scale="3" id="Tc_VfSKTusr60ys01TjrIoYCQ_24_2">10,746</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" scale="3" id="Tc_CyBaM9Mk2Uyi4q4r3ZYVdg_24_4">3,452</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_H-76r6UlIE24JQ55XnA__w_25_2">5,234</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_LiJvtjBoWUiBWIQqLApouw_25_4">19,046</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_pgDUrAQKhUqnX9uoOnASlQ_26_2">34,788</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_tJUrRLPwp0S3jNWlPhqdDw_26_4">52,459</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_gv5urenez0OWxXngLVEjrQ_27_2">121,576</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_gs8GPXf9a0G-9nezcNn12g_27_4">188,353</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_cRCyH5OiwkO4t8s9CeGWCA_29_2">170,656</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_TgaNv1_NuUaI_0zZTr-00Q_29_4">236,503</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_xspxrVCpLEu7xdtmXmXnaQ_30_2">49,080</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_sDQD9UmtwE2eCqzFzYhoLw_30_4">48,150</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_p0a_tGTFEkKZGYQm6vNBDg_31_2">121,576</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_dcCb2721kEeDFF1V2V83MA_31_4">188,353</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_rvOhzHa7-EyxEmkGMgssAQ_1_2"></a><a id="Tc_saYZtx4u1E23GIiEk2xafA_2_2"></a><a id="Tc_gYZawr5V20GLvYpm_239jw_2_4"></a><a id="Tc_OkqHusOZQkaWk_Cd8IzbSQ_2_6"></a><a id="Tc_uCjGrk372E6TliiVbd_Z_Q_3_2"></a><a id="Tc_JMpxkbbYdEa-z0gvW1_2UA_3_4"></a><a id="Tc_VVV4tnUhHEuOWoNVI5mBkQ_3_6"></a><a id="Tc_MU8mIo0jV0eftX3tvTSJvA_4_0"></a><a id="Tc_2_z4LS6x4kKpW70bL5ve1Q_5_0"></a><a id="Tc_Jh9Exf_CGkKhP5CeN7qYyg_6_0"></a><a id="Tc_p9j2hJQwBkmDBdKIyxOK6w_7_0"></a><ix:continuation id="Tb_VJi92CgiqkupNmdI7fQIxw_cont4" continuedAt="Tb_VJi92CgiqkupNmdI7fQIxw_cont5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">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 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA" decimals="2" format="ixt:numdotdecimal" name="csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" scale="-2" id="Narr_PEB8vhN7w0KZ023hBqezPw">5</ix:nonFraction>% or <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w" decimals="2" format="ixt:numdotdecimal" name="csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" scale="-2" id="Narr_j8VGLVUXZUmr6TEryuwxSg">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, 2021, all of the undistributed earnings of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_mzrPiUcKKkyh1pWQ8gXdSw">604,781</ix:nonFraction> attributable to the Company&#8217;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="0" format="ixt-sec:numwordsen" name="csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" scale="0" id="Narr_fYGkQhAXlk2-SrsFgao_NA">no</ix:nonFraction> provision for PRC withholding income tax on dividend has been made thereon accordingly. Upon distribution of those earnings generated after January 1, 2008, in the form of dividends or otherwise, the Company would be subject to the then applicable PRC tax laws and regulations. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_3GXLY-8k50SIHiuXb19lQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_U4Pcyo0g1EmK4oWNLfj2tw">30,239</ix:nonFraction> to $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_tItpqhiGNku2EFLZ-L5B_w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_hswHN9lZNkyGARGa6U6a5Q">60,478</ix:nonFraction> depending on whether the immediate offshore companies can enjoy the preferential withholding tax rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:PreferentialWithholdingTaxRate" scale="-2" id="Narr_0uBpI0K18EiAYvlOrQm2yQ">5</ix:nonFraction>%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Movement of the valuation allowance is as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:SummaryOfValuationAllowanceTextBlock" id="Tb_C8VSMIg_MUWfmCXzO61V_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: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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_wTn2tvhBNkWzDJdK2D085Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_Bk_6x5wBXEuCAolyufLnjQ_4_2">76,522</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_qPVLDnfmBUeHudH6xqb48g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_CQEv-2VHukiUTUAlNOv9Tw_4_4">70,627</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_hqXUcsguAUGtuMeOGEU0Fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_FpCgcIwWqkyfUbT2Wphuhg_4_6">50,118</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-C2tmKDmH02lpXkXqpKMzA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_wPSBtL9jWUKZgzbn_bIFPw_5_2">6,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x3ozolcCaky22YAYuHQBBA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_Lkm3BzY2LUiHSIfEJtSKhw_5_4">21,585</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_rmZFTOhOLUm4_ylu-LxAfA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_l0lZUBDo10GS3Ds6nbewWg_5_6">4,671</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-C2tmKDmH02lpXkXqpKMzA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_QgrhJcrOA0-dGqriE1ZSXg_6_2">261</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x3ozolcCaky22YAYuHQBBA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_OTAuxaXKjkywIYlkrBXIBA_6_4">1,076</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_rmZFTOhOLUm4_ylu-LxAfA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_KvLfHTH9l0eK-I6XNvgJUg_6_6">235</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_qPVLDnfmBUeHudH6xqb48g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc__ZvofQOG-E2EfgGGbRJyqg_7_2">70,627</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_hqXUcsguAUGtuMeOGEU0Fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_9dW-CYuBeUCrvdf1NunEUg_7_4">50,118</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_BIXrp1saoE6tItdXhzte-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_g86xupvKg0KxS2mrvRnGRA_7_6">45,682</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 6pt 0pt;">As of December 31, 2021, the Company has accumulated net operating losses of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="3" id="Narr_nOqlMS06KE2_nTpyxogW0w">700,667</ix:nonFraction> of which $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:OperatingLossCarryforwardsSubjectToExpiration" scale="3" id="Narr_H499DyLab0eog4PHAyTYug">398,744</ix:nonFraction> will expire between 2022 and 2041, and the remaining can be carried forward and back.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers positive and negative evidences to determine whether some portion or all of the deferred tax assets will not be realized. This assessment considers, among other matters, the nature, frequency and severity of recent losses, forecasts of future profitability, the duration of statutory carry-forward periods, the Company&#8217;s experience with tax attributes expiring unused and tax planning alternatives. The Company has considered the following possible sources of taxable income when assessing the realization of deferred tax&#160;assets:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Tax planning strategies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Future reversals of existing taxable temporary differences;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Further taxable income exclusive of reversing temporary differences and carry-forwards;</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_Axe285cxQku5HdTKGKtFRw_1_2"></a><a id="Tc__qXGCah8xkGHTiurbOcA-Q_2_2"></a><a id="Tc_jqA7z6sxRECLvvnOcTks6w_2_4"></a><a id="Tc_6acjUqdwM0irBf2f7wTJBQ_2_6"></a><a id="Tc_lnvscjcSb0OwTV1UDMeKxw_3_2"></a><a id="Tc_I_22bRp0WEWaQSFKjsN-5Q_3_4"></a><a id="Tc_N-YkrXyxx0-u0rzbGOEJ9g_3_6"></a><a id="Tc_NBBrL5iSfEG7ho-O_GDObw_4_0"></a><a id="Tc_Idrni-D7_kedbcdGpeXxcQ_5_0"></a><a id="Tc_COG0OVyxM0e4RUxMEXBTBg_5_4"></a><a id="Tc_-rn7ouKCiEeCY_CdL22uBA_5_6"></a><a id="Tc_DFH14vIN9EStEKPRrg3Yww_6_0"></a><a id="Tc_2eS4TiMh1EWvhXpvvng0Ag_7_0"></a><a id="Tc_JoeqQzKwQUu0S1UkSNnQXg_8_0"></a><ix:continuation id="Tb_VJi92CgiqkupNmdI7fQIxw_cont5" continuedAt="Tb_VJi92CgiqkupNmdI7fQIxw_cont6"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:6pt;text-indent:18pt;margin:0pt;">The Company has recognized a valuation allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Narr_K0qmB4EYAkGNv3nqsPNzFw">50,118</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Narr_CDFO-QgRm06QtgjLyOD_Yw">45,682</ix:nonFraction> as at December 31, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Uncertain tax positions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company makes an assessment of the level of authority for each of its uncertain tax positions (including the potential application of interest and penalties) based on their technical merits, and has measured the unrecognized benefits associated with such tax positions. This liability is recorded as liability for uncertain tax positions in the consolidated balance sheets. In accordance with its policies, the Company accrues and classifies interest and penalties associated with such unrecognized tax benefits as a component of its income tax provision. The amount of interest and penalties accrued as of December 31, 2020 and 2021 was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" scale="3" id="Narr_sLW5j08FzECaLBnJXPvLiw">5,101</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" scale="3" id="Narr_w3b8By3J_0iiTRC6g5IWCA">1,585</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, 2019, 2020 and 2021, respectively.</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="Tb_IYaU_3KgdEuafQld08H40w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;">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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_PlXghTcc_k-E4TlzMNbfHA_4_2">15,730</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_EeE5xOTH2EKA_xsPo2nLFQ_4_4">10,557</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_zAnxkDVoZ0-2kP_Q9c8QSQ_4_6">9,628</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;">Addition for tax positions related to the current 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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" id="Tc_xhV6oNdjXU6gcXLhw3DR7g_5_2">11</ix:nonFraction></p></td><td style="vertical-align:bottom;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;">&#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;">&#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;"> &#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;">Reductions for tax positions from prior years/Statute of limitations expirations</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_fWSGrrGzp0W2ntJNOfNULw_6_2">5,720</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrecognizedTaxStatueOfLimitationsExpirations" sign="-" scale="3" id="Tc_J6_5Ls1GkkODw3L33CkT0A_6_4">1,011</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_eNPBT2s1XkKcGyO-nTVNpQ_6_6">3,763</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;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_1htMBw5R10Gtv4B6bCH_nw_7_2">536</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_i0_ddv73uk6uaZyCHVjciQ_7_4">82</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_jAGIReCLe06AwtEzqlqAVg_7_6">2</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;">Ending 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;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_1W9EDXhgO0SkI9fymVjczw_8_2">10,557</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_RYPc4wrW9kqAkjZP4UnwfQ_8_4">9,628</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_mE_mfEbLoESjZHDD_Okn1g_8_6">5,863</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;">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 2015 to 2021 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 2016 through 2021 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 2016 retrospectively, and on transfer pricing matters for taxation years up to 2011 retrospectively. There is no statute of limitations in case of tax evasion in PRC.</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_VJi92CgiqkupNmdI7fQIxw_cont6"></ix:continuation><a id="Tc_ZsIMPZB16EqqYhxjLgalZg_1_2"></a><a id="Tc_y0siqbk8QUa5UD74zTTKbg_2_2"></a><a id="Tc_PrCSHfUikEy3aOu-CZR41Q_2_5"></a><a id="Tc_U0X4I1Xo-U-WH3lVQX4OsQ_2_8"></a><a id="Tc_0avS70OtHkmHaTQ_g0mmyA_3_2"></a><a id="Tc_lAimiv--jk21Nna4zGlIgg_4_0"></a><a id="Tc_FCZwmCwtOk2geZu2bXGULQ_5_0"></a><a id="Tc_DjbqYHMHoU22f3chvb_Aeg_5_2"></a><a id="Tc_L1-LrsIx4EuuKsJxzHOHmQ_5_5"></a><a id="Tc_hSbj8gEqkkSSMAJddveoHg_5_8"></a><a id="Tc_SD3RZknUIkGgW3LPgvinng_6_0"></a><a id="Tc_AGGUXcUVVk2b3zXGW3BRFw_7_0"></a><a id="Tc_GiT3PLZZXEiPEhrXSU4pdg_7_2"></a><a id="Tc_xiKMGM1efUiv7LE3_Xxbjg_7_5"></a><a id="Tc_YC5v9jMOrUqTJ-CUfJrmiA_7_8"></a><a id="Tc_TEXfo_5xE0-HrvXznX-54g_8_0"></a><a id="Tc_qiP5OYn4vEG4c1qogbANYQ_9_0"></a><a id="Tc_7tg4FKnxRUWJfd1KeLdzNw_10_0"></a><a id="Tc_VbMF87K-4USMIQzpaKUDhA_11_0"></a><a id="Tc_N75jh-c7-EirQRYL0e7JPQ_12_0"></a><a id="Tc_CvxEOQRiEEy1z3bjcLm8Vg_13_0"></a><a id="Tc_DIRN3PePD0m28ByMNjkEhw_13_2"></a><a id="Tc_MDCY3nlJcUezoyegkW2KOg_13_5"></a><a id="Tc_wHrm8EdCqU2YRnINtrHU0Q_13_8"></a><a id="Tc_EFubA2dGhEWvO69gSO82bg_14_0"></a><a id="Tc_2-rc4WQpMUOIe1zMTouMPA_14_2"></a><a id="Tc_5LBA0tDaX0C4NuUkZWDelA_14_5"></a><a id="Tc_rbKVqQZx5Ue6D5oGg2vSXg_14_8"></a><a id="Tc_XM4S1jdFIkae_xi0ZMgZ0A_1_2"></a><a id="Tc_9C-3EX-G2EuNam4XfhjrLQ_2_2"></a><a id="Tc_rr2hcB_e4UufUrMzyf3njQ_2_4"></a><a id="Tc_WQQi4484A0mGdcBWlpi2eA_2_6"></a><a id="Tc_jqe7x51CN0y7PQMJqZqz-A_3_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:EarningsPerShareTextBlock" id="Tb_IUMcxWTBQ02lEDVJ-sgwhw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">19.&#160;EARNINGS PER SHARE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the computation of basic and diluted earnings per share for the years indicated:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_4RtBPv5jI0e0lZFxKG02tw" 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:47.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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:13.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.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.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:13.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: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:1.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:13.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></tr><tr><td style="vertical-align:bottom;width:47.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:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.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 Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.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: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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-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:14.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-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:14.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></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:47.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:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.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;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:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.1%;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.8%;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.78%;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:13.07%;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.77%;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.78%;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:13.07%;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:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc__99fL5bAcEWZEeEt4MHImQ_5_3">171,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_8ByA4onkdEuvWwXnG8wWWQ_5_6">146,703</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_jCLnBAkEW0qyy-G6Cf--Tw_5_9">95,248</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_tQ3QmocGfUeV6Nwap5S3uQ_6_3">975</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_aVe-RF2x-UKsBVCqRbyyVw_6_6">1,518</ix:nonFraction></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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_JhyDG7Iwdk2Ms10MnE6DLA_6_9">5,300</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_rW8ptxTltUmvacAgB89d3w_7_3">172,560</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_95tKp4Y3h02EySFGHd_QcA_7_6">148,221</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_p4hBvHR7K0WMwW9kk727dw_7_9">100,548</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.1%;background:#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.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.07%;background:#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.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.07%;background:#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:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="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.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_l-Du9imNikucqTBVAs6ypg_9_3">59,633,855</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="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.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_L6P7gj3lG02AibShsb6jxw_9_6">59,575,898</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="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.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_k2zPcESYgU-ZKE-Q0ocTTQ_9_9">61,614,391</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Diluted effects of share number from share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_N1lrBWRHR0SkdJt77uAZoA_10_3">794,526</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_W8Odqrr8GEWrwIlmjdBq9Q_10_6">897,258</ix:nonFraction></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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_ZHUaYJ7JjkeunMMA6iEcLg_10_9">985,554</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_7vGmokTy_kqmM6dUM7ESLw_11_3">349,315</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_QS8tmjC_8kqaomnEKE9goQ_11_6">1,833,663</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_rNWqpL8ak0Wtgffk0zTF2Q_11_9">6,272,157</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_k-jS4yaBAkCU0e9h5rVY1g_12_3">60,777,696</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_uZi2WfAl70-8bhfl91T_Hg_12_6">62,306,819</ix:nonFraction></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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_rxFbn1Mv-EGVugON6ozxyA_12_9">68,872,102</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_Dk0XtOlMGU-TsSqyH5Y2HA_13_3">2.88</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_CeJWNF3UD0Cf-NVuxDEWJw_13_6">2.46</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_hjL5eT_KSkaFMz7kB17KDw_13_9">1.55</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_z4nmcqehi0-LDKi47G3arA_14_3">2.83</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_TpqAVdt8UEyjjt0kZOnvGQ_14_6">2.38</ix:nonFraction></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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_qOkmmiMW5U28erxnMZ-hzQ_14_9">1.46</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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="Tb_05-TWV_ydkuo17eGIF9OSw" 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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_98hftRRMOkChq2Wao8Nmbw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_cA5T9XB__ECrYQCFeKG2vw_3_2">41,950</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_QM-PwdE6rUCTWMZNnOhN0Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_FYodBN4trE2Y_aVZ5KwE4Q_3_4">187,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: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_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_wusFvHH9RkmWQDwNEa0H-Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_64NMvcfZr0-UUeDCqKKUlg_3_6">3,877</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="Tb_seFzvGVivUKUxCTvD2rydA" continuedAt="Tb_seFzvGVivUKUxCTvD2rydA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party balances</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The amount due from related parties of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sB54lBUBbk-0JrNATsIbYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Narr_dp8YbJRkFUuwneuT_3ttwQ">73,042</ix:nonFraction> as of December 31, 2021 primarily consists of (i) shareholder loans of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_On1nXgaKx06eXWTe8-NyXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LoansAndLeasesReceivableRelatedParties" scale="3" id="Narr_lf9TIeHkvE29WFhIaAepSw">46,672</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_HWID1THM1EGllC3oajhKGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LoansAndLeasesReceivableRelatedParties" scale="3" id="Narr_nSifVoRpvka4nVaQYPaDNA">20,712</ix:nonFraction> respectively to Horus and Recursos, each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_9xSPrZGqtE-xVn0RHd2AUQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_7kf3glhwSUOdY3wKbbpywQ">20</ix:nonFraction>% owned affiliates in Mexico, and (ii) trade receivables for module sales of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableRelatedParties" scale="3" id="Narr_Hlfv7S9lwkWybtBeZSfvJw">5,517</ix:nonFraction> provided to various <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroIRenewableEnergyS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_q41oDN9fPkSm17kfZYv6bA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_s_3Nk5IJkEi6luZH3VMRMA">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_Jr39bvl8CE2bMzeF44OEAw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_Pyyjx1zI8kO4D61SSBFmuQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliates</span></span> of the <span style="-sec-ix-hidden:Hidden_s6guRBZwY0a5JU31YszosA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Company</span></span>, including $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_beIHe0YC5E2IwM2Q1js5pQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Narr_Jy5-DkVCvUmphHI8-zb9xg">2,580</ix:nonFraction> to Salgueiro I Renewable Energy S.A., $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_7n6qXdFcG0edKu-LHefTHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Narr_RZFBkW0pBUqdRvZ6JKQ0Bg">266</ix:nonFraction> to Salgueiro II Renewable Energy S.A., $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_W9Lufsae7ESRBkF5t872yA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Narr_DL5bvokOGE2Ya69l-sJOpA">1,676</ix:nonFraction> to Francisco SA I Renewable Energy S.A., $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_dh51yB4xQE-qrGALjQD36A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Narr_pI-K_c0--EKyiSoUfrHQLA">530</ix:nonFraction> to Francisco SA II Renewable Energy S.A. No amount was due as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The amount due to related parties as of December 31, 2021 was not material. </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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_seFzvGVivUKUxCTvD2rydA_cont1" continuedAt="Tb_seFzvGVivUKUxCTvD2rydA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party balances (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Guarantees and loans</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dr. Shawn Qu fully guaranteed loan facilities from two Chinese banks of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_W3nlEBCVNk-ip0Je6xKdbQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_75cBfsXCwUSB8o47zeMqmw">1,420,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_W3nlEBCVNk-ip0Je6xKdbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_q4AscUB_kkOvSQKYbV4goQ">203,549</ix:nonFraction>) and RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_gXpW8PxfJkO1h1L-CEJJUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_ZCuCxN9tikWJvVe9hakt3w">135,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_gXpW8PxfJkO1h1L-CEJJUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_dfGJy8D0WUCsl_Cmmjct9A">20,648</ix:nonFraction>) 2019 and 2020, respectively, and from a Chinese bank of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_uy2tDu5PRkOToO2aOQy84w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_GH1DShw0NEOPwhi0qV5w0w">12,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_uy2tDu5PRkOToO2aOQy84w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_Dpl_gdCthEmZN0VHDczQaw">1,882</ix:nonFraction>) in 2021. Amounts drawn down under the facilities as of December 31, 2019, 2020 and 2021 were $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_W3nlEBCVNk-ip0Je6xKdbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_tnCyyhqXskWKlpTqL7FY4A">82,937</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_gXpW8PxfJkO1h1L-CEJJUg" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:LineOfCredit" scale="3" id="Narr_V5f4QdFHeEu5VI2eix5ULQ">nil</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_uy2tDu5PRkOToO2aOQy84w" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:LineOfCredit" scale="3" id="Narr_bgRs78jARES8Cetbc9CI3A">nil</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company granted <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_IBS93TUtfkCxSHzbkIqO5w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_4cywzVtHJUWtXb8_cn1EBw">26,691</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_3McteKMMD0qH9XmLnK0FYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_mphJ8yiagkqaDyh8eoxFgQ">26,073</ix:nonFraction> restricted share units to Dr. Shawn Qu in 2019 and 2020, respectively, on account of his having guaranteed these loan facilities. No grants on account of his having guaranteed these loan facilities were made in 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Sales and purchase contracts with affiliates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, 2020 and 2021, the Company sold <ix:nonFraction unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_QSSPj3Od906zLM2S_hheuw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr_qEeyu0EYXUeVUNLVYkqXBQ">three</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_X43EbEm7qEScbvhbxzRvhw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr_Q5rAbITQB0yqPAjd4biwuQ">two</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_GBCPyE9sVUa3iGvXMTJFhA" decimals="INF" format="ixt-sec:numwordsen" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr_Iq3D8MpFE0-H1qP5nyll8A">two</ix:nonFraction> solar power projects to CSIF, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_QSSPj3Od906zLM2S_hheuw" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_xoFoPD2MjEaLEE071Uskeg"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_X43EbEm7qEScbvhbxzRvhw" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_i2bDmtuLXkqIp7ZVYNzKIw">14.64</ix:nonFraction></ix:nonFraction>% owned affiliate in Japan, respectively, in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_tNIQz0WB60iZW9nWEmc0Gw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_fxnFe80xw0mBAiwBbE-YsQ">5,889,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_tNIQz0WB60iZW9nWEmc0Gw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_krKp0vBDJ0qq56zWz_tcxg">53,874</ix:nonFraction>), JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_2sBVBL5VQ0iTOQ91u13Zdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_Ic1VH8I4E0SWJQeawpPS6g">888,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_2sBVBL5VQ0iTOQ91u13Zdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_w1oDCUbTskiovhqZw0vfKw">8,392</ix:nonFraction>) and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eA7NYPRbYU2MWcA3iUEhnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_CLTb85Vt40CSVcr3MN2Bvg">30,601,181</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eA7NYPRbYU2MWcA3iUEhnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_BCOJY27LlU2HdBowxKezmA">282,133</ix:nonFraction>), respectively, recorded in revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Additionally, in 2019, 2020 and 2021, the Company provided asset management service to CSIF in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_3yDVwDhOBkKcKdcPGe8AVQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_VA5H4amYEEWNYBlkZjKTwg">281,094</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_tNIQz0WB60iZW9nWEmc0Gw" decimals="0" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="0" id="Narr_Sj8Q2PxR-USAsXX7hlG4ag">2,573</ix:nonFraction>), JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ICk9WQ5oxkqGuH3smD0YnA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_bfAAyUgyZU6VBFVTlOFa6w">394,506</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ICk9WQ5oxkqGuH3smD0YnA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_sz0o6hvuSkysT4p1y_q9Uw">3,723</ix:nonFraction>) and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_msGwISC8g0mhJoxNV27H5w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_zJuWDTUVG0iK7wJXEv7zDw">829,053</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_msGwISC8g0mhJoxNV27H5w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_7jGsOPbJXUaPLsdd6MBJ0Q">7,541</ix:nonFraction>), respectively, and provided O&amp;M service to CSIF in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vRfS3XBzHEGsNMx9irKSfQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_BPldhBNTokmfZOnBQdn9Yg">223,598</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vRfS3XBzHEGsNMx9irKSfQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_3Qv6_Rsghk6sEY5yLzdIqg">2,052</ix:nonFraction>), JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZnTfdOios0yc36OAiM-GpQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_aLtVw3xtQUWqOu9eHRvG8Q">805,021</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZnTfdOios0yc36OAiM-GpQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_0kspP43lsEuoA-QbBM2Mgw">7,564</ix:nonFraction>) and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_qszmqmVASUqm3TyrG99g5A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_WmR1z1cx3kaFAimbcd5C6A">981,161</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_qszmqmVASUqm3TyrG99g5A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_wxQEHM_gsEy6DNoQ3GkD1w">9,195</ix:nonFraction>), respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company sold modules to Salgueiro I Renewable Energy S.A., Salgueiro II Renewable Energy S.A. and Salgueiro III Renewable Energy S.A., each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember__0hvYQboPUa6qYbdybVe7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_Gnuza0ZAYUON3VcTC_T9GA">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_Ey00aiZep0GXxJPNhu1HBQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_4sM7dC303U-rDLJPitklYw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember__0hvYQboPUa6qYbdybVe7g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_8npfvVr0BUilo76GAse6lg">105</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_cR7FQksyA0-o3dL-8YbZXA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_Q6MCvH-l9k24Mj6o_6ZtCQ">105</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_2T2etnnrVE2LqeixSu0euQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_msbNPULBo0mb2jj-ICD6Fg">114</ix:nonFraction>, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_n0oxhOtnnUKkSVJrNu4pMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_AGqH5eLl1Ea5uuL8FTvvrQ">11,636</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_IxgwTu5MGEGmsqW43dExCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_ugyLtr7ka0SFHenIqjtfJw">9,996</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_mF_xRt7pkkOFXbsZdwOsew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_z0JkwuKTxUeIEBVYySbwYg">9,403</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 sold modules to Jaiba 3 Renewable Energy S.A., Jaiba 4 Renewable Energy S.A. and Jaiba 9 Renewable</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">Energy S.A., each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_0vF19LuyikKPBGkXvs22-A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_eG4PMfP4ZUGN5PlHcNDLqA">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_2SBtbUuh90KAl6S4tIVWFg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_uZRAdK2de0yrx7QzcsLRbg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_0vF19LuyikKPBGkXvs22-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_6bNlFGtvbUmRC-Tc9f3MAA">834</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_AFwb896X3EeF1nreEDKDdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_yUhW7raNREy23Ejua7wZgQ">3,210</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_5y5ULIA4DkCdkOMAuAiFEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_JuaJTqYzDE-_c7VabsrJxw">3,046</ix:nonFraction>, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_1kRO4YQ_m0Kc7nDZl1ypkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_bDwk8e7qUEWx5E0mxGRUsg">5,971</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_rjBlvytdyEeIsveGirR6Vw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_-f5pqL3d4UCg21iBlOkalg">3,696</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_x6lJFWJKIU-mQKpfcvAqPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_V4tS1sSjEkq1CvGOow5ctg">1,372</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company sold modules to Francisco SA I Renewable Energy S.A., Francisco SA II Renewable Energy S.A. and Francisco SA III Renewable Energy S.A., each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_EVTi4Gc5UEitPB1M_IqFZg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_eJMKujskUkCmRblUIOwOcg">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_V4XzS5gLHEWS80P7cJ0Xug;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_2xtSB5FnAUCY7QAo-o34YA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_EVTi4Gc5UEitPB1M_IqFZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_6PMyyUrTzEGpQcz13e8Zzw">7,170</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_J_30WxZ97UO_v2deVXT7Bg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_XS2_jXN0jkaoehnO_bxv8w">7,592</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_DDp1zaQ110-EovbwyGqUjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_0adehzmpsUKvieYdTeHqBQ">8,121</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company sold modules to Lavras I Solar Renewable Energy S.A., Lavras II Solar Renewable Energy S.A., Lavras III Solar Renewable Energy S.A., Lavras IV Solar Renewable Energy S.A. and Lavras V Solar Renewable Energy S.A., each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_-Tf3W_DQ2E6DpqxzDDMEgw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_Mu89JHbD806YWJqwPbJhwQ">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_bbbGH3k4I0mssVfGb6vGxw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_VF6GP2lX5EyCxofIsyy3Yg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> <span style="-sec-ix-hidden:Hidden_SyseSaG11UeZvOMJVZ1gwQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">in</span></span> <span style="-sec-ix-hidden:Hidden_9AmCOjSZzES-jsrRU1jZDg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Brazil</span></span>, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_a4P3xlujpkmjnVKA6ug8Ug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_27TZu8djfku2uNqMFP89FA">5,707</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_hxiFXzTO2EO6qLw26P4lTQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_rAYHT24PPUOBiZaXp-yOug">5,842</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_zpqkGc2DHUOgzXxVyxDNHg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_BhW9uqZqz0iv6xnYe-uULA">6,049</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_CjiNgghbrkKIbzZi4WPyoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_1NPhz1bALE27YeIIEr-TOg">6,233</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_5FavrH0kqEWnICagYp434A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_e_KH4OrlmEybRjHPj4a9Lg">6,233</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company provided battery storage solutions to Sonoran West Solar Holdings, LLC. And Sonoran West Solar Holdings 2, LLC, each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_OIuG-oANvkO3JZ1qQ790ZQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_tnvJ8oqxskea01dFU91rZw">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_VErkGVmC20aIsFVi88JVNA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> affiliate in the United States held through RE Crimson Holdings LLC, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_OIuG-oANvkO3JZ1qQ790ZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_0zIVjCsFBUGZ90kPiIdMBg">12,822</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_F5tVuICzikOs2U7m2K3bYw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_7Mo1_i3Bk0aYn7FNDje_iA">6,955</ix:nonFraction>, respectively</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019,2020 and 2021, the Company purchased raw materials from Luoyang Jiwa New Material Technology Co., Ltd., the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ" decimals="2" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_TFUbC0FzvEiPt3S2QyVhpA"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_dRZAO1sV20S4WkUQ88cB1g" decimals="2" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_d4mO3a-H-0mcYn_7AGXrTQ"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_czqor8-loU-G_U5pdxyy1Q" decimals="2" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_dYJO0LhQo0q1Jnc76kiKEw">20</ix:nonFraction></ix:nonFraction></ix:nonFraction>% owned affiliate, in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_2ICTkMD2DEiVwZC_DBo71g">18,124</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_i0U7yeYfH0S9S7BK0Za_aw"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_0xQ_VAO0v0aEVBEOPFMKAQ">2,584</ix:nonFraction></ix:nonFraction>), RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_dRZAO1sV20S4WkUQ88cB1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_UZVeV2YXdUK5ubcAQPioxw">31,388</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_dRZAO1sV20S4WkUQ88cB1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_hmKpJt1OIUCrHgy2VqgNUQ">4,545</ix:nonFraction>) and RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_czqor8-loU-G_U5pdxyy1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_k2n_nGBLCUCPRzLnwNUchQ">19,378</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_czqor8-loU-G_U5pdxyy1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_zmHFMoTDdUmoVr-rCvHzMg">2,995</ix:nonFraction>), respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company purchased raw materials from Yancheng Jiwa New Material Technology Co., Ltd., the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_GTbDK5MgXESCwt9YN-gcbA" decimals="2" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_s217et6QUEeVM5qk0P_Mnw">20</ix:nonFraction>% owned affiliate, in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_GTbDK5MgXESCwt9YN-gcbA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_8pn-tyoZGk29H07Tcd56Yw">10,831</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_GTbDK5MgXESCwt9YN-gcbA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_WPs5UmOUuUyPboOFI5lDGw">1,688</ix:nonFraction>).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2020, the Company provided EPC services to Lavras Solar Holding S.A., the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavrasSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_M_SsCt1A_UGLgDWI8TmNjw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_i2Ma7tOq-k20g8XvKgWK8A">20</ix:nonFraction>% owned affiliate in Brazil, in the amount of BRL<ix:nonFraction unitRef="Unit_Standard_BRL_Do1ENKwgw0SkuRPbv1VTDA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_2CrNmrFwa0W-9cI04555vw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpensesRelatedParty" scale="3" id="Narr_GBK4W5gWbkKi57D1V49mzg">5,061</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_2CrNmrFwa0W-9cI04555vw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpensesRelatedParty" scale="3" id="Narr_ELP7rpL2sEGHj-FO6rrnKQ">974</ix:nonFraction>).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_seFzvGVivUKUxCTvD2rydA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Sales and purchase contracts with affiliates (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, the Company purchased raw materials from Suzhou iSilver Materials Co., Ltd., the Company&#8217;s former <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_sW7-Z8WSnE2bf65b_OddRA">14.63</ix:nonFraction>% owned affiliate in PRC, in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_og0OscCbUEOONdw0OO3M3Q">350,590</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_mxqDUHueiE27-I74Q5-o0g"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_PsT2A6mEOU207DGmmKS8xA">50,359</ix:nonFraction></ix:nonFraction>). In December 2020, the Company fully disposed of its ownership of Suzhou iSilver Materials Co., Ltd. to an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_l7TNx2shO0694Z4FOLL2MQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_bAwDWOsKD0-eb-dh8UMg3A">168,032</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_l7TNx2shO0694Z4FOLL2MQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_y11kHb-vakm-Bl_465AnfQ">24,301</ix:nonFraction>) from this former affiliate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2019, the Company purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd., the Company&#8217;s former <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zAg4m3NL5EOix_5aNdOQIw" decimals="2" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_mbScA_y3Z0uzPP8Z_u3f9g"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zL5NfHVEEU-YC8MaoZhUnw" decimals="2" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_J6eADJs5rEGGVqFKdHPBwg">32</ix:nonFraction></ix:nonFraction>% owned affiliate in PRC, in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zL5NfHVEEU-YC8MaoZhUnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_DaxPntED5UStm_gHSPvVBQ">61,174</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zL5NfHVEEU-YC8MaoZhUnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_NgnWt9lEoUmXAYBiKcvUMA">8,787</ix:nonFraction>). In July 2020, the Company fully disposed of its ownership of Suzhou Kzone Equipment Technology Co., Ltd. to an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg" contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_RjM6SdTi80m47MM-P_rBMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_1jz6AriE2UG4r2xgzdsOpQ">7,381</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_RjM6SdTi80m47MM-P_rBMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_GQgazipyEUWEht6HSO_kng">1,048</ix:nonFraction>) from this former affiliate.</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 2019, the Company sold solar power products to ET Solutions South Africa 1 Pty, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_MbVasNWrskKhUHTyvTDkPA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_QzhicbAAAUSamtK1lFA4Qw">49</ix:nonFraction>% owned affiliate in South Africa in the amount of ZAR<ix:nonFraction unitRef="Unit_Standard_ZAR_rcQw20Gy9Em_eji0n-H-MA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_MbVasNWrskKhUHTyvTDkPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_HrvnTegj0EKb18vwh2b_Jw">586,832</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_MbVasNWrskKhUHTyvTDkPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_Xewt9MZ3YEORXMfgl7Auhg">40,970</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><a id="Tc_s3wRXZJHLUmivnViURtw_Q_1_0"></a><a id="Tc_ZNme9bbyXke76daZIdN7Ew_1_2"></a><a id="Tc_b2y09SBFkEa5N0xKkL77gw_2_0"></a><a id="Tc_tmegjr3T1UyM4UOquqzIyg_3_0"></a><a id="Tc_2mWbhQ6hd0SGLG_BfEYi8A_4_0"></a><a id="Tc_Nms3SzHhBESqXyV9MsEY-w_5_0"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_v2CwCs4S30uBKKwvizB7gQ" continuedAt="Tb_v2CwCs4S30uBKKwvizB7gQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">a)&#160;&#160;&#160;&#160;Capital commitments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2021, the commitments for the purchase of property, plant and equipment were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted" scale="3" id="Narr_fZfy3DzhDkuEHJ2JSzKNhA">167,871</ix:nonFraction>, and the payment schedule for the commitments is as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Lc2hbF38FkKdvj0BErOFiA" name="us-gaap:LongTermPurchaseCommitmentTextBlock" id="Tb_t9Hvh7KolkWkOfbsQEqecg" 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;">$</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;">2022</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" scale="3" id="Tc_X7_XjsD21UeAyUdbffDA1Q_2_2">67,448</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;">2023</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInSecondYear" scale="3" id="Tc_G5xKAFFQGE6vrNyf1zE9Bg_3_2">49,475</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInThirdYear" scale="3" id="Tc_jkgjKZY6r0-cqU7OkoTUBA_4_2">50,948</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligation" scale="3" id="Tc_CXK9dmIc50-2yyshd5grSw_5_2">167,871</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;"><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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_v2CwCs4S30uBKKwvizB7gQ_cont1" continuedAt="Tb_v2CwCs4S30uBKKwvizB7gQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 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;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January 2015, the plaintiff in a class action lawsuit filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court approved a settlement of the action on October 30, 2020. The settlement is no admission of liability or wrongdoing by the Company or any of the other defendants. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_v2CwCs4S30uBKKwvizB7gQ_cont2" continuedAt="Tb_v2CwCs4S30uBKKwvizB7gQ_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 1</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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 6pt 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_QUs7y4anYkGNI-P-v32Pxg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_TwhrVycRhECquLWLceILMQ">13.94</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_QUs7y4anYkGNI-P-v32Pxg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_OqsrkjN0JE-f56vkWpDptw">15.24</ix:nonFraction>% (countervailing duty). The Company paid all the cash deposits due under these determinations. Several parties challenged the determinations of the USITC in appeals to the CIT. On August 7, 2015, the CIT sustained the USITC&#8217;s final determination and on January 22, 2018, the Federal Circuit upheld the CIT&#8217;s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_0U4IKU64J0WTHuQOm7DLKQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_TfW1QiS0w0GhDEOvHX364Q">9.67</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_0U4IKU64J0WTHuQOm7DLKQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_TDwwzOJE8UWGmads_nMJMg">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;">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_3y68_iezHk-3_3ekb3vDpw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_nJzc2kZBdE-p3oXDanROAQ">8.52</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_5_1_2016_To_5_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_fJntDOic5kyMSpGDy4Falw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ai8LwIP7Ek6v9LtMukfRlA">9.67</ix:nonFraction>%) and then to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_aXD9_33fcE6XHGyiQv0jMw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_eB3TRYS5dEKN1fFM11Uzow">3.96</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_3y68_iezHk-3_3ekb3vDpw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_F6AecTCQT0OKA0hPIZ0Dvw">8.52</ix:nonFraction>%). Because the Company is not subject to the second administrative review of the countervailing duty order, the Company&#8217;s countervailing duty rate remained at <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_aXD9_33fcE6XHGyiQv0jMw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_-wnb7dusFE2cRDd7eUEs2Q">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_veaxoUMR6k6Y6UJhpOtoAQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Q7lo55T5_UKG8MpRzP93sA">0.00</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_tUmxDeaXcUa0_Td237Uj_Q" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_5_jprFmyRkSAgFBSQ9osnQ">3.96</ix:nonFraction>%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_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_4_3030"></a><a id="_cp_text_1_3031"></a><a id="_cp_text_1_3032"></a><ix:continuation id="Tb_v2CwCs4S30uBKKwvizB7gQ_cont3" continuedAt="Tb_v2CwCs4S30uBKKwvizB7gQ_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_t0SpRdeuQES6fNeXz7nE0A" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_95IchafXb0GDNoPZgRJQdw">13.07</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_HJB61ojXhEmaKUcPG0tCpw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_wNws32ESzEOGUfUFVIkpJg">8.52</ix:nonFraction>%) (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_t0SpRdeuQES6fNeXz7nE0A" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_1lRu6B1atU-6rE0QnlQk9g">18.16</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_HJB61ojXhEmaKUcPG0tCpw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_MHhORCYB3kmcmo9Ij3oYsw">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_H-0yy-o1K0uK3isCGzVm2g" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_60lC69wCJU6KTsUrs3h_dw">4.12</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_t0SpRdeuQES6fNeXz7nE0A" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_GyQdSoJcfUmd3x5r-Q8O6w">13.07</ix:nonFraction>%) and then further to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_5_1_2020_To_5_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_HEaQkQL2nUuMsEkKLQKTjQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_MExy54brSkudwnL6YVfWxQ">3.19</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_H-0yy-o1K0uK3isCGzVm2g" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_xb4iXIvpWUu863Vo1kPcvg">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_sNmkbdiWWEKZWa3LyMN7RA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_7C4sD4ZX-EeYKhYFCXEPmg">0.00</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_4Z2WfiCUzUmLFSmFx2XyZA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_YXNBG9sJtkiAyKEzr-MM2g">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. <span style="white-space:pre-wrap;">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 </span><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_8_1_2020_To_8_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_uXCklUTuz0KRwgJp4_zFyQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_KpPd4GYIPUy5bXkXaMe4CA">7.36</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2020_To_7_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_iV0GKhDQ50WpZTdhDC5qHg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_b-kDb9ljhk2M8251OpFtzg">18.16</ix:nonFraction>%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s countervailing duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fourth administrative reviews in July 2018 (both antidumping duty and countervailing duty), with the countervailing duty rate later amended in October 2018. Because the Company was not subject to the fourth administrative review of the antidumping duty order, its antidumping duty rate remained at <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_4Ep0SzwFZkG1QF4qZA1vAw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_tucUI0PiqEOxGG3WeGXvlA">13.07</ix:nonFraction>%. In this review, the countervailing duty rate applicable to the Company was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_dyLRn9cGgkSDOgUwq4l0ug" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_vxvgjZp5ek2o_YnIEY94Bg">11.59</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2018_To_9_30_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_B3drILgsUUiZB2zJ05mwzQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_3jgqh5eBDku7WgfMmEKHfQ">18.16</ix:nonFraction>%). 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_JMK5gHEv-kqfMl0sybmDmg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_wslrF4o3IU6I0xu8iZCoLg">5.02</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_dyLRn9cGgkSDOgUwq4l0ug" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Jg7es52hKUuyh1e_JBY-_g">11.59</ix:nonFraction>%). 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.<span style="white-space:pre-wrap;">  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 </span>decision is&#160;final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_buK8SSWF90y6uBuwvEEMiw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_IgWqeT1QP0-voQkbIsJLfQ">4.06</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2018_To_7_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_w1r4RtFROE2L6zlFtM_lbg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_lpIfFrLHHEW-DKmhWJO1SQ">13.07</ix:nonFraction>%). The countervailing duty rate applicable to the Company was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_buK8SSWF90y6uBuwvEEMiw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_nOAEgfS5YUaQbJ4BHNJMWA">9.70</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_YH0a47-rO0GI9viQdlNIbw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_CNJdv9UKYEyBTPYKsMWO9Q">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_kl9R2V6Ok0WmHZbWd8-jYA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_dKCPNZWHxE6jIurX989-Uw">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2019_To_7_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_hA29IY2fZE26Ymmp8BaF8w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_o61hHuMnn0-lCcQOTI9jNg">3.30</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_buK8SSWF90y6uBuwvEEMiw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_iTIXvvgG9UKvovOxZQIvsQ">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. The USDOC submitted its countervailing duty redetermination to the CIT in December 2021. A decision is expected in mid-2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the sixth administrative reviews in October 2020 (antidumping duty) and December 2020 (countervailing duty). USDOC assessed an antidumping duty rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_10_1_2020_To_10_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_EZtvWLvCH0yqRvvYbsMGtQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_8OxSTZ4N8UeHjcyLmFfszA">68.93</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_11_1_2020_To_11_30_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_5y3IE6XXnkqcDTIa2Mt_aw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_8lzufA5i5U6kWfYf9aNqUg">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_yrxXnv6ioES4wTpVfho81w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_G03l3BZH_06IVXHa4CUzbg">95.50</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_oW8tlBjnc06Z1L7u5MJu5w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_97J2kb7xzkuozyf_OFoLpw">68.93</ix:nonFraction>%). USDOC assessed a countervailing duty rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_yrxXnv6ioES4wTpVfho81w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_XvGHcnoFJEySosCsISkfxQ">12.67</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_83EddPiNb0KeWAB2PIyNUw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_GxKKY5Nw0EKnXJG2i8wMdw">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_RD6usPMsok-LgQvQDkbiOw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_dfetXDB-EU6rJVi4Pd0amw">11.97</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_yrxXnv6ioES4wTpVfho81w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ddw5DU9iXk-06FwOG45Zaw">12.67</ix:nonFraction>%<span style="white-space:pre-wrap;">). The antidumping duty rates were appealed to the CIT.  In April 2022, the CIT remanded the antidumping duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. 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 </span><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_tB_cCzPJ3U27dGCGFNeWRQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_wHq7HRvg3kaDF-BZ93z7MA">11.97</ix:nonFraction>%.</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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_v2CwCs4S30uBKKwvizB7gQ_cont4" continuedAt="Tb_v2CwCs4S30uBKKwvizB7gQ_cont5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the seventh administrative reviews in August 2021 (countervailing duty) and October 2021 (antidumping duty). The antidumping duty rate applicable to the Company was lowered to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_XMD9znkGZE-2pYtGa7zCiA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_3gWXRGrqCUiGAX0HfxMbtw">0.00</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_aDTQ3qXSTUKEk-1QTSVKVw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_RtEhsDU5e0a_pBN8n-afJA">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_1erpeQTVM0mH9pZ0_UovNg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_KTq8B9x6h062MlauhUFJ9w">19.28</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_k-LN7EUcf06SYFU0AvTvsA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_SIX8C6V2JU2zSamzZcCTjQ">11.97</ix:nonFraction>%). USDOC did not change the rate of <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_k-LN7EUcf06SYFU0AvTvsA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr__Z2dEUF1-kKsEdNsuz8ndg">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 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_XMD9znkGZE-2pYtGa7zCiA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_bwz7Pl1-bUKazPci-SVJPQ">0.00</ix:nonFraction>% and its countervailing duty rate is expected to remain at <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_1erpeQTVM0mH9pZ0_UovNg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ynB4tAeiU0yuHbhGiyAGOg">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 6pt 0pt;">The eighth and ninth antidumping duty and countervailing duty administrative reviews were initiated in February 2021 and February 2022 and are currently underway. The USDOC is currently scheduled to release the final results of the eighth administrative reviews on June 21, 2022 (antidumping duty) and June 29, 2022 (countervailing duty), subject to potential extensions. USDOC will likely issue preliminary results of the ninth administrative reviews in late 2022 or early 2023. The final results of the eighth and ninth administrative reviews may result in duty rates that differ from the previous duty rates and cash deposit rates applicable to the Company. These duty rates could materially and adversely affect the Company&#8217;s U.S. import operations and increase its cost of selling into the U.S. market.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Between 2017 and 2019, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The Company did not participate in USDOC&#8217;s first sunset review. The Company did, however, participate in the USITC&#8217;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 2</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. The Company was identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">&#8220;Chinese CSPV products subject to Solar 2 orders&#8221; refers to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#8220;Taiwanese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">On December 23, 2014, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigation on these CSPV products. On January 21, 2015, the USITC determined that imports of these CSPV products had caused material injury to the U.S. CSPV industry. As a result of these determinations, the Company is required to pay cash deposits on these CSPV products, the rates of which applicable to the Company&#8217;s Chinese CSPV products were <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_iyVAkjPf20SvecMiq2r4dw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_5BfY8yiS0UCE68bL-xxeMg">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_iyVAkjPf20SvecMiq2r4dw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_b9L8HN2g90WmJ2D7hIcxJg">38.43</ix:nonFraction>% (countervailing duty). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC&#8217;s determination and the assessed countervailing duty rates were appealed to the CIT and the Federal Circuit. In March 2019, the Federal Circuit affirmed the CIT&#8217;s decision confirming the USDOC&#8217;s determination but reduced the Company&#8217;s countervailing duty rate to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_3_1_2019_To_3_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_GeGE9Rl5X0-C0YSi5EM00g" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_PMo5032fiECiwcjZNv4bNQ">33.58</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_2_1_2019_To_2_28_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_77OFDK5PyE2HC-7XNQ3LYw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_TZWPt_Sq70m0vPOSt1uVFQ">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 6pt 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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_v2CwCs4S30uBKKwvizB7gQ_cont5" continuedAt="Tb_v2CwCs4S30uBKKwvizB7gQ_cont6"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The antidumping cash deposit rate applicable to the Company&#8217;s Taiwanese CSPV products subject to Solar 2 orders varied by solar cell producer. The Company paid all the cash deposits due under these determinations. There is no countervailing duty order on Taiwan Solar 2 products. The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC published the final results of the first administrative reviews in July 2017 (China and Taiwan antidumping duty orders) and September 2017 (China-only countervailing duty order). Because the Company is 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ZtSglFbby0u-42xoXxYVXA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_kJSEVuBTt0SRhOIBp4yMzg">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ZtSglFbby0u-42xoXxYVXA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_BsAiybtq2k6W2ckwdSK7zg">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_r56JCLFno0mrwTuThxCe_g" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_JdXgPrpeYkyV21e7UgKomw">3.56</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_tgyoirmWtk-Yzh2d7Dx-iQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_vxFK7Qyl0kmW3T-nRt8pag">4.20</ix:nonFraction>%, until they were changed to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_M1sdGG3FFEqvfpT9WGyf-A" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_xFB8atXV7kyvVrq7f1LY9w">1.52</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_XEVHaMJlRUeCkD-fWxHyDQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_8HgibIBZXEqth0dep21VHQ">3.78</ix:nonFraction>% in June 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The second administrative reviews for the Solar 2 China antidumping and countervailing duty orders were rescinded, meaning that there is no change in the Chinese antidumping and countervailing duty rates applicable to the Company&#8217;s Chinese CSPV products <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_oXiRkKYQt0eXgub5HqA3eg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_6zyTgfvdOkqH8sd4GXiyLg">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_oXiRkKYQt0eXgub5HqA3eg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Xfq7WvKJWUSryT9x0AHWgg">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_oXiRkKYQt0eXgub5HqA3eg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr__tHPAezql0SfXBH3f0tGAg">1.33</ix:nonFraction>%. There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The Company was not subject to the third administrative reviews of the Chinese orders and, therefore, the Company&#8217;s duty rates remained unchanged at <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ntafGUPF5kq4fQZeHZR9Wg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_isuQrK8xrU-kKMYYteOEwQ">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ntafGUPF5kq4fQZeHZR9Wg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Yke9_Y-8sEuQE0Co0QNZEQ">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ntafGUPF5kq4fQZeHZR9Wg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_lafpjQ5Il0aJf0JZxgZyeQ">4.39</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_oXiRkKYQt0eXgub5HqA3eg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_twJw_VcpyEmXvFzya9yrkQ">1.33</ix:nonFraction>%). There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The 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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_YD91rwU1YEqq9SKaMxiVOg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_qeuPTZb7D062_56INDHPBw">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_YD91rwU1YEqq9SKaMxiVOg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_iB00eWn8RkuaKK3JMQXFHg">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_YD91rwU1YEqq9SKaMxiVOg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_O-J7gsbOSU-_XIv4OcaggA">2.57</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ntafGUPF5kq4fQZeHZR9Wg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_gPzPEha6LU6ntYDTyrY8Cw">4.39</ix:nonFraction>%). The USDOC also found that certain Canadian Solar entities had no shipments during this period of this review.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC rescinded the fifth administrative reviews of the Solar 2 China antidumping and countervailing duty orders. The Company&#8217;s duty rates will remain unchanged at <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gfLuiJznQky21NGFTqFCGQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_V1N3-Hb5_UK7xg6UN3TR_w">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gfLuiJznQky21NGFTqFCGQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_1HbN5VovSkS2nDFoGcN5uw">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;">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gfLuiJznQky21NGFTqFCGQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_LaOsl30fI0S4QDipwpC_UA">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gfLuiJznQky21NGFTqFCGQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_d9_G7s8DuEu_gVXRntDZbw">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;"><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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_v2CwCs4S30uBKKwvizB7gQ_cont6" continuedAt="Tb_v2CwCs4S30uBKKwvizB7gQ_cont7"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"><span style="white-space:pre-wrap;">The USDOC initiated the seventh administrative reviews of the Solar 2 China antidumping and countervailing duty orders.  The countervailing duty review was not initiated with respect to all Canadian Solar entities. The countervailing duty rates will remain unchanged for all entities for whom the review was not initiated. The USDOC initiated the seventh administrative review of the Taiwan antidumping duty order in April 2022 with respect to certain of the Canadian Solar entities. The USDOC will likely issue the preliminary results of the seventh administrative review in late 2022.</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 USDOC and USITC conducted <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_UZMRejQrk0uYZLlw1I1EOA" format="ixt-sec:durwordsen" name="csiq:PeriodOfSunsetReviews" id="Narr_4iygSTjPeUWgnbleFA4AtA">five-year</ix:nonNumeric> sunset reviews and determined to continue the Solar 2 antidumping and countervailing duty orders. In May 2020, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 2 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The USITC issued an affirmative determination on September 4, 2020, declining to revoke the Solar 2 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 2 orders are expected to remain in effect through at least 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Section 201</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May 17, 2017, following receipt of a petition from Suniva, Inc., which was later joined by SolarWorld Americas, Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September 22, 2017, the USITC determined that CSPV products are being imported into the United States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells, whether or not partially or fully assembled into other products such as modules, consisting of (1) a tariff-rate quota for four years on imports of CSPV cells not partially or fully assembled into other products, with (a) an in-quota quantity of 2.5 gigawatts, and (b) a tariff rate applicable to over-quota CSPV cells of 30%, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year; and (2) a 30% tariff for four years on CSPV modules, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year. This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On June 13, 2019 and following an abbreviated public comment period, the Office of the U.S. Trade Representative (or USTR) granted an exclusion from the safeguard measure for solar panels comprising solely bifacial solar cells (or bifacial solar panels). In October 2019, USTR determined to withdraw this exclusion. Invenergy Renewables LLC (or Invenergy) promptly contested USTR&#8217;s withdrawal determination at the CIT and secured a temporary restraining order against USTR in November 2019. In December 2019, the CIT preliminarily enjoined USTR&#8217;s withdrawal due to procedural deficiencies. USTR then sought and was granted a voluntary remand to reconsider its withdrawal determination for bifacial solar panels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 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-indent:18pt;margin:0pt 0pt 12pt 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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_v2CwCs4S30uBKKwvizB7gQ_cont7" continuedAt="Tb_v2CwCs4S30uBKKwvizB7gQ_cont8"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 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% ad valorem (as opposed to 15% ad valorem 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 and the appeal remains ongoing. The Federal Circuit&#8217;s decision is expected in late 2022 or early 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 Proclamation 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% in the eighth year. The Proclamation also excludes bifacial panels from the extended safeguard measure and authorizes USTR to negotiate agreements with Canada and Mexico that could lead to the exclusion of those countries from the safeguard measure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_v2CwCs4S30uBKKwvizB7gQ_cont8"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 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. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT may initiate an expiry review pursuant to Subsection 76.03(3) of the Special Import Measures Act (&#8220;SIMA&#8221;) before the end of 5 years of its finding. If the CITT does not initiate such an expiry review pursuant to Subsection 76.03(3) of SIMA, the finding is deemed to have been rescinded as of the expiry of the five years. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The expiry review was concluded on March 25, 2021. The CITT determined to continue its aforementioned finding to impose definitive duties on imports of Chinese solar modules and laminates into Canada. As a result the Canadian Solar-specific subsidies rate of RMB0.014 per Watt remains unchanged. The subsidies rate applies for a period of five years. The CITT is required to conduct a further expiry review at the end of that period, being July 2, 2025. Such subsidies rate does not have a material negative effect upon the Company&#8217;s results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business.</p></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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_hepxXPQsvUuHs7tseLQJPw" continuedAt="Tb_hepxXPQsvUuHs7tseLQJPw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) for making decisions, allocating resources and assessing performance. The Company&#8217;s CODM has been identified as the Chief Executive Officer of the Company, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">From 2016 through the third quarter of 2020, the Company had been operating in two principal businesses: MSS and Energy. The MSS business comprised primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provided engineering, procurement and construction (EPC) services. The Energy business comprised primarily the development and sale of solar projects, operating solar power projects, the sale of electricity and operating and maintenance (O&amp;M) services. The module sales from the Company&#8217;s MSS business to its Energy business were on terms and conditions similar to sales to third parties. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_bdd54f1c_5be1_4f21_8fba_b68aeda6c9a1"></a><a id="Tc_nRpAAejWy0mDk9aWL8txtg_1_2"></a><a id="Tc_uH9dPo-9PEaFxaLZvmJH3Q_2_6"></a><a id="Tc_PlwtUqqGREOZsN_UmzUb5A_3_6"></a><a id="Tc_21GdXD0bKEWo9VLb9f53Vg_4_6"></a><a id="Tc_KzcMdYJwGkOEvFSjscwBNA_5_2"></a><a id="Tc_0u1OVeXmiUemzumBjVJ4qQ_5_4"></a><a id="Tc_XXAgGuXRr0G_qND6xywqcQ_5_6"></a><a id="Tc_l18IVGEb-E2p3P2pJcUeAQ_5_8"></a><a id="Tc_EbvvJB-w3E-sn0_febtZ_g_6_2"></a><a id="Tc_apxQEriH0UWDp5clyrFKOQ_6_4"></a><a id="Tc_qpClXhUch0-x3Qgf6ZgNlw_6_6"></a><a id="Tc_BM19Hiop3kyQ8SS7EN9RqA_6_8"></a><a id="Tc_2omTeN1FqEilHk9Gp38vKw_7_0"></a><a id="Tc_uYamaBHSF0-L5Hi_wIMCpg_8_0"></a><a id="Tc_63o0-PiifUaeIDVoxOwtIg_9_0"></a><a id="Tc_5h1tTzsz30CfbJmwsgtBuw_10_0"></a><ix:continuation id="Tb_hepxXPQsvUuHs7tseLQJPw_cont1" continuedAt="Tb_hepxXPQsvUuHs7tseLQJPw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In July 2020, the Company reached a strategic decision to pursue a listing of its subsidiary, CSI Solar Co., Ltd., in China. From November 2021, the Company completed the transfer of the China solar power system and project assets from CSI Solar to the Global Energy segment to avoid any potential competition between the Company and its CSI Solar subsidiary, as part of the CSI Solar carve-out listing process. To align with the objective of ASC 280, Segment Reporting (&#8220;Topic 280&#8221;) and present the Company&#8217;s disaggregated financial information consistent with the management approach, the Company reports its financial performance, including revenue, gross profit and income from operations, based on the following <ix:nonFraction unitRef="Unit_Standard_segment_NAiIxuXylEqsd465xrxefg" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_D_bcQfbrE0Od12dQN3IkpA">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:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Global Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which includes all of the Company&#8217;s global project development activities for both solar and battery storage project development. The Global Energy segment develops both stand-alone solar and stand-alone battery storage projects, as well as hybrid solar plus storage projects. Its monetization strategies vary between develop-to-sell, build-to-sell, and build-to-own, depending on business strategies and market conditions, with the goal of maximizing returns, accelerating cash turn, and minimizing capital risk.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;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:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">CSI Solar</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which consists of solar module manufacturing and total system solutions, including inverters, solar system kits and EPC (engineering, procurement and construction) services. The CSI Solar segment also includes the Company&#8217;s battery storage integration business, delivering bankable, end-to-end, turnkey battery storage solutions for utility scale, commercial and industrial, and residential applications. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services.</span></td></tr></table><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 distinction of the two battery storage businesses is that the former, Global Energy, is in the project development business, including sourcing land, interconnection, structuring power purchase agreements and other permits and requirements for battery storage projects, whereas the latter, CSI Solar, is in the system integration business, delivering turnkey battery storage technology solutions.</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 module and EPC sales from the Company&#8217;s CSI Solar business to its Global Energy business are on terms and conditions similar to sales to third parties. Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company continually monitors and reviews its segment reporting structure in accordance with Topic 280 to determine whether any changes have occurred that would impact its reportable segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_dbtMNx_mnUO4b5jNBBliwQ" continuedAt="Tb_dbtMNx_mnUO4b5jNBBliwQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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;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;margin:0pt;"><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;margin:0pt;"><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;margin:0pt;"><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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_y7rdLKDMzUWWV9BCmLWXnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_BTa6On38pU-1hmmZmCAdNQ_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0skBNKOc1kuNQNJ1a1DN6A_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_B0s766eFTkO3q-LoZL14Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_Q2NTRv_a-E2e_PKSeK8AfQ_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Bs4T2EnLh0eEoheP_KJRNw_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_y7rdLKDMzUWWV9BCmLWXnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_7Gkk5jeaf0-6hsT-fr9kBg_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_Bca5LhyxEkaykWZd1q870w_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_B0s766eFTkO3q-LoZL14Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_FpuHdv4FL0exbf654l9caw_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_36YjgW1FH0KukK3qeGLHKA_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_y7rdLKDMzUWWV9BCmLWXnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_DkpHlXli8kC9iYzslk32ww_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_eEldwMTlt0CMa5sny8KBuw_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_B0s766eFTkO3q-LoZL14Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_X6Ig1NfP_kGNmLOX9u5WIQ_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_uC0s0icKGEyYINAgGgvSbQ_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_y7rdLKDMzUWWV9BCmLWXnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_ogRvwb5UY06dXhcnZY2_Mw_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_yB3KZbltPUCnNdPit_mxDg_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_B0s766eFTkO3q-LoZL14Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_EFYjNupoz0CfMzWmtk1pSg_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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_HQjrDJN2dEuR8OEFCAhcuw_10_8">190,381</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;min-height:11.5pt;"><a id="_377663b5_d049_4c06_91a5_9a525cad8cc7"></a><a id="Tc_ISUg0tjry0uS9TqCnjVkrA_1_2"></a><a id="Tc_5jxdeUhxb0ejYoRBW0sQIg_2_6"></a><a id="Tc_ZyXqieFq4ESIpWtXBAAfAw_3_6"></a><a id="Tc_XZXlTpkGOUSCpzGPcQmALA_4_6"></a><a id="Tc_MNobkL3fREKRar0mZ2xkgg_5_2"></a><a id="Tc_H_FSHJ6Hz0e1rofhM140rQ_5_4"></a><a id="Tc_fA-52NnjjEqRqiwQ4_Syzg_5_6"></a><a id="Tc_sbpTb1elrUm91gYkeh-VQQ_5_8"></a><a id="Tc__3Cncv-3r0-H2DPNUHX2-g_6_2"></a><a id="Tc_9ftOtKuy0EC5oIhBHh_Jrg_6_4"></a><a id="Tc_UYUB54UYykm0lp-boFKJ5g_6_6"></a><a id="Tc_A3daKkbsqES8uZUoaHZF0Q_6_8"></a><a id="Tc_kXHElU-TjEWvhrGjub-pzg_7_0"></a><a id="Tc_t2K0tOtzX0ye8NkmmXQfBg_8_0"></a><a id="Tc_TF_9QG_9EkqA1tsQVAzEPA_9_0"></a><a id="Tc_vHpxRQGbSUGsD9pnV59_Pg_10_0"></a><a id="_ba958959_fcba_478a_b3b6_8139a7ffbcc9"></a><a id="Tc_ri-ZscGvy0ShV2e_rFpuSw_1_2"></a><a id="Tc_LnJ_WNzfQUu0RA3lPAvjHA_2_6"></a><a id="Tc_cxzejF2mWE6a0kmMkPq5zQ_3_6"></a><a id="Tc_JaCyL-sk20mydAUIPcqTNw_4_6"></a><a id="Tc_sEE3aUchKEy_a5DJoWAzFA_5_2"></a><a id="Tc_2OvQhrAnK0SI_BF586Pmvw_5_4"></a><a id="Tc_wAo6AcaPz02_rYsRY_R-pQ_5_6"></a><a id="Tc_mgsY7kfoM0aEJj15yN2k4Q_5_8"></a><a id="Tc_EthkRf6GG0CIy0GrrWdzlQ_6_2"></a><a id="Tc_XafUkuDggk-Q3NQW91UloQ_6_4"></a><a id="Tc_gEEG0Rp5M0azS16So2eZGg_6_6"></a><a id="Tc_CAYxCEXOgUuhhK3gdzwLzA_6_8"></a><a id="Tc_U4JpdEec7Eef7oDhUzFcow_7_0"></a><a id="Tc_h-4m3Od-OEqOme9K0P5MvA_8_0"></a><a id="Tc_XifjQWnAxkGo6LyUFLCPNw_9_0"></a><a id="Tc_tepdoywNQUKLQECDsvyQhw_10_0"></a><ix:continuation id="Tb_hepxXPQsvUuHs7tseLQJPw_cont2" continuedAt="Tb_hepxXPQsvUuHs7tseLQJPw_cont3"><ix:continuation id="Tb_dbtMNx_mnUO4b5jNBBliwQ_cont1" continuedAt="Tb_dbtMNx_mnUO4b5jNBBliwQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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;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;margin:0pt;"><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;margin:0pt;"><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;margin:0pt;"><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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_l1L8xhEdF0O5Jf7gjAHyhQ_7_2">3,105,044</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_3UcbDq1_OU6gLDMUnLtmbw_7_4">726,167</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_TeLpZbmQ_EG7RwB0bSTYsA_7_6">354,716</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_rs78eoNxl06vI4czWZG78Q_7_8">3,476,495</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_JejpOudi3U6cdgeSHmfpfA_8_2">2,496,153</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_rbrbrwxbsU-5jMxeioZEow_8_4">577,052</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_c0oX7att8kiRYgkAlC3axg_8_6">286,624</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_fLT0mxyJ-0y5QtsiYjGI9A_8_8">2,786,581</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_KbsKBlUBGUqL5O-yfSlmuA_9_2">608,891</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_DMGrqwbotUG7-0_szrIDtQ_9_4">149,115</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" sign="-" scale="3" id="Tc_XqnnKXqRIkO8xu5ztZXtAA_9_6">68,092</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_4kJiMBMNxUS_qJe8vMpZlA_9_8">689,914</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_-ToF6qYnH0u1L8TJxn3wig_10_2">253,105</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_b8nOyFgg8Uu9chKZmFVddQ_10_4">53,414</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_tJEypzA3L0KC8Q-Ana0Tuw_10_6">86,089</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_KdA6VFmPh0GrcB0E3YttIg_10_8">220,430</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, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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;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;margin:0pt;"><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;margin:0pt;"><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;margin:0pt;"><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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_oDaURIrelUOyEoRnqvRYCA_7_2">2,591,154</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_7CEkwFAFqUGksJqxBRaHcg_7_4">718,735</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_jqeH8HpsekWhg8Wb1Oa7uw_7_6">109,306</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_CQsigcAjtUqx0V_Qw36gqw_7_8">3,200,583</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_T1HJg5PArEymWz23z7gHuQ_8_2">1,977,502</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_UW0pWROgl0C3HpkWRNYZyA_8_4">604,856</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_ZsMb7aDSR0WlP27yA91ZfA_8_6">100,272</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_rSD1MhUVvUSNrEDzjIj84w_8_8">2,482,086</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_VWx8FUTu9EiG8B8oA6OSMg_9_2">613,652</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_HYboGKewckq0PDB_3iVREA_9_4">113,879</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" sign="-" scale="3" id="Tc_S4rb-Ix5wUqvEdImXPerFA_9_6">9,034</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_07FzOXjz-k6b32B4L8sPXg_9_8">718,497</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_U0br0bHLLkCukuIh55XDSQ_10_2">267,642</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_GpJeC613r0S6aArSgNv11w_10_4">18,795</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_-cUTwU1oZUGgcfTPbPyOQg_10_6">27,558</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_ui2_9sl-2k-R1YhCJmjpjw_10_8">258,879</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_NAiIxuXylEqsd465xrxefg" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_Ph45rGJTCEiHfDJB-NXueA">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: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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_epHFV8LKT0ib6YTJ0V_VkA_1_2"></a><a id="Tc_7pMNvBh_B0SzOVovqDAbBA_2_2"></a><a id="Tc_NyGWoj1niUuS4YoeLaJWjg_2_4"></a><a id="Tc_0MNTYIhLskiFSUDZZRpFpQ_2_6"></a><a id="Tc_0nszpZPL5kqk8Xwe0iXrGw_3_2"></a><a id="Tc_THW6wFr890qqjj9uA1DAhQ_3_4"></a><a id="Tc_2EHugbmA20KA2yrzmKTc7Q_3_6"></a><a id="Tc_6O5K42P1XkOpZlfWjVODCw_4_0"></a><a id="Tc_BN7rTIPcHE-kHGMtxduWKQ_5_0"></a><a id="Tc_hi7WaMXVvEC27Wy4a89YZA_6_0"></a><a id="Tc_UHt3H09aHUmfnnJu7bsmYg_7_0"></a><a id="Tc_njax0WGmz0qW92a3wztGjQ_8_0"></a><a id="Tc_sitBYdwVDk2XU-tNoikEZQ_9_0"></a><a id="Tc_U-mO9GMjYk-WcMrPFxRBBA_11_0"></a><a id="Tc_KiKSmiSnbUm9q01X7RGwnw_12_0"></a><a id="Tc_kdDZ0IN-DkqEbjP33rgDWw_13_0"></a><a id="Tc_xsL1oURuE0WfVulO-VMxPg_14_0"></a><a id="Tc_QK7QxAN6O0e7W0FqOxjCfQ_15_0"></a><a id="Tc_vX4OYU85Lk26c2J8OBNHag_16_0"></a><a id="Tc_HLL31kHCLU-LEbcMtS9LQQ_17_0"></a><a id="Tc__sx6c6j9MUi69wtnOuXY5A_18_0"></a><a id="Tc_X9sK2XceKEWm2zT5J6QY-w_19_0"></a><a id="Tc_qhPH1ChqOUeRNOiy0Azbdw_20_0"></a><a id="Tc_jowX7ixXkkidC40HZ69JhA_21_0"></a><a id="Tc_O3AZHRJh6E2yQX0CMfVhLQ_23_0"></a><a id="Tc_KCU5GwItr0GuFzXGgBPAHA_24_0"></a><a id="Tc_jHzf9hcAukSuEIkGmWkTdQ_25_0"></a><a id="Tc_M8Q8vrmhQ0ylO5hXLQ4o6w_26_0"></a><a id="Tc_-DFTwM3tXUO97S70QjG22A_27_0"></a><a id="Tc_SwCsXzUxFUeWh50AgAtXoQ_28_0"></a><a id="Tc_hukU4YQboE6C91RXG-P0Hw_29_0"></a><a id="Tc_oClVv5f1b0eAW5qIv6X9Jg_30_0"></a><a id="Tc_EIuAQKmGm0-e2A1b8hbOeA_31_0"></a><a id="Tc_Eek09lheZkKdwqs875Bg1Q_32_0"></a><a id="Tc_lZargJcer0KIHd0FHqmgRA_34_0"></a><ix:continuation id="Tb_hepxXPQsvUuHs7tseLQJPw_cont3" continuedAt="Tb_hepxXPQsvUuHs7tseLQJPw_cont4"><ix:continuation id="Tb_dbtMNx_mnUO4b5jNBBliwQ_cont2"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s net revenues generated from different geographic locations. The information presented below is based on the location of customers&#8217; headquarters:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="Tb_-R7B_EPXY0aJ_cq8EeQkww" 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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_US_kcl7GL-cgk2NoUoQfKKeMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_aZqCwcFKF0ym8Ob6BuWNzA_5_2">852,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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_US_obwjyyWI20m-ie9jxNJOkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_9_e0nT8nYEiD9cu8rm0GvA_5_4">696,101</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_ounkEYS5MU-j742yyGpkuA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_sWFFT-mt0kKCf9bWvjpILA_5_6">1,590,573</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_BR_sMYgLjlD006TduaR85q2CA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_pqV9GhDe6ECAe3f4oE_kYw_6_2">395,303</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_BR_h_YsQ2mGYES4oD0Suw8umw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_4Wy952s-9kS3_CZID_kUag_6_4">284,478</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BR_2Z7XNnRkpk-oZuobLNfAEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_HUDWb28Z3EOtkjkYeqUrNA_6_6">442,603</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_MX_n3yUK3QNj02spee39W3QXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_2IRUrVi3OEO_i1qaKHJx9w_7_2">94,446</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_MX_sjYVxLgwYE2-2wivQ9bj0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Uq53NLAy_kqcSOxMWXGd4g_7_4">118,846</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_MX_yjxkrx7Zv0-cUEwil_4d-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_66wPSd5up0mSvuA8usnY_w_7_6">139,611</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;Canada</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CA_P1p8fPWAJk-9GI8rGq6a1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_CQY949wpg0GvZ4xvVvUlqQ_8_2">30,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CA_Y_7sZhfQJE-zek2UtAat5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_i6euhDfg10uVdjhhv6Pkaw_8_4">100,284</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CA_ifyXKIojZk-rAYAT5VeIeA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_gCj8iGAZSkukCPL4Q-WKTw_8_6">30,792</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_2WEn1xKGe02Y4WoJOtttzA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_HPbU53vVd0ugq9O4UAyVPQ_9_2">29,731</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_avmO5iJrnk2dvNofLnJbpQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0yyIjRzHYEKk43Dkh1H63A_9_4">21,396</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_FOkgPZSJ-U26y7EBr3D8LQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_-A5QXoVGy0WTcms99vsOdw_9_6">76,015</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;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_AmericaMember_K9aecb82RESpJ1KDUEQ_LA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_SutHhqr1E0eyLx151WAX6g_10_2">1,402,041</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_AmericaMember_vkFvMoPbokmS4E6dQiAcqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Yps3vKIhd06Un_29oUwyHg_10_4">1,221,105</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_AmericaMember_-8Ixlb30SkyGFX14q0srWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_WdpwJnI7ikKkVzE8TMygsw_10_6">2,279,594</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;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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CN_ffSQq4msWUq2YE6vSSHe9w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Iz1HHH0utUSVZzqJZ3V_8w_12_2">317,077</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CN__yjfL-zxs0i3ZF-G-U4yyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_X0Fqg7NaTUKsVITb6AvJhQ_12_4">504,656</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CN_yvOhb2HZTEKp7gYLoITaGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_53--HYiA_EStsxtIZ1eEXA_12_6">1,207,003</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_JP_syVhu28sdkm6570zavXdLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_HAx6ZYga0UyYVAJEX1FvFA_13_2">372,687</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_JP_J0i7mi7680-SNEt-SRVzLA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_smdIQPvu3kCC8w7IpDPo_g_13_4">560,701</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_JP_dz7Hu8fc6kmv86IP5IcaQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IJevFt7Q9kGQ6L6T7uuENQ_13_6">509,233</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_IN_025A0qQJt0WZlHdFHIncUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_q53a3V7SpEOY14lkRgycVQ_14_2">70,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_IN_8HBUNAu91kGHNpD9skQ--g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_MTHBrIQDNkaLTzEiDBfXSA_14_4">61,141</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_6blmn5-u_EWa4J8JZ8zjpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_jGS8Du4JB0WGkLW3n8YzPg_14_6">142,300</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_TH_CevHWHCX6EWhibZThSlL1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XqDYpYHvJEe1Th7luiaUSQ_15_2">12,753</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TH_o7iSOZFaaUyOuPR6-MXDqQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_FauMZhr5D0Gj-QGn0ViYqQ_15_4">6,108</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TH_3-PjaagcgEipiqXmhN535g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_CuwU3tKLY0Kw3C_gS93n4Q_15_6">59,451</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Cyprus</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CY_WQyr5kI250WUzcsEew8xpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ABmTZectLEOMH7VWQIZSEw_16_2">2,175</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CY_QHWoCddDXEmY5qy5US4srw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_B1HMbb-EBkivdKGuOp--Vg_16_4">13,265</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CY_NRBrDEC_rU-g6JcBM8tWFQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_jiNVIhIFpECxwmJjjL-wcw_16_6">51,038</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_PK_p5H5rYm01EK96gO4jbcOMg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_U8kXWexZQUeaOJC-9lBj3w_17_2">10,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_PK_kg1qWE1xR06nh35rvWMTzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_tFpMqhxKmEGD9loSZstnUw_17_4">15,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PK_3lQh_Gvy70eKmIJIkSFoLA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_l2tsNDAkxki13mIOkGW47w_17_6">48,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_VN_lH6vEXweRk-VY70kZNSO2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_cJ2_1JUwWUCBjxYzca6OAA_18_2">39,268</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_VN_O9q9uO35JkWPi7CeIN9qog" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_7-1VizLZKEa6YoaEQ5L-Vw_18_4">289,621</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VN_qLEhN3JSmUi-_L5amFdAwg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_VQkLrF1rn064CPm0HBOU_w_18_6">19,956</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AE_zmM5XiDgv0O8mDIbrFXu4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_n1RdrSy5t0ill5sFFmohQQ_19_2">43,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AE_FgwyIB6BbU2erbMiYl11cg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_KnWS4bl1PUCqzvfArjJz2g_19_4">53,981</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AE_R271JHSniEiwqf9ulABpjA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Yxw5mpzmU0qUzojumSi9Dw_19_6">6,168</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;Korea</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_KR_XdyHYRK8tkCBv8v7TiN5XQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_HhC3DB_XMUO5wFYLRXaWMw_20_2">72,552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_KR_s-mY1aHxq0y_jPzkER6Kuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc__9j7pKiBrUyNZj1O2258tg_20_4">25,896</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_KR_lJrYExlW_UWZlFccwHZBXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IEY0f5f_Kk2SDLfSCURFjA_20_6">3,413</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_E5KDnSPpy0m8jrwPjS5Ogw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_RiHcfxT74UWWkagBga_fhQ_21_2">76,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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_pDi1VqZjH0OqNDZGnPPvNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_4YkPrPC-JEKqEm5ELWjAvA_21_4">90,054</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_UwvZkTWoZECweW-yP0UtLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_S30UEEfrPU-E2qpJ54Oj6Q_21_6">91,670</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;"><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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_AsiaMember_p9DYRhnbUUaEcN2QRprCBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_N3PhnQOWik2cNcMdyFYOEQ_22_2">1,018,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_AsiaMember_COpLvZuVL0Kegh20hCJIFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_cxTdgAATTEibGGGBIFNe7A_22_4">1,620,840</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_AsiaMember_8FGrK9tKT0KIijm-8CXkEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_BZSBWxaGxkyZBb7uN79YdA_22_6">2,139,070</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;">Europe and other regions:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_DE_69IbvdmTfUyIcQdPjmPXZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_cpySZBbp9EehPqJadxSFVg_24_2">109,119</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_DE_LtHima8Y8EWu7VERlRaNcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Fj7WRKj-EEu8E66mjuAc6A_24_4">119,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_DE_F7GFkec1O0qY4xEV01WwGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_GJPbnRT6VkWZf8I5KSMXjw_24_6">231,995</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;Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AU_7SAuLRbnHUi5qiB1_pgcoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qIxT6TvPA0mazwmQg-_Brw_25_2">313,167</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AU_t8fS0Ch970qncTfbcB7Q5g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc__1lzYB9heE6QiZSy38PhtQ_25_4">120,403</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AU_zVOIiX1A_k-Fq-7wnYraqQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_8won6FSvqUivhls0GvXthw_25_6">165,772</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_NL_wokvyHKHNk2-cFPOz8DzuA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_peQoRabkwkmHVxDwP6gDpg_26_2">68,770</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_NL_4V6S4bw-Vk6BG7Q5qci5Kw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_d2otxtOp1kCJfLO43HjpQw_26_4">96,372</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_CfFX0--CQEyO6REezT5ERw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc__Zm2_UHKQEq4OSCuKcNGqg_26_6">104,715</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;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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ES_FT6PFbwExUSXEwZgaYGlFg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Q4JOnFrb0kKuCAn799zLgA_27_2">78,228</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ES_z15IRQI69kaBW8OT4y7IyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_hWcbUxbD2EuNEp52mzkU5Q_27_4">138,972</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ES_iabk5z2X4UGye1o22t_JBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_N_DYQ9zCY0yIdlMks5UKqQ_27_6">100,658</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;South Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ZA_MyaPGY3R1UWQc9LoIN5Ypg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_7YnQmoP-OESlwCNIMYjnjA_28_2">93,911</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ZA_-YgFz3p-sUOgbhrjldy9RA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_-ueQEhWfI0mD9BUYJ1iH2Q_28_4">49,375</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ZA_FRHfS_PpL02knINtBrjUcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ypQkJ0o4SU-C3X6RC_nruw_28_6">90,761</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="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CZ_W-4sW9wC7ECstQma09LzlA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_-UaM4ol0rkSxnBwQ5fOf4w_29_2">17,717</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CZ_9DEo53GbQkCubC064jn0Jw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_23ectPCEfUK9lof_dPoZng_29_4">16,144</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CZ_0WNWq8-3dUSuOgpslu_t1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_nIIUBBoEqkadWBUMVnUbzQ_29_6">34,604</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_FR__MKZbggBPEi9tNH5b3Mszw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Sc6t45dkaUOnc0aYQVdGtQ_30_2">13,516</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_FR_J2YUr7mV5UaY1hWBc1dZUw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qj0paduN5k-aZTBgXeWdBw_30_4">29,974</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_FR_MaBvpEpqNU6cH6uKxO-wNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_1Rfh91vav0WKHefdxsM_Ew_30_6">25,980</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Kingdom</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_GB_DDsRIq6HtkGXzLTGSuG1yQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IWfnRoI0o0OmFW2SmYYckw_31_2">33,158</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_GB__0X9Jn6aXEqUUUsUnpyWlA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_jGVZBOg220yaBH9nrfP8uw_31_4">8,842</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_GB_xn8PghuykUKW5xlIFyVIUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_E9aBlOuh2EasvnWJBZfx3Q_31_6">7,749</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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_LfEFSvPEY0SbGruHIe6UCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_tu7BBGCt1UGZM241x8QF8A_32_2">52,873</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_E_I5ixiw50uOs3QnD1PkMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_O4IM9dBuXEOiuGDLQOCJWQ_32_4">55,433</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_7F96sK53PkSFbnk-mC_6lg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_1btxZEvnE02Ro-XX4eJh8Q_32_6">96,271</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;"><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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_SnqdvI77aUio2uP6sv4lfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_WHc2DlHIi0SZHqELTNMJ3g_33_2">780,459</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_EuropeMember_d14FNsQhBEqSJ-ccwDkKUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_JZCxX4vZFku1m9bZ5BqtJQ_33_4">634,550</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_ltgvwZgl6kqVBxR9oYKwwg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IzkyKZseGkegVUcGqKBaSg_33_6">858,505</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;">Total 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;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_k8ZVkO8UiEqhdkIZ2wprkA_34_2">3,200,583</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_vyCBKTqyKkmYWOH0irh9pQ_34_4">3,476,495</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0vVsKfwojk-FaLLTCgfHYg_34_6">5,277,169</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;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-61</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_Ejonoea7ckyQVwI2LBQ9qw_1_2"></a><a id="Tc_F-Lau-lWXkuy_G5zE8_H0g_1_4"></a><a id="Tc_MmY7azbpV0mEvdjEanaPHw_2_2"></a><a id="Tc_-SsZaiKjhE2YA4m_OAotFw_2_4"></a><a id="Tc_8uTuCxnU-0CrTBhBYTIWiA_3_2"></a><a id="Tc_1D9WfUd-cUC6o1ol5QbNMA_3_4"></a><a id="Tc_wIhdjrZ3QEGpOQyyHZOGmg_4_0"></a><a id="Tc_AK1MCEAnoEeEobwnqYTGeg_5_0"></a><a id="Tc_YJrEfW5KfEu7GX_xkC0c_A_6_0"></a><a id="Tc_uoAaBYuk8kSBpQhuYekr3A_7_0"></a><a id="Tc_ykqT0254J0G887OHi-Q4Tg_8_0"></a><a id="Tc_gXuYpuAB4UGvAQ24tFi36w_9_0"></a><a id="Tc_vEmFlIK4REOzurJcEHpX6w_10_0"></a><a id="Tc_vkKEvmnrJUCypJbQmNojvQ_11_0"></a><a id="Tc_7qWSzPjZz0m4AxSvOfYv_Q_12_0"></a><a id="Tc_6QvnMqnkmUWnISpfKsUKRA_13_0"></a><a id="Tc__PEk10OTqE-k8mb8xpAV5A_14_0"></a><a id="Tc_NDUrKHJoJkiYFxFKmZiiwg_1_2"></a><a id="Tc_65bjY610cUqcAItriR-k2A_2_2"></a><a id="Tc_01hRnLKrB0iVsjFHnqZ4Hw_2_4"></a><a id="Tc_x51232H9CE6MrzMT-22Icw_2_6"></a><a id="Tc_vH1lmfhxEEuJASimo4RFRA_3_2"></a><a id="Tc_ufXEOzqxYUah4qQuv7ktRw_3_4"></a><a id="Tc_pXrTHGSVUECSKYdrX23qBA_3_6"></a><a id="Tc_EdUf5e5lAkeVIz0OO9dxUw_4_0"></a><a id="Tc_n-dE8FgSKkWuFXYfUUAtCw_5_0"></a><a id="Tc_JPKCORF7IkSlDXh5AexwZA_6_0"></a><a id="Tc_CVcPPIOoh0WaLdyD1cHxYw_7_0"></a><a id="Tc_hXT1dPLNgUWfpZl8yTnpOA_7_2"></a><a id="Tc_mxsmmgdT5EOa38Ibp0j2nQ_8_0"></a><a id="Tc_eKpWaf4JAUiHb8TVbssrsg_9_0"></a><a id="Tc_5nuQO-UcB0KijEOMarDqtQ_10_0"></a><a id="Tc_LC7x0DNfaEGesX2aAL60DA_11_0"></a><a id="Tc_pfCJZTifOk-ipeuQ-zyK5Q_12_0"></a><a id="Tc_f_SYm03Dr0SGEHLlft8XsA_13_0"></a><a id="Tc_m7RdyLQ0Mk-6gmvdzih91Q_14_0"></a><ix:continuation id="Tb_hepxXPQsvUuHs7tseLQJPw_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets at December 31, 2020 and 2021 by geographic region, based on the physical location of the&#160;assets:</p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" id="Tb_H__3T2MVSUK_OUJXeozOEA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_CN_xD--h0hBtEWjZeXt1dVZaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_1eoIv4ZHGEqTnTr3wgXp5w_4_2">1,002,409</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CN_Vv9ECZXhBUqVSqaiYdNv7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Gjx-pFFrskCwN9MFTnClJQ_4_4">1,230,613</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_TH_C5t0OHERH06MxOiv9qX_Bw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_x0rCfz4YukeKbAZH2K8TFQ_5_2">295,240</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_TH_pL_mtBZ17kObDk71r0912Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_s5H-peZjN0iK4tdzt0LaCA_5_4">266,870</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_JP_LVfByFK54UuYea7EzoYHpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_0-8fezCiJU-qBRprGIFtQA_6_2">204,515</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_JP_5TgPNpsLWEqwtV7kFtrNNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_oalBPtuOBUKdSoCpqF_3ig_6_4">191,680</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Argentina</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_AR_IBPjEDW7yk-ehceVg8LGYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_z-twF9TX10qpms-sFW-ILA_7_2">64,208</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AR_mOizzBcYDUeY7_Sw4QH0mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_OINNx3cpP0ejkFX8opjJ0w_7_4">68,508</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_MX_FNReTwoNKkWtT6lsA2Ct2g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_UrWziW6DzUiaNkjlIenukQ_8_2">12,388</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_MX_-B0524S91U2e_xI_KptfDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_MgteV5ckEUiNVf38csRc4g_8_4">68,331</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_US_DFdlzqFh9k2WxcLG2vckyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_3cdneKSXSUSg19Y0bhSYjw_9_2">64,009</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_vYuCIls3x06juvq0UpbAgQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_HYJjJ23q0ESKtdZG0aMHkw_9_4">65,700</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_BR_ncq-bwAny0C3movTaO2GWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_RcaepKxVqkOHhdoXN3lhlQ_10_2">16,109</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BR_xqu7C1q3nUGlt1e8bzYhQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_IacbU_koCUOmQsDYFfGIjw_10_4">63,716</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_AU_Pv54haYrZEOOOcGrymBAtg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_pqcZGT3sf0C1QiR7oj0sKw_11_2">76,330</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AU_sq20Djqv0UK02ctkHcDcpQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_V7OR7zrsnkqLZ9GStY_m5g_11_4">15,024</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_CA_fsiivO6aTUyasL-XrVoDeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_ASlIP_Yl00yDOOyPUoi3Pw_12_2">8,898</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CA_16gKn3wFiUGP98TbNxlINw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_1aUUz2aMrkWLi8E3M4zf0Q_12_4">7,050</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_hPStx7B-oUqpOt-829sB_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_rPWKzggVvEO09EpM-nnORA_13_2">46,432</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_choycYnP-k-7cxsVxR1z0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_v1WlCwj_T0-Rad7DxSQR-g_13_4">55,905</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total long-lived assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_UkroAXYWYU-mViUW_KdW6A_14_2">1,790,538</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Y1bMFKZcMkO98LhydsztNg_14_4">2,033,397</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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" id="Tb_FfP2e2FS6kCDNeoDNBezUA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</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;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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:center;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:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__buqhCfzBEq4nwC7ZlybqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_UigNy-zEskuLLDt8XEBpsQ_5_2">2,012,059</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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Pxi5U7zL2EiSTRr96OyEBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qCAQqoG1dEi2yMAlckPTZg_5_4">2,348,724</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_goAn8WflEEmaIplAfD1fBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_V-zLjf9kTUqjGJv0L1JAmg_5_6">3,328,301</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_l52SeNDL4kCfpGSsK_MIBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_A9SoQHWPjUaqWPF0JdXSXg_6_2">116,449</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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_RpK33S0yw0ejhXDpUMlgZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_2HL_l5EQBkax4kQRjhsjFA_6_4">157,656</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__dxh-hXug0Kv6Mf7i-oDSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_PNF26abhXk6sBpYz23jtFQ_6_6">302,133</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Battery 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;">&#8212;</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_frMQ_n69CEOUNNQmgaVHVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_r8gMons3UkmBvOoCEJireQ_7_4">7,899</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__fOxEYDmE0Wyb8c_RaSG7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_RHBoOeVj40OAzrtCXERHKQ_7_6">222,655</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">China energy/EPC (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_3kavcihnPEOS9MW1xFNXKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_M5JdRFv-DEWfFGnH4zhTIg_8_2">58,096</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_J0UO1kdQEkCk_W85pXZqwg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_VNvkuwrMvkm4eH9Ki2DrDA_8_4">175,388</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kcEA_3b1nEe83mUCC3S1ew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_VX2Xrz9cmEyfSaUj0P4oLQ_8_6">178,830</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Others </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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_1LVd4QPHDkOCmCY6PJ4XfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_RZj6i4284USqFxOeiAJkBg_9_2">295,244</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_QQPCBlw0VEKw7OBsPVZddw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_JZIIB4IrMEKSKaaHME6Www_9_4">60,661</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_peQqG8-OlE-ZWdJ0e8ZpQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_polveD9i-UqTVtjBhH-FZg_9_6">121,167</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Global Energy:</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;"><span style="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="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="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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Solar and battery storage projects</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_gltzHARFf0-8RAQrVXEAiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_tRd86OJ_s027vWipObtXEw_11_2">652,050</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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_79M2RwvBWUGMmil6ZOAwcQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_v0bHvfkAVUOirx75ZqzzGw_11_4">654,827</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;">&#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_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_xZtmy427aUKvoNbTgF7TWw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_24sXCF4d20ebmx5Fr8dMig_11_6">1,064,178</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">O&amp;M and asset management services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_OCFHpCZGQkOzU-OhL62V3w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_OSsh2O1PqUC2BclvTt9RbA_12_2">19,750</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_rrU8t1CnrUiy5c47fTJ_xg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZCRUAWQR7kS2Nk4lg0MQSQ_12_4">26,386</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_d2DSZWhyakma-X6rZNGLwg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_MEQ0hBG1hECb1bYzlvEl9w_12_6">35,334</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Others (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_N2KxbgY51ECHEiBfa7X29A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XWjhEvLNXEaU_c0OvTotfQ_13_2">46,935</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;">&#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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_e-ac77NIhUe2vSgPG9LegQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_hFKDcFo9PUGDTMiXEaW8ww_13_4">44,954</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;">&#160;</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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_zAX-wpHoOkm_5LC1t9loKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_9cqaek0JCEmqWLmj2HT84A_13_6">24,571</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_zbnuidZLo0-mOzQueWT82Q_14_2">3,200,583</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_EL7c-V5C8EmrULeAu2sluA_14_4">3,476,495</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IF4JmvyLe0uocnoMoN961Q_14_6">5,277,169</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="csiq:MajorCustomersDisclosureTextBlock" id="Tb_OmAa4B9JrUCm2y1QjsMNmw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23.&#160;MAJOR CUSTOMERS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">No customers accounted for 10% or more of total net revenues for the years ended December 31, 2019, 2020 and 2021.</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 accounts receivable, net from <ix:nonFraction unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfCustomers" scale="0" id="Narr_NXgKOH1eWk248GGyTwmn4A"><ix:nonFraction unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfCustomers" scale="0" id="Narr_zju9QWUCdkWgPM0KqmvjJg">three</ix:nonFraction></ix:nonFraction> customers with the largest receivable balances represents <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_disP1NReJE60KKYXewwHrA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_ApNmwvOrzUKgoFITsBPnqg">7</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_i_8gtFGcD0ixbpZCGc_LGg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_gSNUXib_lkizBH6tyYHUwA">4</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_UYQZdkvKbE6nysGhvjMsZw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_WGOqZY0HWkaILThI_RMqAQ">4</ix:nonFraction>% of the balance of the account at December 31, 2021, and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_96rt145tuku5BCo-ttooCA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_uPZVIPYP_UypwYhDxsTjfA"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_96rt145tuku5BCo-ttooCA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_cKNE__NR8UmoUtzb9gNISg">7</ix:nonFraction></ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_hGJzyZAl1EyArdM16LuAZg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_BIKc-ZsNLUOVzzmAHfo9ng">3</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_g27esvantEmJMcwiOmQJlQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_c4shmPrG4k6Y6sm5cH70zA">3</ix:nonFraction>% of the balance of the account at December 31, 2020, respectively. The balance from the customer with the largest receivable balance is $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ukvolv_-z0-rusmhvRXrBw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="3" id="Narr_ZIKVxAbNK0eyL0n19dm0Xw">27,014</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_4dMixeIV0k2MxTCQ_xANYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="3" id="Narr_lI0aYEWT6kmLt4BjR_iilg">42,812</ix:nonFraction> as of December 31, 2020 and 2021, respectively.</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></div><div 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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="Tb_RbL-7xi9pkmPgcDFIhCqRg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">24.&#160;EMPLOYEE BENEFIT PLANS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Employees of the Company located in the PRC are covered by the retirement schemes defined by local practice and regulations, which are essentially defined contribution schemes. The calculation of contributions for eligible employees is based on <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" scale="-2" id="Narr_2qxih0SsVk6vE1uQTpOudg">16</ix:nonFraction>% of the applicable payroll cost in 2021. The expense incurred by the Company to these defined contributions schemes was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_a2PRulzkwUa3wYJXp0tERA">11,738</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_QuplxU7MK0eM9GHJl8RuQg">8,064</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_2jaOfkS7q06Vw-yflUs1BA">14,362</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In addition, in 2021, the Company is required by PRC law to contribute approximately <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA" decimals="2" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" scale="-2" id="Narr_Ab2Cqslaq0KG5YE2xFyI1Q">6</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" scale="-2" id="Narr_Ej52xEwMf0Ww01flACwU5A">8.5</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" scale="-2" id="Narr_AZK1_VwCKkC-fKnae3vLrg">8</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" scale="-2" id="Narr_IbsHDCTT5kGjDR0s2ZvSnw">0.5</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" scale="-2" id="Narr_NWfqL0bcFk-1i1AcxnoZtg">0.7</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" scale="-2" id="Narr_vRIHIVVEzkCWSIOM2EEFxg">0.9</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" scale="-2" id="Narr_QshbfITlS0C92rxo4kyCFA">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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_xYlrVj2nHkOPofJ9GT-lqw">11,409</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_xAlIqfBTPEylhWldNi9gJw">11,486</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_RJ1JlZROxUeg06egy9SF3A">13,584</ix:nonFraction> for the years ended December 31, 2019, 2020 and 2021, 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_PQPMtdaNrEaKCUtUfW-Ziw" continuedAt="Tb_PQPMtdaNrEaKCUtUfW-Ziw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March&#160;2006, the Company adopted a share incentive plan, or the Plan. The purpose of the Plan is to promote the success and enhance the value of the Company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of the Company&#8217;s operations is largely dependent. In September&#160;2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of options, restricted shares and RSUs under the Plan to the sum of (i)&#160;<ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_9_30_2010_s3G9vuVMLEKbL1Z0MxJUeA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" id="Narr_3iepiGMFW0iFUtsoLlG18g">2,330,000</ix:nonFraction> plus (ii)&#160;the sum of (a)&#160;<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2010_To_9_30_2010_aDjHad5NhkKa41D5WWigvg" decimals="2" format="ixt:numdotdecimal" name="csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" scale="-2" id="Narr_3OzXQ1GxIk-gmTnHRrtvXw">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_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_9_1_2010_To_9_30_2010_aDjHad5NhkKa41D5WWigvg" decimals="3" format="ixt:numdotdecimal" name="csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" scale="-2" id="Narr_e9ebC1Qq50ifZfNob247dw">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_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="INF" format="ixt-sec:numwordsen" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" scale="0" id="Narr_1ta1HFrmz0u1cVGLOMdLcQ">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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" format="ixt-sec:durwordsen" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" id="Narr_2MwVamXfrE2NwnZYS6AR6g">ten years</ix:nonNumeric> from the date of&#160;grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Options Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During the year ended December 31, 2021, <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_itahHxtTc0y08hLwjrxP9g" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_hxYFI84DN0eyFwKbkE70zQ">no</ix:nonFraction> options were exercised. The total intrinsic value of options exercised during the years ended December 31, 2019 and 2020 was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AyfQqXj0OEuY59P6o6pN8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="3" id="Narr_4h_8D7asyk-xHF1A0dusBw">1,422</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_A0PbjptT40qA1djr0E_bCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="3" id="Narr_BpABGqFcc0e16d8z8ubQ0w">893</ix:nonFraction>, respectively. As of December 31, 2021, there were <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_0xADt5H0X0WqyNWDyC3JJQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Narr_9G1uQyyKYEWn9MjgustfUw">26,291</ix:nonFraction> options outstanding with a weighted average exercise price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_0xADt5H0X0WqyNWDyC3JJQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Narr_zb4Xt0wzDESBQS_YbZ-Cig">9.33</ix:nonFraction> and weighted average remaining contract terms of <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_itahHxtTc0y08hLwjrxP9g" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Narr_UTRQVMYE8kOqraYlMuLiaw">1.4</ix:nonNumeric> year. The intrinsic value of outstanding options as of December 31, 2021 was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_0xADt5H0X0WqyNWDyC3JJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" id="Narr_F85zJIhnb0S7IwL0Y9MBFQ">577</ix:nonFraction>. <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2021_NIDZlaYFMkadD_qI5h0k_Q" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_wv7yxMJyGk2UZsvT2nNfkA">No</ix:nonFraction> compensation cost on options was recognized in the years ended December 31, 2019, 2020 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">RSUs Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company granted <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_RyGOuak2hUG2Vk9Wwaw2Hw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_pwDsSHBzHk69G-HhgiLtlg">706,637</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_W_fJ8AvjlEGpNIoLk_ydbQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_mZqdZLIwIkeNhPeR2MtAjA">1,105,640</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_zJq9mSmheU20-NikVDl7vQ">2,161,098</ix:nonFraction> RSUs in 2019, 2020 and 2021, respectively. The RSUs entitle the holders to receive the Company&#8217;s common shares upon vesting. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The RSUs were granted for free and generally vest over periods from <span style="-sec-ix-hidden:Hidden_tRh4ksMz2UOesLNzdD09kQ;"><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_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_E7NIB9nvqEGtpcO-tbnOdw" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Narr_rvtDUkA7_E2SB3MBIES3HA">four years</ix:nonNumeric> based on the specific terms of the grants. In 2020, <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eE4SLBxJQ06ddZ7dQ-gIHA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_UVAvj7ZnSEi5pNKB4RFqBw">2,096,000</ix:nonFraction> of the RSUs granted were made to the Company&#8217;s directors and a group of key employees, whereby vesting is contingent on the successful carve-out IPO of CSI Solar Co., Ltd. (<ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eE4SLBxJQ06ddZ7dQ-gIHA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="Narr_IFNijDRRRUSQXUOx8iw4bg">50</ix:nonFraction>% vesting on the IPO date, then <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_Ba4F7CshTkedjY241WQqng" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="Narr__kVIqN06dkKucRskMv4Ouw">25</ix:nonFraction>% vesting each on the first and <span style="-sec-ix-hidden:Hidden_Lf8efQ4fgkqF2AE8deQC3Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">second</span></span> anniversaries of the IPO). The average grant date fair value of these awards contingent on the IPO was $<ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eE4SLBxJQ06ddZ7dQ-gIHA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Narr_A7_Zgx4tMUCzthokcqwCKQ">25.69</ix:nonFraction> per award. As of December 31, 2021, <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_JJPbs518SUanV96zQTpuGg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Narr_uVVTITc9EUGva2tGr7KifQ">2,076,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 6pt 0pt;">The fair market value of the Company&#8217;s ordinary shares at the date of grant resulted in total compensation cost of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_bZ3OUS7aTEKOi3hgmjSecQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="3" id="Narr_a8IVHAcSYkOX8VFW0vvNvg">12,179</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_NgDk0xAAPEWrdShd8yHuIQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="3" id="Narr_GV9h0FTCg0aAq3LU9CNblA">24,918</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw" decimals="-3" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="3" id="Narr_iF2Kweqsjkef5TrWHV5Ofg">55,822</ix:nonFraction>&#160;that will be recognized ratably over the vesting period for the RSUs granted in 2019, 2020 and 2021, respectively. In the years ended December 31, 2019, 2020 and 2021, the Company recognized $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_RyGOuak2hUG2Vk9Wwaw2Hw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_GLX7HYqyckOumr2mGXGA-A">10,682</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_W_fJ8AvjlEGpNIoLk_ydbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_yIOJ5zpjd0mTZIF--9szFw">12,350</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_Dsv9PiHfAkGWUCeCxr9wUQ">8,808</ix:nonFraction> in compensation expense associated with these awards, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, there was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="3" id="Narr_ijhml320RUGc0-lBD3f4Zw">22,002</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_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_gClMcKQrIUmSX4xzlM6Hfw">2.35</ix:nonNumeric> years.</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="Tc_ZJsKHGm-OU24059iFZxpHA_1_4"></a><a id="Tc_sYNHQS1R9Eib683qHW6w2A_2_2"></a><a id="Tc_NsbKnc122EWBPqWg_xDgWQ_2_4"></a><a id="Tc_RZ7oHnvdR06d-YwGKD4LGA_3_2"></a><a id="Tc_zNQPumWdFEehxHlcahB-7g_3_4"></a><a id="Tc_qGyyu4m4ekenWuKuqa5P4Q_4_4"></a><a id="Tc_aRUUlAv74kqqQxTbEZQDuQ_5_0"></a><a id="Tc_3R4FeWxvoEyi5SoHEFPHmA_6_0"></a><a id="Tc__eQemx4jikW-g3cJMipbHg_7_0"></a><a id="Tc_2HKvX997-U2hombH8hp-Bw_8_0"></a><a id="Tc_pg7L3cGVskCaDZbfhXZzHw_9_0"></a><ix:continuation id="Tb_PQPMtdaNrEaKCUtUfW-Ziw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">RSUs Activities (Continued)</b></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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" id="Tb_5txsvU0A2UGDZVfJu0UJBg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in whole US dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January&#160;1, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_NgDk0xAAPEWrdShd8yHuIQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_dOlRs1T64UCcRIwbWSrDiw_5_2">1,888,753</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_NgDk0xAAPEWrdShd8yHuIQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_OC5AQv819E6J53CVzEXEHw_5_4">19.78</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_7oez6UBJGU-a_gFkHrkG5w_6_2">2,161,098</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_Yc9-rdGZnEiUDsVrm93ofA_6_4">26.10</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="Tc_1iQ8A5Yt_E27f8Ej8KDOyw_7_2">562,376</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><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_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_dKSZ16hiJEKqWNPFQLYaCQ_7_4">17.11</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" id="Tc_GUjFn8yTX0632qIK5-gkLw_8_2">152,172</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="Tc_STs5fdsRWUu6Cns0PDBfbQ_8_4">22.04</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December&#160;31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_Mb4ixGU7HUCE0O3X5LUSPQ_9_2">3,335,303</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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_O4pxqksENkanvcmsdJBRRg" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_Z4NiRUCZbEuwHlwFa08j2w_9_4">24.23</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 total fair value of RSUs vested during the years ended December 31, 2019, 2020 and 2021 was $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_RyGOuak2hUG2Vk9Wwaw2Hw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_7VdC4iEeGkeoL1PVBlHFyQ">10,733</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_W_fJ8AvjlEGpNIoLk_ydbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_iP_PDtXpX0ikOnj8Yzmarg">14,420</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_UYdrepDht0C6HvmpKvUJ3A">21,628</ix:nonFraction>, respectively.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="AdditionalInformationFinancialStatementS"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" id="Tb_-IwmFnF25UW6zIN9BAi-Aw" continuedAt="Tb_-IwmFnF25UW6zIN9BAi-Aw_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; Financial Statement Schedule&#160;I</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canadian Solar&#160;Inc.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Schedule&#160;I 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, 2021 of $<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="3" id="Narr_ny6idPfw-UyQiCBi5rm3lQ">602,460</ix:nonFraction>, exceeded the <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" decimals="2" format="ixt:numdotdecimal" name="csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="-2" id="Narr_EhnwSM85z0OMxgrbTYTf_w">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.</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_de4b13de_f90f_4fb5_85b3_884a8452bdce"></a><a id="Tc_THEeQfCkWkyeY3rux-UTVA_1_2"></a><a id="Tc_lFYjiJWjWEqiYfUg5xLPXg_1_4"></a><a id="Tc_v_0XzH_kik6c9V0O0ej3Qg_2_2"></a><a id="Tc_cUjK4Ffs-USGiFDfMQoGtQ_2_4"></a><a id="Tc_rTyxrFNg1UO73X_5EJ59Iw_3_2"></a><a id="Tc_N6v2TMyAiUCCzlNRxTP8xg_4_2"></a><a id="Tc_2gg8BJklQ0-2uQTfkS85kg_5_0"></a><a id="Tc_il7iqiIyhEu-50uos7f-sA_6_0"></a><a id="Tc_9476ZE-niE6ebNw8n9GmiQ_7_0"></a><a id="Tc_vVlKBq4VyUuB93-HqQRheQ_8_0"></a><a id="Tc_yw4-v4xCwE2IjMQst1isfg_8_4"></a><a id="Tc_2h6pH7hYlU6D99UZyXTTWg_9_0"></a><a id="Tc_B-uA-5eNBE2D2HD_UD81-g_9_4"></a><a id="Tc_4G4tVdP_f0mtyL9INnnVwg_10_0"></a><a id="Tc_hjlJFgBmv0-ZJ_VbQ55GuA_11_0"></a><a id="Tc_igN1oONvMU6iqVdpHu-5jA_12_0"></a><a id="Tc_PCak6zwbFE-LrBEapFdTEQ_13_0"></a><a id="Tc_Ac2bwwftEUGMhGs_9tKH6g_14_0"></a><a id="Tc_MJRLZbOIF06gjdEXf-zuJw_15_0"></a><a id="Tc_2n7fdWyVs0StFuAjl1ngqg_16_0"></a><a id="Tc_SWnyfqOu80e21UVwhu3Fhg_17_0"></a><a id="Tc_q36VcjvQoEKgbzg6kwYC6g_18_0"></a><a id="Tc_Fa-T3Q8OeE27Tjy1aNd6bw_19_0"></a><a id="Tc_JOlhkcZ2zEiwd3Rt7t3CQw_20_0"></a><a id="Tc_oCTw82dj80mzwTab9HbgUQ_20_4"></a><a id="Tc_MRmBoYiVvk6eXtw-UoLhiQ_21_0"></a><a id="Tc_TAJ9mYh380-OziIQOGjhIg_21_2"></a><a id="Tc_cJniRWIRmUizTnoj9tP07Q_22_0"></a><a id="Tc_FUvekQsBQkil3SE_VX7IDg_23_0"></a><a id="Tc_MTIo_RmWnU2GG7utyDshrg_24_0"></a><a id="Tc_z_rvEVV7N06YqbW-1EQTDg_25_0"></a><a id="Tc_pslCy0fawESpMeJMQDFdxg_26_0"></a><a id="Tc_yZDoU11_8UymJjpv416f5A_27_0"></a><a id="Tc_bKjeg_K_X0SnqoNa6lv_yw_28_0"></a><a id="Tc_ED9lp1Rwy0WjliveTMe1-w_29_0"></a><a id="Tc__QJFBRsQbES0rK2hxLBhIg_30_0"></a><a id="Tc_YGJNxFHEO0eC8MPJI1DCVw_31_0"></a><a id="Tc_lketFsxi8ki3OKXguTzPfA_32_0"></a><a id="Tc_EeZ0isVkfUGtUUX6cmpO0g_33_0"></a><a id="Tc_Q57qxz19kkWntmnNt-OSGQ_34_0"></a><ix:continuation id="Tb_-IwmFnF25UW6zIN9BAi-Aw_cont1" continuedAt="Tb_-IwmFnF25UW6zIN9BAi-Aw_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;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;">2020</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;">2021</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="5" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">share</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_fDTBFIrZyUuwKNjBJHfAtw_7_2">33,709</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;">&#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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_5vU8yvC2tky_uZAFpDztQg_7_4">27,432</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;">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;"><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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalents" scale="3" id="Tc_REQs9_amHkmxzHYpnSZxtQ_8_2">1,316</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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due from subsidiaries, net</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_tMY4boccI02zUp7UN63MoQ_9_2">288,226</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;">&#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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Derivative 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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_I03IrTV8w0WX4RgphNb4Cg_10_2">1,111</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_mbqTeQ0POEyM_hwrbtnWvQ_10_4">521</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_5sH_5gDS9EKon9ubiWLEfw_11_2">22,672</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_FQ3-kQjCGkC1PyL6r1HSHQ_11_4">5,318</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_iQqdIJp5pkeDvJB2CbkdEQ_12_2">347,034</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;">&#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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_xO4uhtcb2E-HzaObFjpX-g_12_4">33,271</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;">Investment 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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInSubsidiaries" scale="3" id="Tc_p1emZpyn1km2_oRQyZubVQ_13_2">1,525,951</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;">&#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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInSubsidiaries" scale="3" id="Tc_q7iMH6347kWAzB7WiRtXFA_13_4">1,992,658</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInAffiliates" scale="3" id="Tc_kU_9yFS-UUua0G-jUdzcGQ_14_2">5,322</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInAffiliates" scale="3" id="Tc_wDdR7kGdTkG4-otOmItcCA_14_4">10,755</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_JAEKTcPXA0O8gSYoB-Jt2A_15_2">21,358</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;">&#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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_N31_InQTx0me3kqYwgHwuw_15_4">1,946</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;">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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_bAIvBeJmrU2Ca_Syx1VCQw_16_2">40,456</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;">&#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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_r_c4em8lp0SAck59N6G1Wg_16_4">45,213</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_PYMRN5hwfEmjUXIGkpMtHg_17_2">1,940,121</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_43rRenJWX0mXTOaDh02Jsw_17_4">2,083,843</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;">Short-term borrowings</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_oIkw9L-SiUScP3dGsgxazQ_20_2">80,000</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;">&#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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due to subsidiaries, net</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;"> &#8212;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_bXIgSnVwyke0chGA04J42Q_21_4">43,415</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_rw050WRbxECI7uDcMsDNcw_22_2">32,969</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;">&#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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_eoS1UXDTsEqqub4sYwcRbA_22_4">5,676</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_l3A5FO17kkKHOQIr8_GgSQ_23_2">112,969</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;">&#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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_frxxkLQFek-R63i9QdYO6A_23_4">49,091</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc_o2_2XZBUsEqA-MRNh7lP6g_24_2">223,214</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc_bsQuLoCE8UOHLiegHCWukQ_24_4">224,675</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_SQdVjuKIVkK_LWKsdgpsYg_25_2">20,169</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_s84vVL4QWEKrvbg648Qh7w_25_4">1,562</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_1Dqs2b5J_EWjyyZuXaP_1w_26_2">13,347</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;">&#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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_JOcVFR_jcUqcrV8TIcBOfw_26_4">7,432</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_tswNbRKgRECFsFU2SeraSw_27_2">369,699</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_zZWdPFZF5kmjCbh5_3nYkg_27_4">282,760</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_O4pxqksENkanvcmsdJBRRg" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_h2weiQp_Q0a8P0Kwx3BTqw"><ix:nonFraction unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_aGXUqG1Blk6U1wA__JipqQ">no</ix:nonFraction></ix:nonFraction> par value: unlimited authorized shares, <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_ZqVzSUBOX0Oy4EMEhKKbIQ">59,820,384</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_NL-EvIwmwkuITfX6vV2ZDA">64,022,678</ix:nonFraction> shares <span style="-sec-ix-hidden:Hidden_fOZ4Qa-tVkW-SzzhdVKrPg;"><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_07SkRc04MEW6zu9Uni0FdA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">outstanding</span></span> at December&#160;31, 2020 and 2021, 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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_pb-HyaKkIkWL5UHsPNF6fA_29_2">687,033</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;">&#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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_oMiDAlZcsUu0qlbcgNmZ_Q_29_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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" sign="-" scale="3" id="Tc_rw4QHblVG0aBi_TC_aSlrA_30_2">28,236</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;">&#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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" sign="-" scale="3" id="Tc_NN_KDU8Va0-44uHVTqJLRw_30_4">19,428</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_KA5fA0GwWEm3XXldDK5A5g_31_2">940,304</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;">&#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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_Nei9SBrlfEGu0WMp1LbW2Q_31_4">1,035,552</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_OdYL-IQcX0WmBzTanmaPjA_32_2">28,679</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;">&#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:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_juLl8CM8KEuY-C01EOyfVQ_32_4">50,584</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_jLPZr8B5K02wDsT0h8SZMQ_33_2">1,570,422</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_hX8C3OHnY0Wxwq9sGHZ98Q_33_4">1,801,083</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_RMPb-181oEy1hEAispnwTg_34_2">1,940,121</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;">&#160;</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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_zFr-5U3vUk6p9XC4qnSKhQ_34_4">2,083,843</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-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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_762e5bad_0c5a_41b9_8560_a93565da30b5"></a><a id="Tc_C2D4xHCI-0ev691WSMKkYg_1_2"></a><a id="Tc_q9LAP3wZA0SwuBCNXeh5mg_2_2"></a><a id="Tc_t1A0ixnGjU6t20_YA0WSuw_2_4"></a><a id="Tc_pBsRP-npC0WmfQfH9gXNig_2_6"></a><a id="Tc_L28kSq1XEkuSdpvG9PQlyw_3_2"></a><a id="Tc_cLF2tc7_tkamTX0ZA78htQ_4_0"></a><a id="Tc_fXDHU6Rn8E6VlQDZZhYBSQ_5_0"></a><a id="Tc_vLV0MCEnJEyn70oIuvb19A_5_4"></a><a id="Tc_iOLZNcZ4XEamYGNQiYQHqw_5_6"></a><a id="Tc_3yi8PXyh9kW8lTJR2UyTCg_6_0"></a><a id="Tc_TUy2X5hibEK7ineDbPzdvw_7_0"></a><a id="Tc_fbBI-VGFB0OYPOxHk-wwxg_8_0"></a><a id="Tc_sXJ0C7IfckmmGnbU3Qbo6A_9_0"></a><a id="Tc_9INbivSLKUO038VqBQer8A_10_0"></a><a id="Tc_IzO8trWkm0SY8gwZUFHSTQ_11_0"></a><a id="Tc_xTcwwnONMEeTVvfl5ezVmg_11_2"></a><a id="Tc_HrSL7MUyT0yI6JmzTumDBg_11_4"></a><a id="Tc_BD2AawiE0ki3reUa0n6jsA_12_0"></a><a id="Tc_8dGO1gYnOkSkHXGXcItNlw_13_0"></a><a id="Tc_Nc-XgvoshUG0VcNB3ZbvqQ_14_0"></a><a id="Tc_HfEgxDwxHEmX09RSlXUzLw_15_0"></a><a id="Tc_YAQm_93srkiX0ji86ABVNw_16_0"></a><a id="Tc_RggAIsgYu0mZocBL8iZAcg_17_0"></a><a id="Tc_jt0fXuC4LkmD1igpsqonfw_18_0"></a><a id="Tc_61eSPciuA0a5f3nQXLnrhA_19_0"></a><a id="Tc_A6nwWuertE-gLRjO8U-a8A_19_4"></a><a id="Tc_JEL_L5yVe0uoAsDwd6sDeA_19_6"></a><a id="Tc_LF0JXOxOrU6vqZyBoBOSVA_20_0"></a><a id="Tc_YnSDIKqK0kqPCW_6AR0ldQ_21_0"></a><a id="Tc_S4riJiFQ90e9DX5s22a0lQ_22_0"></a><a id="Tc_oh1818hV80WecQghHM9ZyQ_23_0"></a><a id="Tc_azzgkQrKGEKhZ_oIwXEIsg_24_0"></a><ix:continuation id="Tb_-IwmFnF25UW6zIN9BAi-Aw_cont2" continuedAt="Tb_-IwmFnF25UW6zIN9BAi-Aw_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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_tah5vdJM_kKTmrtjHPlEzA_4_2">4,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:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6C_txQJ8skOwGPBiA0XyZg_4_4">2,170</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_KeZOzhcoCUCPavbBfSPSlA_4_6">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;">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;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_UdL13i-mm0ylF0aBBQJ59A_5_2">4,188</ix:nonFraction></p></td><td style="vertical-align:bottom;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;">&#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></tr><tr><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_dNO8GcXwSkiu_ppItfLmZA_6_2">163</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Iikiog5-AEK2O97J4s6pOw_6_4">2,170</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_k0KayjjSOUOBjLKdXb7l7w_6_6">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;">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;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 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_PVMqQBK1JkeXHsE20w7NBQ_8_2">1,727</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_VHjIzwAATki2JBib-RB9pQ_8_4">2,174</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_6oLsRNOAi0Whu2S1d5zbCQ_8_6">766</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_jVkbxx6gE06XNVLmSo6Tug_9_2">29,093</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_VXXb-HfixkK8_JXuVpSrCA_9_4">49,688</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_Xu8kPzNuYUCVHUUQ_izCjg_9_6">9,177</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_xFbH11Y-70CnNVqq3B7MXA_10_2">462</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_J2_PKPS3V0ijsIZRdjsrmw_10_4">692</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_Plx64J4o4EmKYRjOjF9L4A_10_6">182</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other operating income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_6zy4Is1lfEe4Q97HKH6sJg_11_6">282</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_H4eBh9kijEmixbyyoFNVFA_12_2">31,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_VjD9KVibv0Gzn8DJ8jS6Xg_12_4">52,554</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_d79N1xPqn0GhIYNp7Ouvqw_12_6">9,843</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_R-lt9qf8G0iJZnv_DES_qA_13_2">31,119</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_T733cYX0pUao5m__s60EUg_13_4">50,384</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_AlcYJaWN5UGQLmqR87MbXQ_13_6">9,502</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;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 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_yU_cQGGzUkuuPQNlv6FRWQ_15_2">3,005</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_2gKO4H-T106cYz2YyHASag_15_4">9,628</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_JEXOWFh5M0aIJVSk8FxiRg_15_6">19,677</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_5ne6dwebWUOyeSAghs4GIg_16_2">25,272</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_eeUO0vSak0WkrjfU5fYhbg_16_4">30,536</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_io6UPcBbDUC5L1rFa2lwmg_16_6">20,249</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_2NBKFBh5-UKf4-laJ6kfrw_17_2">5,193</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_x1G3Hv0NgU67AYvlNtNKAA_17_4">25,341</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_2InBVr_P70SECp3t_tDQzg_17_6">4,043</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)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_FXRVQi2yEECJU8D7A1UJOQ_18_2">11,318</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_LzsF2K47R0a6AlD1syvmxA_18_4">13,768</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_T4uKsunrykm9U0wPWCG6fQ_18_6">3,674</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;">Investment 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%;border-bottom: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" sign="-" scale="3" id="Tc_cb08jL4PK0qE9bqz1uhrpw_19_2">116,879</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">Other income (expenses), 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_DZ7EtC8VUUqFAIAothgZeQ_20_2">111,123</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_3ZO253ItHUe0xvewc4eBnQ_20_4">60,017</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_AR7_TArupUGAs4Mp9ZS-0w_20_6">941</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes and equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_7WPsvKP9WkOa25tPT1vxjw_21_2">142,242</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_Nto-_5WwA06IjG_iHO-bcA_21_4">9,633</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_e7h8fGRFKkaMb2xra3hWug_21_6">8,561</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax benefit (expense)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_RmlJm0rj2kevnfyBfFIlkQ_22_2">5,230</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_eC8z40XQC0aoy3ayTjkPig_22_4">34,223</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_UH0XmsEHJUOGMsShhQY9lw_22_6">2,424</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;">Equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_8yRG66720E6FF-9TAzC_aA_23_2">308,597</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_2sIh6kHp0kWoZTsy8sqpiA_23_4">171,293</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_6kZuK2F240GBMTSFcR5ImA_23_6">101,385</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;">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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_O-uig_qyGEGEKJHtCLSb1g_24_2">171,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_J0yPbxFvjE6iTsHpANdT9A_24_4">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_oBE-AsOVl0mib0Zy6x2-fQ_24_6">95,248</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-67</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_a02fa7f2_8361_4911_89c1_70f61ce5342f"></a><a id="Tc_cofAgH-8qUiGw-nzDmq0oQ_1_2"></a><a id="Tc_XWpVWvmN2ky8uDb5D9dVyQ_2_2"></a><a id="Tc_zXigPzUp0EG5CRFSSb9wbw_2_4"></a><a id="Tc_PATnRNxUmEyxuRbZoAUMWg_2_6"></a><a id="Tc_z4sQH3e8ckOHBq0os1Gj6w_3_2"></a><a id="Tc_B-pwZfMbcUmhLgOr-bTOVw_4_0"></a><a id="Tc_0pzaYulGg0SdonJdK97sUQ_5_0"></a><a id="Tc_TVPd0mR770ebXCPu-7L-eg_6_0"></a><ix:continuation id="Tb_-IwmFnF25UW6zIN9BAi-Aw_cont3" continuedAt="Tb_-IwmFnF25UW6zIN9BAi-Aw_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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_tX5xDoz3fkO_aFBeYPljFQ_4_2">171,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ZXAT-vdUlUqVvVKSWVd0og_4_4">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_hIK122TXu0m-ukjK-txWXw_4_6">95,248</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 of <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:OtherComprehensiveIncomeLossTax" scale="3" id="Narr_fP-_MLfk6k-Vp9PZB4KHiQ"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:OtherComprehensiveIncomeLossTax" scale="3" id="Narr_kpBWmffk8kiYig4_Bh_h0Q"><ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:OtherComprehensiveIncomeLossTax" scale="3" id="Narr_8KH5hZTAU0uKaaFO-Cu4PA">nil</ix:nonFraction></ix:nonFraction></ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_Qp70KIXN30CpPHaLf-jIsw_5_2">542</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_WDOp9MgRnEuSZDtl5PRVUg_5_4">80,928</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_AWx2vKw0CkeMHK3Yq3VGfg_5_6">21,905</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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_NeAuEuLDjkOLb3F3p4xmJw_6_2">172,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_xCRFMDdchUOTQW2qMThORQ_6_4">227,631</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_KNG7heqyGUijpAhhI5GgIw_6_6">73,343</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-68</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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="_27d59078_4ee9_4617_81c8_0e9d47f451ec"></a><a id="Tc_G3_jUGEjQ0qBGQSzu28YuQ_1_2"></a><a id="Tc_OpCSFROLhkKfz9q1qpI4xw_2_2"></a><a id="Tc_5cvyry8sp0GtpfvkkeZycg_2_4"></a><a id="Tc_j0ivVlQAB0i4T3mNkOdJmQ_2_6"></a><a id="Tc_opM7cah8iE2WTj7kdalZMA_3_2"></a><a id="Tc_VE6yHb4WykWte1ujJCAg3g_4_0"></a><a id="Tc_Y6c-5z-RBUmEVFDzKL5kbA_5_0"></a><a id="Tc_2L5YFGoMv0WQBDDT9wpPkA_6_0"></a><a id="Tc_Rcxkxt2Zzkizxyv1kmzp0A_7_0"></a><a id="Tc_sq3zkWdsFEiohMyE5Qc-tQ_8_0"></a><a id="Tc_UsFe-39y_ESyIDspKeh-IQ_8_2"></a><a id="Tc_6q38gy8njUak8_s8AnQUQA_9_0"></a><a id="Tc_S_e19Bwcn0Sv-U8zmoGMDg_9_4"></a><a id="Tc_tmIdRPg_V0Sk9UKmzBRkXA_9_6"></a><a id="Tc_a9NybG1P-kGNdWur8aEXiw_10_0"></a><a id="Tc_-pGVXOYNPEu1MAty7k9PEQ_11_0"></a><a id="Tc_rw8CLgBtQkaECERtJRdopg_11_6"></a><a id="Tc_2FgB48u2VEmx-ZbmNYV4ow_12_0"></a><a id="Tc_cfWXGWQvJkCRK7FXx69phA_13_0"></a><a id="Tc_DoW10uvKjUOtZaRl5evEKA_14_0"></a><a id="Tc_OWiNvUsawEOVrwr35qkf2g_15_0"></a><a id="Tc__GPd_wusBE-tkyJxQUdZXw_16_0"></a><a id="Tc_vXjHhUBy40CRihxD6eKu7w_17_0"></a><a id="Tc_unK-G8C5tkW9pfuwgSHsng_18_0"></a><a id="Tc_WG0Y-Ros1EGwfLoMYgxVRg_19_0"></a><a id="Tc_6DBhQmikM0aMy_65xdC0gQ_20_0"></a><a id="Tc_bvfK-79H7EmRF8-S9Gbigw_21_0"></a><a id="Tc_5iMLWBWIPEue3idtj4pv5w_22_0"></a><a id="Tc_a4DQB4UJTUKgeqsB5MkhFw_23_0"></a><a id="Tc_diQjVz2x0kWBHIklVFh1zg_24_0"></a><a id="Tc_eS19b0xlp0uV5opMG0SzAw_25_0"></a><a id="Tc_pHMcRwtzWkuNmh_-CvyERg_26_0"></a><a id="Tc_8Qf2SBeqX0-cQ6q-CIs6Og_27_0"></a><a id="Tc_4s_DaoU6sUiCmsSsxdN4bg_28_0"></a><a id="Tc_hLGGuH7QrEi7NPf7VUT6xg_29_0"></a><a id="Tc_aG7rJyBleEymD71SqcB8Cg_30_0"></a><a id="Tc_vnjsxtn1ZUm5YdC_PcYQgQ_31_0"></a><a id="Tc_PYbx3PdDwUeUSKbcL1-SyA_31_2"></a><a id="Tc_1p5_i7E9bUyUTmx176AymQ_32_0"></a><a id="Tc_JIiGYCL-yk6R4WoSscbt-g_32_4"></a><a id="Tc_fmx-zsNRm0qArkDxOskeNA_32_6"></a><a id="Tc_qNzyDKLThUGiAIFHwB64GA_33_0"></a><a id="Tc_3rwdhYotGkK9KV93euMOTA_33_2"></a><a id="Tc_dfV5HxqMMESbvgEg3XlrfQ_33_4"></a><a id="Tc_bYa-bTx7Ekeu4jg9gBO5Xg_34_0"></a><a id="Tc_KWWthfSyDEy3D4AnWX2iKA_34_2"></a><a id="Tc_8YyBfXK5NU2MQWZyIH4i_Q_34_4"></a><a id="Tc_dZJVtBhZk0SxYD7zhzM4EA_35_0"></a><a id="Tc_AwilVKfMR0K5skYHdf5vZQ_35_2"></a><a id="Tc_UwiAAAYMMUmorUaySZJ2uw_35_6"></a><a id="Tc_1XYV9xTBJkm0ytBCZnVKwQ_36_0"></a><a id="Tc_MbnyJNsvU0Os1E5RRf6h_w_36_2"></a><a id="Tc_SBG3rGqsB02C_suRTWnJLQ_36_6"></a><a id="Tc_YwTWOh2QTESuaNor16tCJQ_37_0"></a><a id="Tc_-QXXqLcXL0OzbI2qUwJaKQ_37_4"></a><a id="Tc_rtpiDJ45dU2zoVgeCvW5jg_37_6"></a><a id="Tc_nwJgm3Yze0CdI97Kh9T6kA_38_0"></a><a id="Tc_i8WYpHlu2UK0CEPa5VSi1A_38_6"></a><a id="Tc_YCTpLKTXkkqidAbKueVGow_39_0"></a><a id="Tc_1r68RkQwdkewPl7FA3pOYg_39_6"></a><a id="Tc_f2RitFK9tUabh1QM6Ps2zQ_40_0"></a><a id="Tc_1EMFtPcba0OAH5iJkw75pA_42_0"></a><a id="Tc_NQydyKIa_0yH4NyoqEY1Sg_44_0"></a><a id="Tc_4xt-G1AYz0aOmlxRt61qSg_46_0"></a><a id="Tc_DFb6jDsPaU61IkQVyc7Bxg_47_0"></a><a id="Tc_xzCNud0s30eB2rWTPEWfBg_49_0"></a><a id="Tc_Q88_gzxMckCZ0v-z9kaXlg_50_0"></a><ix:continuation id="Tb_-IwmFnF25UW6zIN9BAi-Aw_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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ofOJW9tiv06t5-hcQzykxg_5_2">171,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_zEAvx-6SAkmKYS33v9gzng_5_4">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_XlBopsKER0KzEEooIPbqYw_5_6">95,248</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Adjustments to reconcile net income to 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:10pt;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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_DcumJkr0hUK6N6uE4-mPQg_7_2">154</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_MYYEPW_AY0ejBjoQ8ug-3A_7_4">156</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_47lhQEJnTUCV5LuQYoEHdQ_7_6">150</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;padding-left:7.2pt;text-indent:-7.2pt;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;"> &#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_6iUQS1I_30KXyFlBRlDSCg_8_4">388</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_KW7J_Fop5kyQQsFM2Qouyg_8_6">1,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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Loss on disposal of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainOrLossOnSaleOfStockInSubsidiary" sign="-" scale="3" id="Tc_SV2FS0gK1EWE2mdCn0idXQ_9_2">116,879</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;padding-left:7.2pt;text-indent:-7.2pt;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_OZp0q9sVAEyQVwrzUIkb6A_10_2">5,193</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_aSvyOWiI2k6VO_jqw1v3Bw_10_4">25,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="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_Bg0AtXZIXUmzb_qQTaouHg_10_6">4,043</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;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.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" sign="-" scale="3" id="Tc_U2x-dGQT1UivUXzd14hr9w_11_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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_w28eUyM3Mku1l8NdXh2hhA_11_4">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;">&#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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_avd9KETjP0KXhMjHGqw09A_12_2">308,597</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_iL_aqH9syESWV-wPU0zXfQ_12_4">171,293</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_S3Df9yvah0Onz3SsFH2-rA_12_6">101,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:8pt;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_SeosYuAyWU2HCJ2nK5f2KA_13_2">10,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_lnmfl-u2CEOmdzTim9On2g_13_4">12,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_7mOYmRJptESUZQCCrcxbRg_13_6">8,808</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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_oX3DTnUBwEiflSD_F-PHwQ_15_2">43,630</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc_YobUdgYrGU68vkcopE0tcQ_15_4">287,865</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_C7C_gFJBIUqO70iDph-IrQ_15_6">206,892</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;padding-left:7.2pt;text-indent:-7.2pt;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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_9z-TP-1mTki2H_qX5kMyWA_16_2">17,012</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_8q6ckrtdj0yoIc63vM0iww_16_4">13,183</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_25oT8-SWD0KiV5P0tDgQkw_16_6">17,353</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_KmDIorUClUG4NENmK33c1A_17_2">1,158</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_ijyQQOG3q0iGp1w1sVVhUQ_17_4">28,459</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_RAR6eQpwEkeGEEQi0ekRfg_17_6">4,907</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Amounts due to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" scale="3" id="Tc_dTQ-OU7CI0G2OiCG6meXyQ_18_2">183,675</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_iRVQ7XVso02IXa_CuBsjvA_18_4">340,502</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_b5eppCXQ3k2jA2kLY9zj5g_18_6">42,224</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" sign="-" scale="3" id="Tc_d2K28ISQHUKyHC0i9SVNEg_19_2">2,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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" scale="3" id="Tc__ipPmINCrkeN5qEP01bpaA_19_4">31,809</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" sign="-" scale="3" id="Tc_qMexszeGaUGRJsuYmXaCsw_19_6">27,293</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" scale="3" id="Tc_yM-6oh8oFkO9gD77MKEHpQ_20_2">408</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" scale="3" id="Tc_pqYOVAt9JUqBc3R4mkfmzA_20_4">306</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_Aj2K7eVMBkCAWpOKtSjJqQ_20_6">5,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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net deferred tax 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="Tc_ThUZNFIv6kqoNpATbGoDWw_21_2">1,292</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="Tc_D832xNXd40GMS5YqHpVYBQ_21_4">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: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" sign="-" scale="3" id="Tc_TY5YDAYaOkGZ4P0-QOtWIw_21_6">805</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;padding-left:7.2pt;text-indent:-7.2pt;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc_mkUg792o3ECpVk9uRJHwTA_22_2">11,125</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_GS4xAa2OHUWql0kjTjmlqw_22_4">19,517</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_Bm-kTNVvkEKzP8qDiqxwMw_22_6">4,633</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;padding-left:7.2pt;text-indent:-7.2pt;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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_MIXprqHsIE2zhmuALZi6vw_23_2">136,996</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_b1QW7QAeP024p5gukwsUBA_23_4">22,877</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_UoiHETqSnEavldzRQbviZQ_23_6">264,201</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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_HvnsKcLi7UmXBtHgt-DtMg_25_2">36,146</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_sLdwGxnrwUCpbLFQ3HobPA_25_4">126,487</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_TgIsCe3luE-nsJFOi3sLvA_25_6">138,456</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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireAffiliates" scale="3" id="Tc_Q82n9lYY8kGXJGTyMLRNyg_26_2">2,483</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireAffiliates" scale="3" id="Tc_0qgmInCpRUOhQA7Kdr2IPA_26_4">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="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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireAffiliates" scale="3" id="Tc_d_K9yFPAhkuAAGuge-NFeA_26_6">5,273</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Funding of loans to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_vOdcpopgdUe87Uki8TnaBA_27_2">40,600</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_jYjyyaZc_E-qXTW_O3pfQw_27_4">264,848</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_6_rFVwTWeUepBq7S1FHtxA_27_6">201,192</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Repayment of loans 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:10pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_0w7SDajeFkCsSHZ4oQ8qYg_28_2">12,809</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_xlVeKBCe3ESQ23x7V1hJFw_28_4">20,485</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_-bPimy9Bik-sHaQMYFj8RA_28_6">253,816</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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_ADZXxklOwEm-mYlwstZSyA_29_2">66,420</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_qvIENjB2MUaUYPfkJMiBPQ_29_4">373,616</ix:nonFraction>)</p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_BK9SBnbwJ0efD735F_hhQQ_29_6">91,105</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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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 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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" sign="-" scale="3" id="Tc_01X3oqF0G0q8BCi2Y0RF_w_31_4">30,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;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_nT3RpdD7-Ee98bwtgzFJVg_31_6">80,000</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Proceeds long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromRepaymentsOfNotesPayable" scale="3" id="Tc_zRT40VEsmEysCoFzQYcf5A_32_2">50,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;">&#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></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Funding of loans 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;"> &#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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromLoansFromSubsidiaries" scale="3" id="Tc_JxjFVJFuqEy_5uBDvTrizw_33_6">280,000</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;padding-left:7.2pt;text-indent:-7.2pt;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;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="Tc_12bcHNHJz0aaMFmpZrAsPg_34_6">148,510</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Proceeds from changes in ownership interests in subsidiaries without change of control</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_X6NachWYVEe-tHREYLNzzw_35_4">224,553</ix:nonFraction></p></td><td style="vertical-align:bottom;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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Net proceeds from issuance of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfConvertibleDebt" sign="-" scale="3" id="Tc_rfRm4VWKAUeLxR97zJr0uQ_36_4">222,826</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Payments for repurchase of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" id="Tc_HYAZCIpQ0EeJCDf4X5jUjA_37_2">127,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="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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Payments for repurchase of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_wh-Yoh9Gg0ujAnOiruCboQ_38_2">11,845</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_gcFeszC6sE247BbIJoEf7w_38_4">5,963</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Proceeds from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_oAGuH75jUE6KbkY0ybdibw_39_2">875</ix:nonFraction></p></td><td style="vertical-align:bottom;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_tfvvJoWvVUqzVwq72jK-JQ_39_4">1,035</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> &#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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_gZnXjekDCUSKxiKH_6clhg_40_2">88,470</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_v71yBQx8sE2N2fTtiO126Q_40_4">472,451</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_XUSPfhGV-0O2Gr4yvi5lpQ_40_6">348,510</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="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><td style="vertical-align:bottom;white-space:nowrap;width:2.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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="Tc_XNIYP7l0lEiixw0hcR38VQ_42_2">11,110</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_1XVmG7Hjw0KfOa8xGtCZHA_42_4">43,246</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_zctbUk1_3kOv0yvL4YkZQA_42_6">797</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="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><td style="vertical-align:bottom;white-space:nowrap;width:2.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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_RS4Nfn9TTESKZr4oyOGS2g_44_2">6,784</ix:nonFraction>)</p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_C_MDFHJgKUykuKETrGnAsg_44_4">32,712</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_ze0XZboJ3kGxdxTO9BH1hw_44_6">7,593</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="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><td style="vertical-align:bottom;white-space:nowrap;width:2.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;padding-left:7.2pt;text-indent:-7.2pt;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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_5Q6sXUhYekmYmO6DNCd4cQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_s27SFuTSukq1fL9qLmVZKQ_46_2">9,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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ZwWUeo1uYEa046CeJ5XdKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_9dWKUbYOSUqWtD9XvfTMTg_46_4">2,313</ix:nonFraction></p></td><td style="vertical-align: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_Uk-zJ6V580SKusPuvK1tvA_46_6">35,025</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;padding-left:7.2pt;text-indent:-7.2pt;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: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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ZwWUeo1uYEa046CeJ5XdKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_F-WFc4MypU6DOdn-ihoB2A_47_2">2,313</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_J20d3blXIECxpo17_fyN5g_47_4">35,025</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_x4LGML5by0aNXFhand_Jjw_47_6">27,432</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Supplemental disclosure of cash flow information:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Interest paid (net of amounts capitalized)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_ly74R34Az0adaFvwbiRydg_50_2">4,644</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_ubIi5X1HuEKMRgKIMJ-img_50_4">7,966</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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_ecWoImcXq0OxycXARhngjw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_8xPA1EQJ5ESPphgxFpCMSg_50_6">20,272</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;min-height:8.05pt;"><a id="_b2202771_343e_4776_83d3_b367a5ea56b2"></a><a id="Tc_o-RivmuCIk-VY_3jZYY7Kg_1_2"></a><a id="Tc_jCkk1lLF4kKIp7ld8-SudQ_1_4"></a><a id="Tc_vHjJHdGGLUid7jJPHxoGpQ_2_2"></a><a id="Tc_2_RnC9tB7USpaSzhKyxOPQ_2_4"></a><a id="Tc_ccvus-dNwE2hFhcTN6Hbsg_3_0"></a><a id="Tc_AklkgzwpaEi3zkDrqSwnmQ_3_2"></a><a id="Tc_EoUvI2hqz0qNgenzAm7_Hw_3_4"></a><a id="Tc_mH4MblzGDkiqU9Lsr4Mwpw_3_6"></a><a id="Tc_mhy4MSABa0C3UZo2Mx9aEQ_4_0"></a><a id="Tc_Zd3FIu6BnU6XzHkJIjQKcQ_4_2"></a><a id="Tc_iED4WRNjdk-BMtv7ekq1Yw_4_5"></a><a id="Tc_goRbzoSxFki-hTNr3z5M5Q_4_6"></a><a id="Tc_1fZyW_xxZUqTJbB-AKw8nA_5_2"></a><a id="Tc_gEFJ-xf3JUK58Z_DBXmCPA_6_0"></a><a id="Tc_WVh-PkLbakWEXZ9EdnJA3g_6_2"></a><a id="Tc_YUsd04s9n0-LJRonPwmg5w_6_5"></a><a id="Tc_7_bqN7_wZkKvGGX_2Z1k8A_6_6"></a><a id="Tc_HfN2MWNZ3kW-LDFpJnizlA_7_2"></a><a id="Tc_cAmWEN-ZekaZImkHu6BH5Q_8_0"></a><a id="Tc_COdX47BhZk-_WYqUYz_HmA_8_2"></a><a id="Tc_7ORWUvyN5k2SKG53QJV3WA_8_5"></a><a id="Tc_gMj1gGOq9UOl3jMhodLX9w_8_6"></a><a id="Tc_9dRHztRD9k6CY_gonPYtsg_9_2"></a><a id="Tc_wKaMfl2vPkeBrtn0MoXQqg_10_0"></a><a id="Tc_Q6llOt-pPE2VR83SxlsIQg_10_2"></a><a id="Tc_EOkMFno1JE-_ZeKc1WXICQ_10_5"></a><a id="Tc_4CEnl2E-4UaNdAOpKjwGaw_10_6"></a><a id="Tc_CrOwtUZjXkiTP-C-d3ekfA_11_2"></a><a id="Tc_FpfoHlBJdk6dYb4gewanWA_12_0"></a><a id="Tc_gftQc4RKmESk_l8UV-j8ow_12_2"></a><a id="Tc_Su9exs9boUaRrqWIIzRSTg_12_5"></a><a id="Tc_MlTheCMG9U2MS0LMe7GVMg_12_6"></a><a id="Tc_ug0Jd0RUQkWhgPGQHY9zvw_13_2"></a><a id="Tc_Rlya5X2d-kiEU0BM-b2Ogg_14_0"></a><a id="Tc_rePS60Fctk-qSzCUxSqyMw_14_2"></a><a id="Tc_FD39MVaW6Ey_H8_LKZQgjg_14_5"></a><a id="Tc_Z2ZJYto2hUeaVTebs4vSWw_14_6"></a><a id="Tc_Cw_OTlmGEUS_FiPx9eCItA_15_2"></a><a id="Tc_1s3x75j-yk2kCyCA1yd0Uw_16_0"></a><a id="Tc_GSrd0UEa1EOXl2xTULTPeA_16_2"></a><a id="Tc_qNYgDMoSxUSxPIFd55XYNg_16_5"></a><a id="Tc_C7pqEC-q90G-tTwGrGQZ3Q_16_6"></a><a id="Tc_IzE11LIQbEiPv9SJGAANkA_17_2"></a><a id="Tc_Duc_fDWhv0eouFwr2nq-VA_18_0"></a><a id="Tc_QDrL6iOItUaveKTeyM-ruA_18_2"></a><a id="Tc_K8oytHqPKEiU-tq-vTNtPQ_18_5"></a><a id="Tc_goXWoIPlwkCJ3-UJKz170Q_18_6"></a><a id="Tc_gCyGMS7MQ06NtCjAAyvSRg_19_2"></a><a id="Tc_OIJhA8QWsUutGl-yWnkwAA_20_0"></a><a id="Tc_F7s2-xho00mi4Eh41YGujw_20_2"></a><a id="Tc_EQaAkGLkkUKA4uN8bT5UIQ_20_5"></a><a id="Tc_v2VLlX_MnUyk8lvAxwRjIA_20_6"></a><a id="Tc_k_JUkALcR0O-8BozMtX6Ug_21_2"></a><a id="Tc_ZCIHJyjXRUebsxE8ELBmhw_22_0"></a><a id="Tc_I63AKcRfZkamxixBjOKSXg_22_2"></a><a id="Tc_W9ynfpentUCXr8u1YpqMjQ_22_5"></a><a id="Tc_aQa6FMX3dUuRHDIxp04Xcw_22_6"></a><a id="Tc_2ee380Ui2Em9TVqXqTcFRw_23_2"></a><a id="Tc_E5MxZFkz2kyeIr4Z9Ci6Bw_24_0"></a><a id="Tc_h1ZO8nsLC0qTGHwZMd1o4g_24_2"></a><a id="Tc__IDoAsBzJEqbb2_2rXCUQg_24_5"></a><a id="Tc_50HzCMDaGEWDImYo6lXGuA_24_6"></a><a id="Tc_WzKsMtTq2UulVpv6iYIJeQ_25_2"></a><a id="Tc_EgSPje1Oz0iLM2R_-MUfcA_26_0"></a><a id="Tc_w7MGnppTrkWIyzsVEun5FA_26_2"></a><a id="Tc_mq4s-gEZE0uBcEgVTXCm7A_26_5"></a><a id="Tc_ho_AeeUXUEuWRH6ouUiOqQ_26_6"></a><a id="Tc_1kms_abqQU6nieo8i76amA_27_2"></a><a id="Tc_8c2dsTUBgUi8UEqdYzpL6A_28_0"></a><a id="Tc_Z7djr4bAe0alJym9PuICpw_28_2"></a><a id="Tc_UoUVRrmhT0-5EVu8cP74RQ_28_5"></a><a id="Tc_eGNNaCQllUWJjnN03Nm3Dg_28_6"></a><a id="Tc_ub9kPJKOGES4qu3Z-EYZnQ_29_2"></a><a id="Tc_ja0D0oFcAkmbkt0MPuKOfQ_30_0"></a><a id="Tc_MaLfQaJ1Ykug7kUI6yWJaw_30_2"></a><a id="Tc_vJ5nkXVBvky1AXtc55hFiA_30_5"></a><a id="Tc_Hvb-v0ADSEaW68G1uvpVdg_30_6"></a><a id="Tc_7UvLnpJoPU2skWf80LMtrA_31_2"></a><a id="Tc__mLJREyrQ0qN5ovxwyeLCw_32_0"></a><a id="Tc_zoyM4DJ0qE28hxdWuE7HAQ_32_2"></a><a id="Tc_8qvKi6varEy8kDBkU-5EYg_32_5"></a><a id="Tc_FXdzjalVIE-EnQg10nXGEg_32_6"></a><a id="Tc_VhlA1MBIxU2QllHZpK1eXg_33_2"></a><a id="Tc_TgMUR7443EyA3NERcM8NNw_34_0"></a><a id="Tc_U6yhcLq9gEaGdSSQGqcphA_34_2"></a><a id="Tc_vdMl8IswXEyoQlTbK30ARg_34_5"></a><a id="Tc_hT0PFjS410e9Hxl8LbaSBg_34_6"></a><a id="Tc_XlZ8p98pwESkf9Xlwi-J2Q_35_2"></a><a id="Tc_oiQg7BWpVE6rEJQwFlAWfw_36_0"></a><a id="Tc_NwjLwI0r90GxY05zI8yFPw_36_2"></a><a id="Tc_PKIkSm4af0KyhEEtPycY-A_36_5"></a><a id="Tc_T-16JYgcvUekEniwCnXDNQ_36_6"></a><a id="Tc_ztyHJabZekupsYFIb8d_3g_37_2"></a><a id="Tc_wq4Z1WJ4pEapxjMWGjivYQ_38_0"></a><a id="Tc_PPNIztrXiUyubwdNt2LSqA_38_2"></a><a id="Tc_w8-qMw-TEEW57Ci_FF3Jig_38_5"></a><a id="Tc_Ru0OGmc4U0O1E9QQhQ7ipg_38_6"></a><a id="Tc_5DTL2bSLq02vrzMrzQOVcg_39_2"></a><a id="Tc_4jG6q_DEy0ifFo0Kwl9gqQ_40_0"></a><a id="Tc_smluxZIu2E-nI-r04HFx7Q_40_2"></a><a id="Tc_6M5KiKBxFUi0nx7CY-m4yw_40_5"></a><a id="Tc_1vCQJ3kPfUqZF5ZxZG_5aQ_40_6"></a><a id="Tc_uUPztWn1Vki2gLPGXsJyZA_41_2"></a><a id="Tc_cRmluFyHW0CaEy9v7IyD_Q_42_0"></a><a id="Tc_9R-lX-8XgUqJWWiyUG_DeQ_42_2"></a><a id="Tc_rDAgIBh7a06p0IEJJnjLyQ_42_5"></a><a id="Tc_6iD3OZnHq0GwfApgfVTNxg_42_6"></a><a id="Tc_ywMzri_xrECGv8jIJn0H1Q_43_2"></a><a id="Tc_CEel2PwhBEmmhPhpy0sJKA_44_0"></a><a id="Tc_Jbo6ajj-5EefCpmCFlX-zA_44_2"></a><a id="Tc_4TBviIt1n0ioUQcgU6OqKA_44_5"></a><a id="Tc_uJ9kEdpoBkmWTBW-Y0Z5yg_44_6"></a><a id="Tc_3-r4oo7Bz0SWNYcEzyitZg_45_2"></a><a id="Tc_nRGZC5tzf0GEfL_FgH_elQ_46_0"></a><a id="Tc__k-jQzsG30qeA0m9NGer0Q_46_2"></a><a id="Tc_9lKR3Cq1j06dtCZMXF5Vuw_46_5"></a><a id="Tc_W_b_pPGD3E6KS1qIH-nWCg_46_6"></a><a id="Tc_NwIfPN0tbUOwZ1Thl8gGsQ_47_2"></a><a id="Tc_D0M0v34j_UW7q9SXz2LYXA_48_0"></a><a id="Tc_LnHX9E5F7kKTs_S-7qMDPg_48_2"></a><a id="Tc_H8GuOJ0U20Wv5zc06wK60A_48_5"></a><a id="Tc_05D2BK2EYEuWVAZTRq3Dnw_48_6"></a><a id="Tc_abGT6KSFgkSI3LeK2pZVpg_49_2"></a><a id="Tc_-fBW3HoB10OMnwpG62MdAg_50_0"></a><a id="Tc_PoTA6b-JOkev8lPYjVzNyQ_50_2"></a><a id="Tc__TClHWsmDUCqqWlGQetoKA_50_5"></a><a id="Tc_uuTqt4w1m02IUAF_8UFkCA_50_6"></a><a id="Tc_iKfp754d6UW2X4UWS224TA_51_2"></a><a id="Tc_vd66-CXmMEKDQtNbzVxVlA_52_0"></a><a id="Tc_b1AviZKNUU-xhENxrk3wRg_52_2"></a><a id="Tc_gcRHqBxo7ES6gjFkmXfBIA_52_5"></a><a id="Tc_Eif81CtlwUy5qMCqWOERHw_52_6"></a><a id="Tc_Xq0dQv_lhEex9NSqCfDw9A_53_2"></a><a id="Tc_wMxG1ae0Vk6W_4GqFtIgmQ_54_0"></a><a id="Tc_quIZSOE0SkO2sI8pN-8u7Q_54_2"></a><a id="Tc_x08TgyuWYUyOKqZ_zdkbQQ_54_5"></a><a id="Tc_btDYri2uU02LS7tMfoMKYQ_54_6"></a><a id="Tc_eWrPwIHQGESgGLH8uDPr3g_55_2"></a><a id="Tc_LfasbFZmv0qyG5ulJW20HA_56_0"></a><a id="Tc_QGQzvS-CgkCXoZ2AAMqm7Q_56_2"></a><a id="Tc_8DMKpCHiDEuulm2pJcT4rQ_56_5"></a><a id="Tc_dzGg67FonkW9fIRi-0Op8Q_56_6"></a><a id="Tc_12-EBIUgP0-seJ2dVx8vAg_57_2"></a><a id="Tc_xGE9j60nb02JhGvc179hbg_58_0"></a><a id="Tc_2oJnmYof7kWveKckVnsWWw_58_2"></a><a id="Tc_zJFR62U6nUqp_VDnLcpbRw_58_5"></a><a id="Tc_Kmv1TwkzEky-STnxuxf--g_58_6"></a><a id="Tc_l0elcsJd2UmnYVZ2hTIPvg_59_2"></a><a id="Tc_kHYJAMybGUqJwhwzgrZkwQ_60_0"></a><a id="Tc_ctx5AtaOL0SYs2lU6DNasA_60_2"></a><a id="Tc_-djQG60qZkO3m_Bf3oeBfA_60_5"></a><a id="Tc_YNaTNaqIW0-wERo6796UhA_60_6"></a><a id="Tc_tB-P7ArkDky53h8S9BcCwQ_61_2"></a><a id="Tc_zPHdHMRPqk2BkXU4WD0gSQ_62_0"></a><a id="Tc_VyaIXggzbEqbZFJPVpgjDQ_62_2"></a><a id="Tc_1eLIgzNh2UmjRCJVk-S0IA_62_5"></a><a id="Tc_jHZkwVwEMUy1rlOBIZ4Vrg_62_6"></a><a id="Tc_SrZj-7QZi02O4ru83oFXnw_63_2"></a><a id="Tc_bErs8bT-5kK0Jlfrf3UkzA_64_0"></a><a id="Tc_6Ht2MDB4DUie8h4Ra6yh2g_64_2"></a><a id="Tc_kpPh7TFd0E2xJV-XYNxibQ_64_5"></a><a id="Tc_nIX1b2fvk0u_ohJE-tlNHQ_64_6"></a><a id="Tc_9_eUs0U3_UyPf_yYO9wv6g_65_2"></a><a id="Tc_JmPooc1GOEaLBd5WI_Bg7w_66_0"></a><a id="Tc_d1-cGHHt5k2aQXZsYOkHYw_66_2"></a><a id="Tc_E19cI_mtBk6M_A85DFSn4A_66_5"></a><a id="Tc_EvWouUDm8Ua6laueaPyJvA_66_6"></a><a id="Tc_ZzgxGwPVPUemRSz4AxOWyg_67_2"></a><a id="Tc_tgbYV8XF70eZghuGNNTNKg_68_0"></a><a id="Tc_sU9-ThvMYkCb2qHX-gapDw_68_2"></a><a id="Tc__u_eRxmZY0aglguk1owCvw_68_5"></a><a id="Tc_1GfM9LmmhECiFMljJ1W4UA_68_6"></a><a id="Tc_hF1hJibbQES4AcQRWjgwlQ_69_2"></a><a id="Tc_Lt0wXzKPyUKKx2QtApemaA_70_0"></a><a id="Tc_XOWZcfzrjEO_Fvcy0pnIvQ_70_2"></a><a id="Tc_cENEW7h4N0C6HZIz3NS3iw_70_5"></a><a id="Tc_eAI6vt-E_kuesBFNSu7E0A_70_6"></a><a id="Tc_u0WFMP3k2k2H49J-6QsDAA_71_2"></a><a id="Tc_6YlZbGaBgkeVLbavmaIgHA_72_0"></a><a id="Tc_9PdA6_iK_UiKoV3fglmc1w_72_2"></a><a id="Tc_veGI6nWxNkeC5w5Q60meAA_72_5"></a><a id="Tc_zYwdiLJbBkCIIezHCQ8oDQ_72_6"></a><a id="Tc_HruCwL7-GkiquzZTnndciA_73_2"></a><a id="Tc_np907UKeHkqxA_xbSngUFQ_74_0"></a><a id="Tc_3jF6Jd6oB0mzv_vkN9ck2A_74_2"></a><a id="Tc_nLSaFDjm5UGPY6-hpCZ1rw_74_5"></a><a id="Tc_tpDUCqXRAUe91PgCUNoyWA_74_6"></a><a id="Tc_4e2noIQtbUWLwzk9YuBNCg_75_2"></a><a id="Tc_UzD38NpxLkm9llO_rZNz_A_76_0"></a><a id="Tc_StXG-m9IcESRm-zzQzX4AQ_76_2"></a><a id="Tc_PUSH7Aj55UG0fJFwDOsT-g_76_5"></a><a id="Tc_aURIWASc3kKh9uIzXJujow_76_6"></a><a id="Tc_xtgmA5lleEukX7lLF7z7Mw_77_2"></a><a id="Tc__6C0Dh0zH02lg4XzbJN-IQ_78_0"></a><a id="Tc_QRalgJs01kKFgvltwWmBcw_78_2"></a><a id="Tc_POtJXr7_z0qqr1uslRflSw_78_5"></a><a id="Tc_q_ePpk3MYk-3LsAE3y9Wuw_78_6"></a><a id="Tc_LJr0H7mPGkG9_v34WGKO9A_79_2"></a><a id="Tc_YAUaXwieWU6g_rIzGpU5Ug_80_0"></a><a id="Tc_gENFs_XVKUev3pFKWJVWjA_80_2"></a><a id="Tc_3HrcygRMSE-MVFjvoJqOqw_80_5"></a><a id="Tc_IHxWlAixiEivm8IZg_pOTg_80_6"></a><a id="Tc_3usUe78owEOGx_xQdlqrBA_81_2"></a><a id="Tc_LhCZ_O3IPU67SCoimib3bw_82_0"></a><a id="Tc_zdWHMwSUYkKbAOdQSYghjQ_82_2"></a><a id="Tc_tQDCbOsuo0WONsAkI6IalA_82_5"></a><a id="Tc_uExRyeJVQkmUac5HishEmQ_82_6"></a><a id="Tc_nA6tLfYdKk2cbmLRASQfBA_83_2"></a><a id="Tc_mZ2eck3UV0yrAKU4lLMptw_84_0"></a><a id="Tc_SyL3g3XsxEm47cv0rrwuMQ_84_2"></a><a id="Tc_slGPNCRu_E-kEsxGMoiOcg_84_5"></a><a id="Tc_9rdfBG0RUkmv9iyKXneCgw_84_6"></a><a id="Tc_Ds2BMIRvTEy8tJqU6hdCRQ_85_2"></a><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA" name="us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" id="Tb_4S2-UPpL_EeFYP2i6QNYHA" continuedAt="Tb_4S2-UPpL_EeFYP2i6QNYHA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">Appendix 1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">Significant Subsidiaries of CSI </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth information concerning CSI&#8217;s significant subsidiaries: </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:5pt;margin-top: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:top;width:45.73%;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: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:top;white-space:nowrap;width:8.92%;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:1.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:top;white-space:nowrap;width:7.22%;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:top;white-space:nowrap;width:2.86%;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:top;white-space:nowrap;width:31.78%;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:45.73%;margin:0pt;padding:0pt;"><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></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:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Place&#160;and</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Attributable</b></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.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:5pt;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:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"><b style="font-weight:bold;">Subsidiary </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:5pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Incorporation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interest&#160;Held</b></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;white-space:nowrap;width:31.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Principal&#160;Activity</b></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Solutions Inc.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_37C33xvdq0q6UT3exlTTXw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_iA3CWB0Bbk2SNMmb0zffpA_4_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power project and manufacturing of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 22, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar O and M (Ontario) Inc.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarOAndMOntarioIncMember_EGJWYOzKvECx7wAcEwFPUQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_M6VAgiacZEOqsrZasW3h6w_6_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Solar farm operating and maintenance services</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 10, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Recurrent Energy, LLC</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">USA </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_wiTjLQilZkaSQgC4oSCUWg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_Zkk11bqI4029iByxQR5CqQ_8_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar and battery storage project</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 9, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar UK Projects Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUkProjectsLtdMember_cb2RuziMWUiYu4qtqSQwug" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_6po5TAM_HUaOR3MuiTgzuA_10_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 29, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Projects K.K.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_7_RfAMx2ikuv4vUCm7H1lw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_otdmg0c8q0CoVqhGQ2AmBw_12_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 20, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar New Energy Holding Company Limited</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_pDd1eUUCV0eW0gjf7osQgQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_ojNs6nDNPEqLzCWJ0TFAzg_14_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Project investment, financing, trading of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">March 20, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Netherlands Cooperative U.A.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_ptGwFyjcn065PlxKcxEH9A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_2ydJH2Qv7kiauIHVwCsLkw_16_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Project holding and financing</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 8, 2016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Energy Singapore Pte. Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_h3NQqmaPBUaebk5Px8RO_w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_SoqxNggYqkSWPWmguip_VQ_18_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development &amp; ownership of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">October 29, 2015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Energy Holding Singapore Pte. Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_3EDSlOqkRUeV2uzrzj3P2Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_9UwsF_r8UEyHmYWE2q5_Lg_20_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development &amp; ownership of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">April 22, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Brasil I Fundo De Investimento Em Participacoes</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember_pO_nzoslzE6uIAAXkJftaQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_HaO46w37KEWS-Za-_KAYZA_22_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Investment holding and assets management</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 5, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Construction (Australia) Pty Ltd</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarConstructionAustraliaPtyLtdMember_r8qx7ymk9kKBMu1B-riEnQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_swhWEzjU0kmw6n5N1j-hSA_24_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Engineering, procurement and construction (EPC) services</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">July 4, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Investment Management Pty Ltd</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInvestmentManagementPtyLtdMember_NWc7rhX4TUKBu_L7Wx7P5g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_v5OJOOaPgUWERTGWRtOuZQ_26_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">February 24, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">FieldFare Argentina S.R.L.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Argentina</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_FieldfareArgentinaS.r.l.Member_7KafbnOtmkC_J91TEpTSkA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_am_3170IPUagw2-amykBiQ_28_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Electricity sales</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">December 27, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Energy Project Technology (SuZhou) Co., Ltd. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member_PcU81H7kUkylO9CfkxQVxg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_uHeUbOIYO0-kClJkFR2Vig_30_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 19, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Solar Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_i4h0_eHldk2t3KNrfgjOjQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_jUj8Uup1wU6RfvmRNB37Cw_32_4">79.59</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Investment holding and trading</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">July 7, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI New Energy Holding Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiNewEnergyHoldingCo.LtdMember_aozydgQ_T0695nR5G1BnrA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_0BffaTV-kEGDWXaEzC9ahg_34_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Investment holding</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">January 7, 2005</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Manufacturing (Luoyang) Inc. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingLuoyangIncMember_Z-IU3gmZxEi7U7anGtuRrg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_rDCUO6AUaUezNB6Jhg-Czg_36_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Manufacture of solar modules and wafers</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">February&#160;24, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Manufacturing (Changshu) Inc. </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:5pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_M4bem92xgEWhEysG0k7DEA" decimals="5" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_xghOq53Uh0mche1gWgBjUA_38_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August&#160;1, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Cells Co., Ltd. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsCo.Ltd.Member_uLAHdiji70KZ0lNrBksYeQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_W6h2QyTiL0GwHO2yGZJ9qg_40_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar cells</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 23, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Suzhou Sanysolar Materials Technology Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_achEREHdvEOvlRdwhTf8Rg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_fsLlMpAGpEafJtTT4YPdTg_42_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar module materials</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 17, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Solar Manufacturing (Funing) Co., Ltd.</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:5pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiSolarManufacturingFuningCoLtdMember_bFVjgHxopkGFqrMwd4SJyQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_u8KbUifmbk-O9inTXLzBeg_44_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Manufacturing and sales of solar wafers and cells</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 29, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Changshu Tegu New Material Technology Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_K7MFHdOdTkiK4EQwsmzB2g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc__Vi2uCa7T0eR-MEZwt_cYQ_46_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Research and development, production and sales of EVA solar packaging film</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">September 2, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Changshu Tlian Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_ChangshuTlianCo.Ltd.Member_BxwdTQlaEESKMMfjkrgUFg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_YRALDS3I3kq3EVixahwABQ_48_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Junction box and connector research, development, production and sales</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">December 26, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Sunenergy (Baotou) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_VZZFWnOHj0qEUJrXMZcNWA" decimals="7" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_I4wtekSWAUOJFLZKYqaYZw_50_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar ingots</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 18, 2016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI New Energy Development (Suzhou) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CSISolarNewEnergySuzhouCoLtdMember_qlN2bTycCkWatWhw8BSuag" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_j5W96Or-ZkqxI7LZkGkQKw_52_4">90</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Design, engineering construction and management of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">December 17, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Electricity Sales (JiangSu) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiElectricitySalesJiangsuCo.Ltd.Member_rC05HQgYlEu1qGzGpm3Aqw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_H6nRdHbsqkic2t2Gy7zb6w_54_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Electricity sales</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">January 18, 2018</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Modules (DaFeng) Co., Ltd. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_wk4SkUnjekqTwal-7A6k3w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_zikdjkukikWq_EbYQ_S8cQ_56_4">57.4197</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%* **</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 16, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Cells (Yancheng) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_RHyvukqN5EeK_XFAommL3Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_HNFEyuRbjke0N0xAvN2S9w_58_4">73.2063</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%* ***</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar cells </p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 18, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI NewEnergy (ZheJiang) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember_DYb0czy0b0SWbKVCGUWAnQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_N8GW3KPnnkSExymCsUXbpw_60_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Investment holding</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">October 17, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.)</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_V9THTzoFa0uRpTIhOU_tDA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_Sh1Q0ejxTkODs3A89f7SxA_62_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 3, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiWaferLuoyangCoLtdMember_RZg-Az3N4Ued1uvbBQZ_Bg" decimals="7" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_GTJ7SIBYWkiF2B_7s6sbTA_64_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar cells and wafers</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 27, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Manufacturing (Thailand) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_OG-peTBP0UyTXn5-q9rnxA" decimals="8" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc__0Q9AVjCRUu1TygU0Xhhrw_66_4">99.999996</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar cells and modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 20, 2015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Manufacturing Vietnam Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Vietnam</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_8ZthnZ99AU65eD288cDZFg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_Umi0o6_kQkCMeE60FJ5--A_68_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 25, 2015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar (USA) Inc. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_KGn43hoLPUi3GMi1F21q0Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_cL705wUiEkKf9SySLv4fbg_70_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 8, 2007</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar EMEA GmbH </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_0vTPLaPJDUG3f_v6L-fLJg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_rhKu6I2rIkCoBwLaSaD4XQ_72_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">September 2, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Japan K.K. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_RvFJCl4Ik0Kmz9om3Z7PYA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_GgzviQ8I7kSx7X5FrS9gvA_74_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 11, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar International Limited</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_K_PgpWOv706N8toXp410ew" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_X6nXJCovTE65XSsr_SwdhA_76_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">March 25, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar South East Asia Pte. Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSouthEastAsiaPteLtdMember_oVI2rxtTMkW-GCl6Hj_d-w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_39_fGoigw0yNW_7trK7APQ_78_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">September 29, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_rmptUuTCGUG6oiztZfPFug" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_8A2Xa4G7o0aKh9xXj6oi6w_80_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of solar modules, and solar energy solutions</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 14, 2012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar SSES (US) Ltd</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSsesCanadaInc.Member_xr1-hO41pUixsPOwgdhRiQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_lcDl7qJk0UabNQV8iuLaFA_82_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Turnkey battery storage technology solutions</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">January 14, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar SSES (UK) Ltd</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUkLtdMember__heS167FXkyvtQFyZwBrxg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_N23nrGlT8UmSgyXsuU-mbQ_84_4">100</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Intellectual property holding</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">December 18, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr></table><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 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;">*<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span> Significant subsidiaries within the scope of CSI Solar are held through CSI Solar Co., Ltd. of which CSI holds <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_FMDPs5BsMkGWiyS110TB9w" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_4xxbUjNpkUGsC6JJWHeqUw">79.59</ix:nonFraction>% equity rights of CSI Solar Co., Ltd.</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:21.6pt;min-height:14.4pt;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, 2019, 2020 and 2021</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;"><ix:continuation id="Tb_4S2-UPpL_EeFYP2i6QNYHA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;">**<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;</span>Canadian Solar Manufacturing (Changshu) Inc. holds <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_djZgLka68EilGq2UylzGDg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_Av5Skw3IPk2MxnXzjFdZIw">46.73</ix:nonFraction>% equity rights of CSI Modules (DaFeng) Co., Ltd., a limited partnership fund, of which Canadian Solar Manufacturing (Changshu) Inc. holds <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_djZgLka68EilGq2UylzGDg" decimals="4" format="ixt:numdotdecimal" name="csiq:EquityInterestHeldAsLimitedPartner" scale="-2" id="Narr_d1_uih-EcUCkN3hbkRnLZg">20</ix:nonFraction>% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Co., Ltd. holds <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_6XAyIwHVx0CvXe7hoc9sAw" decimals="5" format="ixt:numdotdecimal" name="csiq:EquityInterestHeldAsGeneralPartner" scale="-2" id="Narr_yCGJUxTikU6hr95B-cTJ_w">0.067</ix:nonFraction>% shares as a general partner and holds <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_6XAyIwHVx0CvXe7hoc9sAw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_l4wptM6nikue7bqbMTmY8A">53.27</ix:nonFraction>% equity rights of CSI Modules (DaFeng) Co., Ltd.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt;">***<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span>CSI Cells Co., Ltd. holds <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_yEkSdsHwrkGvZ2U009rdiQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_d96I0OwLz0i8TpCj8U1IHg">57.13</ix:nonFraction>% equity rights of CSI Cells (Yancheng) Co., Ltd., a limited partnership fund, of which CSI Cells Co., Ltd. holds <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_yEkSdsHwrkGvZ2U009rdiQ" decimals="4" format="ixt:numdotdecimal" name="csiq:EquityInterestHeldAsLimitedPartner" scale="-2" id="Narr_uDXJjObQEUSziqcpHZwvkA">37.33</ix:nonFraction>% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Co., Ltd. holds <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_5NfNTPDEdEyYMxTCiyQmsw" decimals="4" format="ixt:numdotdecimal" name="csiq:EquityInterestHeldAsGeneralPartner" scale="-2" id="Narr_ds719Arvs0KgJZs2NGKDOw">0.17</ix:nonFraction>% shares as a general partner and holds <ix:nonFraction unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_5NfNTPDEdEyYMxTCiyQmsw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_cxjW0puFCk-1f7frqenZiQ">42.87</ix:nonFraction>% equity rights of CSI Cells (Yancheng) Co., Ltd.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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-71</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-12.1
<SEQUENCE>2
<FILENAME>csiq-20211231xex12d1.htm
<DESCRIPTION>EX-12.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 10/17/2022 03:55:05 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.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Certification by the Chief Executive Officer</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I, Shawn (Xiaohua) Qu, certify that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.1pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.</font></font>I have reviewed this annual report on Form&#160;20-F of Canadian Solar Inc. (the &#8220;Company&#8221;), as amended by Amendment No. 1 thereto on Form 20-F/A;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">2.</font></font>Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3.</font></font>Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the Company as of, and for, the periods presented in this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">4.</font></font>The Company&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the Company and have:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the Company, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(c)</font></font>Evaluated the effectiveness of the Company&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(d)</font></font>Disclosed in this report any change in the Company&#8217;s internal control over financial reporting that occurred during the period covered by the annual report that has materially affected, or is reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5.</font></font>The Company&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company&#8217;s auditors and the audit committee of the Company&#8217;s board of directors (or persons performing the equivalent functions):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the Company&#8217;s ability to record, process, summarize and report financial information; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company&#8217;s internal control over financial reporting.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td colspan="2" style="vertical-align:top;width:4.35%;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.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:39.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Date:</p></td><td colspan="3" style="vertical-align:top;width:46.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">October 18, 2022</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="4" style="vertical-align:top;width:50.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:top;width:45.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Shawn (Xiaohua) Qu</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.83%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:39.04%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:39.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Executive Officer</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-12.2
<SEQUENCE>3
<FILENAME>csiq-20211231xex12d2.htm
<DESCRIPTION>EX-12.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 10/17/2022 03:55:05 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:28.1pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.</font></font>I have reviewed this annual report on Form&#160;20-F of Canadian Solar Inc. (the &#8220;Company&#8221;), as amended by Amendment No. 1 thereto on Form 20-F/A;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.1pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">2.</font></font>Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.1pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3.</font></font>Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the Company as of, and for, the periods presented in this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">4.</font></font>The Company&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the Company and have:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the Company, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(c)</font></font>Evaluated the effectiveness of the Company&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(d)</font></font>Disclosed in this report any change in the Company&#8217;s internal control over financial reporting that occurred during the period covered by the annual report that has materially affected, or is reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5.</font></font>The Company&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company&#8217;s auditors and the audit committee of the Company&#8217;s board of directors (or persons performing the equivalent functions):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.6pt;margin:0pt 0pt 12pt 28.1pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the Company&#8217;s ability to record, process, summarize and report financial information; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.6pt;margin:0pt 0pt 12pt 28.1pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company&#8217;s internal control over financial reporting.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td colspan="2" style="vertical-align:top;width:4.35%;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.83%;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.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Date:</p></td><td colspan="3" style="vertical-align:top;width:46.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">October 18, 2022</p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="4" style="vertical-align:top;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:top;width:45.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Huifeng Chang</p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.08%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:39.83%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Huifeng Chang</p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:39.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Financial Officer</p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-13.1
<SEQUENCE>4
<FILENAME>csiq-20211231xex13d1.htm
<DESCRIPTION>EX-13.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 10/17/2022 03:55:05 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.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, 2021 as filed with the Securities and Exchange Commission on April 28, 2022, as amended by Amendment No. 1 thereto on Form 20-F/A (the &#8220;Report&#8221;),&#160;I, Shawn (Xiaohua) Qu, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:35.45pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(1).</font></font>The Report fully complies with the requirements of Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:35.45pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(2).</font></font>The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:6.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:39.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Date:</p></td><td colspan="3" style="vertical-align:top;width:46.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">October 18, 2022</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="4" style="vertical-align:top;width:50.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:top;width:45.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Shawn (Xiaohua) Qu</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.82%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:39.04%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:39.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Executive Officer</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-13.2
<SEQUENCE>5
<FILENAME>csiq-20211231xex13d2.htm
<DESCRIPTION>EX-13.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 10/17/2022 03:55:05 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, 2021 as filed with the Securities and Exchange Commission on April 28, 2022, as amended by Amendment No. 1 thereto on Form 20-F/A (the &#8220;Report&#8221;),&#160;I, Huifeng Chang, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:35.3pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36.7pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(1).</font></font>The Report fully complies with the requirements of Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:35.3pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36.7pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(2).</font></font>The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:6.47%;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.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Date:</p></td><td colspan="3" style="vertical-align:top;width:46.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">October 18, 2022</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="4" style="vertical-align:top;width:50.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:top;width:45.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Huifeng Chang</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.47%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:39.39%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Huifeng Chang</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:39.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Financial Officer</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-15.1
<SEQUENCE>6
<FILENAME>csiq-20211231xex15d1.htm
<DESCRIPTION>EX-15.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 10/17/2022 03:55:20 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 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;margin:0pt 0pt 12pt 0pt;">We consent to the incorporation by reference in Registration Statement Nos. 333-147042, 333-178187 and 333-201766 on Form S-8 and Registration Statement No. 333-208828 on Form F-3 of our reports dated April 28, 2022, 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 the Annual Report on Amendment No.1 to Form 20-F for the year ended December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">/s/ Deloitte Touche Tohmatsu Certified Public Accountants LLP</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">Shanghai, China</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">October 18, 2022</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>7
<FILENAME>csiq-20211231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.1.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 10/17/2022 3:56:02 AM-->
<!--Modified on: 10/17/2022 3:56:02 AM-->
<xsd:schema targetNamespace="http://www.canadiansolar.com/20211231" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:us-types="http://fasb.org/us-types/2022" xmlns:us-roles="http://fasb.org/us-roles/2022" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:csiq="http://www.canadiansolar.com/20211231" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:srt-roles="http://fasb.org/srt-roles/2022" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:attributeFormDefault="unqualified" xmlns:srt="http://fasb.org/srt/2022" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:cef="http://xbrl.sec.gov/cef/2022" 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/DisclosureBorrowingsLongTermDetails3Calc2" id="DisclosureBorrowingsLongTermDetails3Calc2">
        <link:definition>41103 - Disclosure - BORROWINGS - Long term (Details 3) (Calc 2)</link:definition>
        <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/DisclosureLeaseOperatingLeasesMaturitiesDetails" id="DisclosureLeaseOperatingLeasesMaturitiesDetails">
        <link:definition>41204 - 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>41205 - 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>41206 - 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>41207 - 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>41208 - 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>41209 - 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>41210 - Disclosure - LEASE - Total leases - Summary (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" id="DisclosureBorrowingsDetails">
        <link:definition>41301 - Disclosure - BORROWINGS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" id="DisclosureBorrowingsLongTermDetails">
        <link:definition>41303 - Disclosure - BORROWINGS - Long term (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" id="DisclosureIncomeTaxesProvisionForIncomeTaxesDetails">
        <link:definition>41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" id="DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
        <link:definition>41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" id="DisclosureIncomeTaxesReconciliationDetails">
        <link:definition>41804 - Disclosure - INCOME TAXES - Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" id="DisclosureFinancialStatementScheduleIBalanceSheetsDetails">
        <link:definition>42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" id="DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails">
        <link:definition>42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>00090 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" id="StatementConsolidatedBalanceSheetsParenthetical">
        <link:definition>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncomeParenthetical" id="StatementConsolidatedStatementsOfComprehensiveIncomeParenthetical">
        <link:definition>00305 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" id="StatementConsolidatedStatementsOfChangesInEquity">
        <link:definition>00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" id="StatementConsolidatedStatementsOfChangesInEquityParenthetical">
        <link:definition>00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" id="DisclosureOrganizationAndPrincipalActivities">
        <link:definition>10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" id="DisclosureSummaryOfPrincipalAccountingPolicies">
        <link:definition>10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses" id="DisclosureAllowanceForCreditLosses">
        <link:definition>10301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureInventories" id="DisclosureInventories">
        <link:definition>10401 - Disclosure - INVENTORIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssets" id="DisclosureProjectAssets">
        <link:definition>10501 - Disclosure - PROJECT ASSETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" id="DisclosurePropertyPlantAndEquipmentNet">
        <link:definition>10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet" id="DisclosureSolarPowerSystemsNet">
        <link:definition>10701 - Disclosure - SOLAR POWER SYSTEMS, NET</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" id="DisclosureIntangibleAssetsNet">
        <link:definition>10801 - Disclosure - INTANGIBLE ASSETS, NET</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurement" id="DisclosureFairValueMeasurement">
        <link:definition>10901 - Disclosure - FAIR VALUE MEASUREMENT</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntities" id="DisclosureVariableInterestEntities">
        <link:definition>11001 - Disclosure - VARIABLE INTEREST ENTITIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" id="DisclosureInvestmentsInAffiliates">
        <link:definition>11101 - Disclosure - INVESTMENTS IN AFFILIATES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureBorrowings" id="DisclosureBorrowings">
        <link:definition>11301 - Disclosure - BORROWINGS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" id="DisclosureShortTermNotesPayable">
        <link:definition>11401 - Disclosure - SHORT-TERM NOTES PAYABLE</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" id="DisclosureAccruedWarrantyCosts">
        <link:definition>11501 - Disclosure - ACCRUED WARRANTY COSTS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" id="DisclosureRestrictedNetAssets">
        <link:definition>11601 - Disclosure - RESTRICTED NET ASSETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotes" id="DisclosureConvertibleNotes">
        <link:definition>11701 - Disclosure - CONVERTIBLE NOTES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>11801 - Disclosure - INCOME TAXES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" id="DisclosureEarningsPerShare">
        <link:definition>11901 - Disclosure - EARNINGS PER SHARE</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" id="DisclosureRelatedPartyBalancesAndTransactions">
        <link:definition>12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" id="DisclosureCommitmentsAndContingencies">
        <link:definition>12101 - Disclosure - COMMITMENTS AND CONTINGENCIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformation" id="DisclosureSegmentInformation">
        <link:definition>12201 - Disclosure - SEGMENT INFORMATION</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomers" id="DisclosureMajorCustomers">
        <link:definition>12301 - Disclosure - MAJOR CUSTOMERS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" id="DisclosureEmployeeBenefitPlans">
        <link:definition>12401 - Disclosure - EMPLOYEE BENEFIT PLANS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation" id="DisclosureShareBasedCompensation">
        <link:definition>12501 - Disclosure - SHARE-BASED COMPENSATION</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" id="DisclosureAdditionalInformationFinancialStatementScheduleI">
        <link:definition>12701 - Disclosure - Additional Information - Financial Statement Schedule I</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi" id="DisclosureAppendix1MajorSubsidiariesOfCsi">
        <link:definition>12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI</link:definition>
        <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/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails" id="DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails">
        <link:definition>40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (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/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/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails">
        <link:definition>40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails">
        <link:definition>40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails">
        <link:definition>40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails">
        <link:definition>40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails">
        <link:definition>40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails">
        <link:definition>40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails">
        <link:definition>40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails">
        <link:definition>40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails">
        <link:definition>40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails">
        <link:definition>40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" id="DisclosureFairValueMeasurementDetails">
        <link:definition>40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" id="DisclosureFairValueMeasurementInterestRateSwapDetails">
        <link:definition>40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" id="DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails">
        <link:definition>40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails" id="DisclosureFairValueMeasurementCarryingValueDetails">
        <link:definition>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/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" id="DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails">
        <link:definition>41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" id="DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails">
        <link:definition>41103 - 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/DisclosureBorrowingsShortTermDetails" id="DisclosureBorrowingsShortTermDetails">
        <link:definition>41302 - Disclosure - BORROWINGS - Short term (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" id="DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails">
        <link:definition>41304 - 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/DisclosureFinancialStatementScheduleIDetails" id="DisclosureFinancialStatementScheduleIDetails">
        <link:definition>42701 - Disclosure - Financial Statement Schedule I (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" id="DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails">
        <link:definition>42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" id="DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails">
        <link:definition>42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" id="DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails">
        <link:definition>42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" id="DisclosureAppendix1MajorSubsidiariesOfCsiDetails">
        <link:definition>42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (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/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/DisclosureFairValueMeasurementListedEquitySecuritiesDetails" id="DisclosureFairValueMeasurementListedEquitySecuritiesDetails">
        <link:definition>40905 - Disclosure - FAIR VALUE MEASUREMENT - Listed equity 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>41202 - 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>41203 - 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-20211231_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-20211231_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-20211231_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-20211231_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/cef/2022" schemaLocation="https://xbrl.sec.gov/cef/2022/cef-2022.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd" />
  <xsd:element id="csiq_AdvancesOnInventoryPurchasesNonCurrent" name="AdvancesOnInventoryPurchasesNonCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element name="AdvancesToSuppliersPolicyTextBlock" id="csiq_AdvancesToSuppliersPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AllowanceForAdvancesToSuppliersMember" id="csiq_AllowanceForAdvancesToSuppliersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AllowanceForDoubtfulAdvancesToSuppliersCurrent" id="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" id="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <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="CSISolarNewEnergySuzhouCoLtdMember" id="csiq_CSISolarNewEnergySuzhouCoLtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" 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="CanadianSolarInternationalProjectHoldingLimitedMember" id="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" 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="CanadianSolarManufacturingLuoyangIncMember" id="csiq_CanadianSolarManufacturingLuoyangIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarOAndMOntarioIncMember" id="csiq_CanadianSolarOAndMOntarioIncMember" 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 id="csiq_CanadianSolarSouthEastAsiaPteLtdMember" name="CanadianSolarSouthEastAsiaPteLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="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="CustomerOneMember" id="csiq_CustomerOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CustomerThreeMember" id="csiq_CustomerThreeMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CustomerTwoMember" id="csiq_CustomerTwoMember" 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="IncreaseDecreaseInPrepaidLandUseRight" id="csiq_IncreaseDecreaseInPrepaidLandUseRight" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" 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 name="NumberOfCustomers" id="csiq_NumberOfCustomers" 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_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" name="PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" 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="PrepaymentForLandUseRightPolicyTextBlock" id="csiq_PrepaymentForLandUseRightPolicyTextBlock" type="dtr-types:textBlockItemType" 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="ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" id="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" id="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="csiq_ProjectAssetsPlantsAndLandCurrentPortion" name="ProjectAssetsPlantsAndLandCurrentPortion" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" name="ProjectAssetsPlantsAndLandNonCurrentPortion" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element name="ProjectAssetsPolicyTextBlock" id="csiq_ProjectAssetsPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="PropertyPlantAndEquipmentExcludingConstructionInProgressNet" id="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" id="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" id="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfInterestExpenseTableTextBlock" id="csiq_ScheduleOfInterestExpenseTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" id="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfProjectAssetsTableTextBlock" id="csiq_ScheduleOfProjectAssetsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" id="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" id="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SecuredShortTermDebt" id="csiq_SecuredShortTermDebt" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" id="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" id="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" type="xbrli:durationItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShortTermNotesPayableTextBlock" id="csiq_ShortTermNotesPayableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" name="SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" name="SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" name="SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" name="SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_StandardProductWarrantyPeriod" name="StandardProductWarrantyPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="StockOptionsAndRestrictedStockUnitsMember" id="csiq_StockOptionsAndRestrictedStockUnitsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SuzhouSanysolarMaterialsTechnologyCoLtdMember" id="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" 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_AccumulatedAssetImpairmentCharges" name="AccumulatedAssetImpairmentCharges" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_ReRoserockHoldingsLlcMember" name="ReRoserockHoldingsLlcMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SuzhouFinancialLeasingCoLtdMember" name="SuzhouFinancialLeasingCoLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <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_CsiNewEnergyHoldingCo.LtdMember" name="CsiNewEnergyHoldingCo.LtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarManufacturingChangshuInc.Member" name="CanadianSolarManufacturingChangshuInc.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CsiCellsCo.Ltd.Member" name="CsiCellsCo.Ltd.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CsiSolarPowerChinaInc.Member" name="CsiSolarPowerChinaInc.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarUkLtdMember" name="CanadianSolarUkLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarUkProjectsLtdMember" name="CanadianSolarUkProjectsLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ChangshuTlianCo.Ltd.Member" name="ChangshuTlianCo.Ltd.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarEnergyAcquisitionCo.Member" name="CanadianSolarEnergyAcquisitionCo.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <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_CanadianSolarManufacturingVietnamCo.LtdMember" name="CanadianSolarManufacturingVietnamCo.LtdMember" 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_PledgedAssetsProjectAssetsAndSolarPowerSystems" name="PledgedAssetsProjectAssetsAndSolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" name="DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" 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_TaxEquityTransactionsLineItems" name="TaxEquityTransactionsLineItems" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <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_CanadianSolarProjectKKMember" name="CanadianSolarProjectKKMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ServiceRevenueFromRelatedParty" name="ServiceRevenueFromRelatedParty" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" name="ChangsuTeguNewMaterialTechnologyCoLtdMember" 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_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_IncreaseDecreaseInProductWarrantyAccrual" name="IncreaseDecreaseInProductWarrantyAccrual" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" name="FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" name="CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" name="CanadianSolarSunenergyBaotouCo.Ltd.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_MajorSubsidiariesDisclosuresAbstract" name="MajorSubsidiariesDisclosuresAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProceedsFromThirdPartyFinancingLiabilities" name="ProceedsFromThirdPartyFinancingLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <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_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" name="ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <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_CanadianSolarInfrastructureFundIncMember" name="CanadianSolarInfrastructureFundIncMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_OMServiceMember" name="OMServiceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SuzhouIsilverMaterialsMember" name="SuzhouIsilverMaterialsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SuzhouKzoneEquipmentTechnologyMember" name="SuzhouKzoneEquipmentTechnologyMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" name="AssetsHeldForSaleNumberOfSolarPowerPlantsSold" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_IncreaseDecreaseInGoodwill" name="IncreaseDecreaseInGoodwill" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_FinancingLiabilitiesNonCurrent" name="FinancingLiabilitiesNonCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_PurchaseOfUnitsPercentage" name="PurchaseOfUnitsPercentage" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" name="NumberOfBoardOfInvestmentCertificatesTaxExemption" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_AssetManagementServiceMember" name="AssetManagementServiceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CsiModulesDafengCoLtdMember" name="CsiModulesDafengCoLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_EquityInterestHeldAsGeneralPartner" name="EquityInterestHeldAsGeneralPartner" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" 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_PaymentsOfDistributionsToTaxEquityInvestors" name="PaymentsOfDistributionsToTaxEquityInvestors" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_CsiCellsYanchangCoLtdMember" name="CsiCellsYanchangCoLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SalesRevenueAbstract" name="SalesRevenueAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_LongTermBorrowingsOnProjectAssetsCurrent" name="LongTermBorrowingsOnProjectAssetsCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" name="OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" name="CanadianSolarConstructionAustraliaPtyLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CsiWaferLuoyangCoLtdMember" name="CsiWaferLuoyangCoLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <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_EtSolutionsSouthAfricaOnePtyMember" name="EtSolutionsSouthAfricaOnePtyMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" name="ShippingsAndHandlingCostPolicyPolicyTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_PeriodOfSunsetReviews" name="PeriodOfSunsetReviews" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_CsiModulesJiaxingCoLtdMember" name="CsiModulesJiaxingCoLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_MaterialAndWorkmanShipMember" name="MaterialAndWorkmanShipMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_EightyPercentInitialPowerCapacityMember" name="EightyPercentInitialPowerCapacityMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_NinetySevenPercentInitialPowerCapacityMember" name="NinetySevenPercentInitialPowerCapacityMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_NinetyThreeInitialPowerCapacityMember" name="NinetyThreeInitialPowerCapacityMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarPowerProjectMember" name="SolarPowerProjectMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" name="CanadianSolarNewEnergyHoldingCompanyLimitedMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" name="CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarSsesCanadaInc.Member" name="CanadianSolarSsesCanadaInc.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_TechnologyCsiNewEnergyZhejiangCoLtdMember" name="TechnologyCsiNewEnergyZhejiangCoLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_BifacialModuleAndDoubleGlassModuleMember" name="BifacialModuleAndDoubleGlassModuleMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProjectAssets" name="ProjectAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_NonCashOperatingLeaseExpenses" name="NonCashOperatingLeaseExpenses" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" name="PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_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_LeasesFutureMinimumLeasePaymentsDueCurrent" name="LeasesFutureMinimumLeasePaymentsDueCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" name="LeasesFutureMinimumLeasePaymentsDueInTwoYears" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" name="LeasesFutureMinimumLeasePaymentsDueInThreeYears" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" name="LeasesFutureMinimumLeasePaymentsDueInFourYears" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" name="LeasesFutureMinimumLeasePaymentsDueInFiveYears" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_LeasesFutureMinimumLeasePaymentsDue" name="LeasesFutureMinimumLeasePaymentsDue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" name="LeasesFutureMinimumPaymentsInterestIncludedInPayments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" name="LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_PaymentsForFinancingCashFlowsFromFinanceLease" name="PaymentsForFinancingCashFlowsFromFinanceLease" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_CanadianSolarEmployeesMember" name="CanadianSolarEmployeesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SixthAdministrativeReviewOfSolarOneMember" name="SixthAdministrativeReviewOfSolarOneMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" name="DerecognitionOfCommodityHedgeAndInterestRateSwap" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_CanadianSolarMember" name="CanadianSolarMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_PercentageOfDiscountOnIssueOfShares" name="PercentageOfDiscountOnIssueOfShares" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_PremiumDiscountOnIssueOfShares" name="PremiumDiscountOnIssueOfShares" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_OtherPayablesMember" name="OtherPayablesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProceedsFromSubscriptionAdvances" name="ProceedsFromSubscriptionAdvances" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_AdvancesToSuppliersAndOtherReceivableMember" name="AdvancesToSuppliersAndOtherReceivableMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SalgueiroIRenewableEnergyS.aMember" name="SalgueiroIRenewableEnergyS.aMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SalgueiroIiRenewableEnergyS.a.Member" name="SalgueiroIiRenewableEnergyS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_Jaba4EnergiasRenovveisS.a.Member" name="Jaba4EnergiasRenovveisS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_WorkingCapitalFacilityMember" name="WorkingCapitalFacilityMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SalgueiroIiiRenewableEnergyS.a.Member" name="SalgueiroIiiRenewableEnergyS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_Jaiba3RenewableEnergyS.a.Member" name="Jaiba3RenewableEnergyS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_Jaiba9RenewableEnergyS.a.Member" name="Jaiba9RenewableEnergyS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_LavrasSolarHoldingS.aMember" name="LavrasSolarHoldingS.aMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" name="LeadingInstitutionalInvestorsAndStrategicPartnersMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" name="ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_CsiSolarSegmentMember" name="CsiSolarSegmentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_GlobalEnergySegmentMember" name="GlobalEnergySegmentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SeriesOfIndividuallyImmaterialCountriesMember" name="SeriesOfIndividuallyImmaterialCountriesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_EliminationsAndReconcilingItemsMember" name="EliminationsAndReconcilingItemsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_FinishedGoodsModules" name="FinishedGoodsModules" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_NumberOfLineOfCreditFacility" name="NumberOfLineOfCreditFacility" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <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_CsiSolarManufacturingFuningCoLtdMember" name="CsiSolarManufacturingFuningCoLtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <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_OtherCsiSolarProductsMember" name="OtherCsiSolarProductsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarSystemKitsProductMember" name="SolarSystemKitsProductMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarPowerProjectsMember" name="SolarPowerProjectsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_OmAndAssetManagementServicesMember" name="OmAndAssetManagementServicesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" name="SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" name="SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" name="LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_SaleLeasebackTransactionProceedsFinancingActivities" name="SaleLeasebackTransactionProceedsFinancingActivities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element name="ScheduleOfElectricityRevenueTableTextBlock" id="csiq_ScheduleOfElectricityRevenueTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="IncreaseDecreaseInDepreciationExpense" id="csiq_IncreaseDecreaseInDepreciationExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="ReCrimsonHoldingsLlcMember" id="csiq_ReCrimsonHoldingsLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NumberOfUnitsPurchased" id="csiq_NumberOfUnitsPurchased" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" id="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AzumaKofujiDaiichiHatsudenshoG.k.Member" id="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CanadianSolarSunenergyJiaxingCo.LtdMember" id="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="InsuranceClaimsOrWeatherRelatedProjectDamages" id="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="SupplierMember" id="csiq_SupplierMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SupplierBMember" id="csiq_SupplierBMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" id="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="AmountOfPerformanceBasedEnergyIncentives" id="csiq_AmountOfPerformanceBasedEnergyIncentives" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" id="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="HorusSolarS.a.DeCapitalVariableMember" id="csiq_HorusSolarS.a.DeCapitalVariableMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FranciscoSaIRenewableEnergyS.a.Member" id="csiq_FranciscoSaIRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FranciscoSaIiRenewableEnergyS.a.Member" id="csiq_FranciscoSaIiRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FranciscoSaIiiRenewableEnergyS.a.Member" id="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasISolarRenewableEnergyS.a.Member" id="csiq_LavrasISolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasIiSolarRenewableEnergyS.a.Member" id="csiq_LavrasIiSolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasIiiSolarRenewableEnergyS.a.Member" id="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasIvSolarRenewableEnergyS.a.Member" id="csiq_LavrasIvSolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasVSolarRenewableEnergyS.a.Member" id="csiq_LavrasVSolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SonoranWestSolarHoldingsLlcMember" id="csiq_SonoranWestSolarHoldingsLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SonoranWestSolarHoldings2LlcMember" id="csiq_SonoranWestSolarHoldings2LlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="YanchengJiwaNewMaterialTechnologyCo.LtdMember" id="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FieldfareArgentinaS.r.l.Member" id="csiq_FieldfareArgentinaS.r.l.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CanadianSolarInvestmentManagementPtyLtdMember" id="csiq_CanadianSolarInvestmentManagementPtyLtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember" id="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CsiEnergyProjectTechnologySuzhouCo.Ltd.Member" id="csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CsiElectricitySalesJiangsuCo.Ltd.Member" id="csiq_CsiElectricitySalesJiangsuCo.Ltd.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SharePurchaseProceedsFromThirdPartyInvestors" id="csiq_SharePurchaseProceedsFromThirdPartyInvestors" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="SupplierCMember" id="csiq_SupplierCMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="JushengSuzhouSolarTechCo.LtdMember" id="csiq_JushengSuzhouSolarTechCo.LtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NumberOfOtherParticipatingFinancialInstitutions" id="csiq_NumberOfOtherParticipatingFinancialInstitutions" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" id="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FourJapaneseSubsidiariesMember" id="csiq_FourJapaneseSubsidiariesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember" id="csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" id="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="ProceedsFromLoansFromSubsidiaries" id="csiq_ProceedsFromLoansFromSubsidiaries" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="EquityInterestHeldAsLimitedPartner" id="csiq_EquityInterestHeldAsLimitedPartner" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="FirstAdministrativeReviewOfSolarOneMember" id="csiq_FirstAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SecondAdministrativeReviewOfSolarOneMember" id="csiq_SecondAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ThirdAdministrativeReviewOfSolarOneMember" id="csiq_ThirdAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FourthAdministrativeReviewOfSolarOneMember" id="csiq_FourthAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FifthAdministrativeReviewOfSolarOneMember" id="csiq_FifthAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SeventhAdministrativeReviewOfSolarOneMember" id="csiq_SeventhAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SubscriptionAdvances" id="csiq_SubscriptionAdvances" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LeasesFutureMinimumLeasePaymentsDueThereAfter" id="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="UnusualOrInfrequentItemPolicyTextBlock" id="csiq_UnusualOrInfrequentItemPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="OtherGlobalEnergyProductsIncludesElectricitySalesMember" id="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AdditionalAmountDrawnOfUnderBorrowing" id="csiq_AdditionalAmountDrawnOfUnderBorrowing" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="AmountOfDevelopmentLoan" id="csiq_AmountOfDevelopmentLoan" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="TotalAmountOfMatures" id="csiq_TotalAmountOfMatures" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="ShortTermNotePayableMember" id="csiq_ShortTermNotePayableMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" id="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ProceedsFromPaymentsToMinorityShareHolder" id="csiq_ProceedsFromPaymentsToMinorityShareHolder" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>csiq-20211231_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.1.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 10/17/2022 3:56:02 AM-->
<!--Modified on: 10/17/2022 3:56:02 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-20211231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAllowanceForCreditLossesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInventoriesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureProjectAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsLongTermDetails3Calc2" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseOperatingLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseOperatingLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseFinanceLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseFinanceLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseTotalLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseTotalLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseTotalLeasesSummaryDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsLongTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638015757534164710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638015757534164710" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638015757534164710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="us-gaap_LiabilitiesCurrent_638015757534164710" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638015757534164710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="us-gaap_ShortTermBorrowings_638015757534164710" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent_638015757534164710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="us-gaap_AccountsPayableTradeCurrent_638015757534164710" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_638015757534164710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="csiq_ShortTermNotesPayable_638015757534164710" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_638015757534164710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="us-gaap_DueToRelatedPartiesCurrent_638015757534164710" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_638015757534164710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_638015757534164710" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent_638015757534164710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="us-gaap_AccountsPayableOtherCurrent_638015757534164710" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638015757534164710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638015757534164710" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_638015757534174696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_638015757534174696" order="8" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638015757534174696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638015757534174696" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638015757534174696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638015757534164710" xlink:to="us-gaap_OtherLiabilitiesCurrent_638015757534174696" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_638015757534174696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_638015757534174696" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638015757534174696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="us-gaap_LongTermNotesAndLoans_638015757534174696" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable_638015757534174696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="us-gaap_ConvertibleNotesPayable_638015757534174696" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638015757534174696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638015757534174696" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638015757534184693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638015757534184693" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_638015757534184693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_638015757534184693" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638015757534184693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638015757534184693" order="8" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FinancingLiabilitiesNonCurrent" xlink:label="csiq_FinancingLiabilitiesNonCurrent_638015757534184693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="csiq_FinancingLiabilitiesNonCurrent_638015757534184693" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638015757534184693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638015757534164710" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638015757534184693" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757534184693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757534184693" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638015757534194689" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757534184693" xlink:to="us-gaap_StockholdersEquity_638015757534194689" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638015757534194689" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638015757534194689" xlink:to="us-gaap_CommonStockValue_638015757534194689" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638015757534194689" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638015757534194689" xlink:to="us-gaap_TreasuryStockCommonValue_638015757534194689" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638015757534194689" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638015757534194689" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638015757534194689" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638015757534194689" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638015757534194689" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638015757534194689" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638015757534194689" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638015757534194689" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638015757534194689" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638015757534194689" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757534184693" xlink:to="us-gaap_MinorityInterest_638015757534194689" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638015757534204692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_AssetsCurrent_638015757534204692" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638015757534204692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638015757534204692" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638015757534204692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638015757534204692" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638015757534204692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_AccountsReceivableNetCurrent_638015757534204692" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_638015757534214700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_UnbilledReceivablesCurrent_638015757534214700" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_638015757534214700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_638015757534214700" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638015757534214700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_InventoryNet_638015757534214700" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_638015757534214700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_638015757534214700" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_638015757534224710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_AdvancesOnInventoryPurchases_638015757534224710" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_638015757534224710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_DerivativeAssetsCurrent_638015757534224710" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638015757534224710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638015757534224710" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638015757534224710" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638015757534224710" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_638015757534234698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638015757534204692" xlink:to="us-gaap_RestrictedCashAndCashEquivalents_638015757534234698" order="12" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638015757534234698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638015757534234698" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638015757534234698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638015757534234698" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_638015757534234698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_SolarPowerSystems_638015757534234698" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638015757534234698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638015757534234698" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_638015757534244696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_638015757534244696" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseNoncurrent" xlink:label="us-gaap_PrepaidExpenseNoncurrent_638015757534244696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_PrepaidExpenseNoncurrent_638015757534244696" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638015757534244696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_EquityMethodInvestments_638015757534244696" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638015757534244696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638015757534244696" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638015757534254700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638015757534254700" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638015757534254700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638015757534254700" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638015757534254700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638015757534254700" order="12" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="NetIncomeLossAvailableToCommonStockholdersBasic" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757534264703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_ProfitLoss_638015757534264703" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638015757534264703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638015757534264703" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638015757534264703" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638015757534264703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638015757534264703" xlink:to="us-gaap_OperatingIncomeLoss_638015757534264703" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638015757534264703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638015757534264703" xlink:to="us-gaap_GrossProfit_638015757534264703" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757534275044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638015757534264703" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757534275044" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638015757534275044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638015757534264703" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638015757534275044" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638015757534275044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638015757534264703" xlink:to="us-gaap_OperatingExpenses_638015757534275044" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense_638015757534275044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638015757534275044" xlink:to="us-gaap_SellingAndMarketingExpense_638015757534275044" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638015757534275044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638015757534275044" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638015757534275044" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638015757534284703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638015757534275044" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638015757534284703" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638015757534284703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638015757534275044" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638015757534284703" order="4" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638015757534284703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638015757534264703" xlink:to="us-gaap_NonoperatingIncomeExpense_638015757534284703" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638015757534284703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638015757534284703" xlink:to="us-gaap_InterestExpense_638015757534284703" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_638015757534284703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638015757534284703" xlink:to="us-gaap_InvestmentIncomeInterest_638015757534284703" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757534284703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638015757534284703" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757534284703" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638015757534284703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638015757534284703" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638015757534284703" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_638015757534294699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638015757534284703" xlink:to="us-gaap_GainLossOnInvestments_638015757534294699" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638015757534294699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638015757534264703" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638015757534294699" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638015757534294699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638015757534264703" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638015757534294699" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638015757534294699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638015757534294699" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638015757534304819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638015757534304819" order="1" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638015757534304819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638015757534304819" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757534304819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638015757534304819" xlink:to="us-gaap_ProfitLoss_638015757534304819" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638015757534304819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638015757534304819" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638015757534304819" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638015757534304819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638015757534304819" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638015757534304819" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638015757534304819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638015757534304819" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638015757534304819" order="4" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757534314697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_ProfitLoss_638015757534314697" order="1" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638015757534314697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_AccretionExpense_638015757534314697" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638015757534314697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638015757534314697" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_638015757534314697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_638015757534314697" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_638015757534314697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_638015757534314697" order="5" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638015757534314697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638015757534314697" order="6" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638015757534314697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638015757534314697" order="7" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638015757534324702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638015757534324702" order="8" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638015757534324702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_AssetImpairmentCharges_638015757534324702" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638015757534324702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_ProjectAssetsImpairmentCharge_638015757534324702" order="10" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_638015757534324702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_ImpairmentOfInvestments_638015757534324702" order="11" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757534324702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757534324702" order="12" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638015757534324702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638015757534324702" order="13" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638015757534324702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638015757534324702" order="14" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638015757534334692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_InventoryWriteDown_638015757534334692" order="15" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses_638015757534334692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_NonCashOperatingLeaseExpenses_638015757534334692" order="16" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638015757534334692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_ShareBasedCompensation_638015757534334692" order="17" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_638015757534334692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_638015757534334692" order="18" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638015757534334692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638015757534334692" order="19" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638015757534334692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638015757534334692" order="20" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638015757534344693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638015757534344693" order="21" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638015757534344693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638015757534344693" order="22" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638015757534344693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInInventories_638015757534344693" order="23" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638015757534344693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638015757534344693" order="24" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_638015757534344693" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_638015757534344693" order="25" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets_638015757534354691" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_IncreaseDecreaseInProjectAssets_638015757534354691" order="26" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638015757534354691" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638015757534354691" order="27" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638015757534354691" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638015757534354691" order="28" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638015757534354691" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638015757534354691" order="29" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638015757534354691" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638015757534354691" order="30" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638015757534364691" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638015757534364691" order="31" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638015757534364691" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638015757534364691" order="32" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638015757534364691" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638015757534364691" order="33" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638015757534467540" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638015757534467540" order="34" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInProductWarrantyAccrual" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_638015757534470196" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_IncreaseDecreaseInProductWarrantyAccrual_638015757534470196" order="35" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInPrepaidLandUseRight" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_638015757534470873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_IncreaseDecreaseInPrepaidLandUseRight_638015757534470873" order="36" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInGoodwill" xlink:label="csiq_IncreaseDecreaseInGoodwill_638015757534474688" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_IncreaseDecreaseInGoodwill_638015757534474688" order="37" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638015757534474688" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638015757534474688" order="38" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638015757534474688" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638015757534474688" order="39" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638015757534474688" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638015757534474688" order="40" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_638015757534474688" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757534304819" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_638015757534474688" order="41" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757534484690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757534484690" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_638015757534484690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757534484690" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_638015757534484690" order="1" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638015757534484690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757534484690" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638015757534484690" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_638015757534484690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757534484690" xlink:to="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_638015757534484690" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638015757534484690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757534484690" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638015757534484690" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638015757534494705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757534484690" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638015757534494705" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_638015757534494705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757534484690" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_638015757534494705" order="6" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638015757534494705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757534484690" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638015757534494705" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable_638015757534504692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_ProceedsFromNotesPayable_638015757534504692" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_638015757534504692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_RepaymentsOfNotesPayable_638015757534504692" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638015757534504692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638015757534504692" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_638015757534504692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_PaymentsToMinorityShareholders_638015757534504692" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638015757534504692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638015757534504692" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromThirdPartyFinancingLiabilities" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_638015757534514692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="csiq_ProceedsFromThirdPartyFinancingLiabilities_638015757534514692" order="6" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsOfDistributionsToTaxEquityInvestors" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_638015757534514692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="csiq_PaymentsOfDistributionsToTaxEquityInvestors_638015757534514692" order="7" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments_638015757534514692" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_FinanceLeasePrincipalPayments_638015757534514692" order="8" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt_638015757534524928" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_ProceedsFromConvertibleDebt_638015757534524928" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_638015757534524928" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="csiq_ProceedsFromPaymentsToMinorityShareHolder_638015757534524928" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638015757534524928" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638015757534524928" order="11" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SaleLeasebackTransactionProceedsFinancingActivities" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638015757534524928" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638015757534524928" order="12" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_638015757534534704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts_638015757534534704" order="13" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_638015757534534704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_638015757534534704" order="14" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromSubscriptionAdvances" xlink:label="csiq_ProceedsFromSubscriptionAdvances_638015757534534704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="csiq_ProceedsFromSubscriptionAdvances_638015757534534704" order="15" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638015757534534704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638015757534534704" order="16" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638015757534544698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638015757534544698" order="17" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638015757534544698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757534494705" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638015757534544698" order="18" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638015757534554702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638015757534554702" order="4" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:type="extended" xlink:title="00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638015757534554702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638015757534554702" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638015757534554702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638015757534554702" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638015757534554702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638015757534554702" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xlink:type="extended" xlink:title="40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638015757534564702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638015757534564702" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638015757534564702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638015757534564702" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638015757534564702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638015757534564702" order="3" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xlink:type="extended" xlink:title="40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638015757534564702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638015757534564702" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638015757534564702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638015757534564702" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xlink:type="extended" xlink:title="40401 - Disclosure - INVENTORIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_638015757534574704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_638015757534574704" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_638015757534574704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_638015757534574704" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_638015757534574704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_638015757534574704" 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-20211231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_638015757534574704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_638015757534574704" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638015757534574704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638015757534574704" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638015757534584699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638015757534584699" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638015757534584699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638015757534584699" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638015757534584699" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AccumulatedAssetImpairmentCharges" xlink:label="csiq_AccumulatedAssetImpairmentCharges_638015757534584699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638015757534584699" xlink:to="csiq_AccumulatedAssetImpairmentCharges_638015757534584699" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638015757534584699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638015757534584699" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638015757534584699" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross_638015757534584699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_ConstructionInProgressGross_638015757534584699" 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-20211231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638015757534584699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_SolarPowerSystems" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638015757534584699" order="1" use="optional" weight="-1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xlink:type="extended" xlink:title="40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="FiniteLivedIntangibleAssetsNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638015757534594741" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638015757534594741" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638015757534594741" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638015757534594741" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash_638015757534594741" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Cash_638015757534594741" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets_638015757534594741" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssets_638015757534594741" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets_638015757534594741" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="csiq_ProjectAssets_638015757534594741" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638015757534604703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermDebt_638015757534604703" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities_638015757534604703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OtherLiabilities_638015757534604703" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638015757534604703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_ShortTermBorrowings_638015757534604703" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2" xlink:type="extended" xlink:title="41103 - Disclosure - BORROWINGS - Long term (Details 3) (Calc 2)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent_638015757534604703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LoansPayableCurrent_638015757534604703" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638015757534604703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermNotesAndLoans_638015757534604703" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xlink:type="extended" xlink:title="41201 - Disclosure - LEASE - Lease expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638015757534604703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638015757534604703" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense_638015757534614695" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseInterestExpense_638015757534614695" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_638015757534614695" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseCost_638015757534614695" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_638015757534614695" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_638015757534614695" order="4" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41204 - Disclosure - LEASE - Operating leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638015757534614695" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638015757534614695" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638015757534614695" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638015757534614695" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638015757534614695" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638015757534614695" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638015757534614695" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638015757534614695" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638015757534625563" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638015757534625563" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638015757534625563" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638015757534625563" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41205 - Disclosure - LEASE - Operating leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638015757534625563" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638015757534625563" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638015757534625563" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_OperatingLeaseLiability_638015757534625563" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41206 - Disclosure - LEASE - Finance leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638015757534634708" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638015757534634708" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638015757534634708" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638015757534634708" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638015757534634708" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638015757534634708" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41207 - Disclosure - LEASE - Finance leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638015757534634708" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638015757534634708" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638015757534634708" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiability_638015757534634708" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41208 - Disclosure - LEASE - Total leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_638015757534644701" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_638015757534644701" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_638015757534644701" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_638015757534644701" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_638015757534644701" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_638015757534644701" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_638015757534644701" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_638015757534644701" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_638015757534644701" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_638015757534644701" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter_638015757534644701" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter_638015757534644701" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638015757534654704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638015757534654704" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_638015757534654704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_638015757534654704" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_638015757534654704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_638015757534654704" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_638015757534654704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_638015757534654704" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_638015757534654704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_638015757534654704" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638015757534654704" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638015757534654704" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41209 - Disclosure - LEASE - Total leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_638015757534664702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_638015757534664702" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_638015757534664702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_638015757534664702" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_638015757534664702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_638015757534664702" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_638015757534664702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LeaseLiability_638015757534664702" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xlink:type="extended" xlink:title="41210 - Disclosure - LEASE - Total leases - Summary (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_638015757534664702" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_638015757534664702" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638015757534674703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638015757534674703" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent_638015757534674703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiabilityCurrent_638015757534674703" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent_638015757534674703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiabilityNoncurrent_638015757534674703" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638015757534674703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638015757534674703" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638015757534674703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638015757534674703" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - BORROWINGS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="DebtLongtermAndShorttermCombinedAmount" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent_638015757534684705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_DebtCurrent_638015757534684705" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings_638015757534684705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtCurrent_638015757534684705" xlink:to="us-gaap_OtherShortTermBorrowings_638015757534684705" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_638015757534684705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtCurrent_638015757534684705" xlink:to="us-gaap_LongTermDebtCurrent_638015757534684705" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_638015757534684705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtCurrent_638015757534684705" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_638015757534684705" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638015757534684705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_LongTermNotesAndLoans_638015757534684705" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xlink:type="extended" xlink:title="41303 - Disclosure - BORROWINGS - Long term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638015757534684705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638015757534684705" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638015757534694700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638015757534694700" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638015757534694700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638015757534694700" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638015757534694700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638015757534694700" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638015757534694700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638015757534694700" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638015757534694700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638015757534694700" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638015757534694700" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638015757534694700" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638015757534704698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638015757534704698" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638015757534704698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsNet_638015757534704698" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638015757534704698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsGross_638015757534704698" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638015757534704698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638015757534704698" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638015757534704698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638015757534704698" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638015757534704698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638015757534704698" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory_638015757534704698" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsInventory_638015757534704698" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638015757534714699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638015757534714699" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638015757534714699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638015757534714699" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638015757534714699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638015757534714699" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638015757534714699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638015757534714699" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638015757534714699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638015757534714699" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_638015757534714699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_638015757534714699" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638015757534714699" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsOther_638015757534714699" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638015757534724690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638015757534704698" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638015757534724690" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638015757534724690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638015757534724690" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_638015757534724690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638015757534724690" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_638015757534724690" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638015757534724690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638015757534724690" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638015757534724690" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638015757534724690" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638015757534724690" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638015757534724690" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638015757534734708" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638015757534724690" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638015757534734708" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638015757534734708" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638015757534724690" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638015757534734708" order="5" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xlink:type="extended" xlink:title="41804 - Disclosure - INCOME TAXES - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638015757534734708" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638015757534734708" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638015757534734708" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638015757534734708" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638015757534744705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638015757534744705" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638015757534744705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638015757534744705" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638015757534744705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638015757534744705" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638015757534744705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638015757534744705" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638015757534744705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638015757534744705" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638015757534744705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638015757534744705" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_638015757534744705" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_638015757534744705" order="9" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638015757534754696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_638015757534754696" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638015757534754696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638015757534754696" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638015757534754696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_AssetsCurrent_638015757534754696" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates_638015757534754696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_InvestmentInAffiliates_638015757534754696" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries_638015757534764697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_InvestmentInSubsidiaries_638015757534764697" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638015757534764697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638015757534764697" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638015757534764697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638015757534764697" order="5" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates_638015757534764697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsToAcquireAffiliates_638015757534764697" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries_638015757534764697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsToAcquireSubsidiaries_638015757534764697" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638015757534764697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638015757534764697" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638015757534774703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638015757534774703" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757534774703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProfitLoss_638015757534774703" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638015757534774703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638015757534774703" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638015757534774703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AccretionExpense_638015757534774703" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638015757534774703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638015757534774703" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_638015757534774703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_638015757534774703" order="5" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757534784696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757534784696" order="6" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638015757534784696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638015757534784696" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_638015757534784696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_638015757534784696" order="8" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638015757534784696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation_638015757534784696" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638015757534784696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638015757534784696" order="10" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638015757534784696" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638015757534784696" order="11" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638015757534954711" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638015757534954711" order="12" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638015757534954711" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638015757534954711" order="13" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638015757534954711" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638015757534954711" order="14" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638015757534954711" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638015757534954711" order="15" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638015757534964707" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638015757534964707" order="16" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638015757534964707" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638015757534964707" order="17" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638015757534964707" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638015757534964707" order="18" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638015757534964707" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638015757534964707" order="19" use="optional" weight="-1" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>9
<FILENAME>csiq-20211231_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.1.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 10/17/2022 3:56:02 AM-->
<!--Modified on: 10/17/2022 3:56:02 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-20211231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfChangesInEquity" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfChangesInEquityParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAllowanceForCreditLossesTables" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureCommitmentsAndContingenciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAllowanceForCreditLossesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurementDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurementInterestRateSwapDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInvestmentsInAffiliatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsLongTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureConvertibleNotesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureRelatedPartyBalancesAndTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureCommitmentsAndContingenciesCommitmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureCommitmentsAndContingenciesContingenciesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSegmentInformationDifferentGeographicLocationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSegmentInformationEachProductOrServiceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureMajorCustomersDetails" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureEmployeeBenefitPlansDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureShareBasedCompensationOptionsToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureShareBasedCompensationRsusToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAppendix1MajorSubsidiariesOfCsiDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" 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-20211231.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="extended" xlink:title="99900 - Disclosure - Standard And Custom Axis Domain Defaults">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_1" xlink:title="dei_LegalEntityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_1" xlink:title="dei_EntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_LegalEntityAxis_1" xlink:to="dei_EntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_LegalEntityAxis_1 To dei_EntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis_1" xlink:title="dei_EntityAddressesAddressTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain_1" xlink:title="dei_AddressTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_EntityAddressesAddressTypeAxis_1" xlink:to="dei_AddressTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_EntityAddressesAddressTypeAxis_1 To dei_AddressTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_1" xlink:title="srt_ConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_1" xlink:title="srt_ConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidationItemsAxis_1" xlink:to="srt_ConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidationItemsAxis_1 To srt_ConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_1" xlink:title="srt_ConsolidatedEntitiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_1" xlink:title="srt_ConsolidatedEntitiesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidatedEntitiesAxis_1" xlink:to="srt_ConsolidatedEntitiesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidatedEntitiesAxis_1 To srt_ConsolidatedEntitiesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_1" xlink:title="srt_StatementScenarioAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_1" xlink:title="srt_ScenarioUnspecifiedDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementScenarioAxis_1" xlink:to="srt_ScenarioUnspecifiedDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementScenarioAxis_1 To srt_ScenarioUnspecifiedDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:title="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_1" xlink:title="us-gaap_TypeOfAdoptionMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:to="us-gaap_TypeOfAdoptionMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1 To us-gaap_TypeOfAdoptionMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_1" xlink:title="us-gaap_StatementEquityComponentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_1" xlink:title="us-gaap_EquityComponentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementEquityComponentsAxis_1" xlink:to="us-gaap_EquityComponentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementEquityComponentsAxis_1 To us-gaap_EquityComponentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CumulativeEffectPeriodOfAdoptionAxis_1 To srt_CumulativeEffectPeriodOfAdoptionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1" xlink:title="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivableTypeDomain" xlink:label="us-gaap_ReceivableTypeDomain_1" xlink:title="us-gaap_ReceivableTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1" xlink:to="us-gaap_ReceivableTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1 To us-gaap_ReceivableTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_1" xlink:title="us-gaap_ValuationAllowancesAndReservesTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_1" xlink:title="us-gaap_ValuationAllowancesAndReservesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_1" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ValuationAllowancesAndReservesTypeAxis_1 To us-gaap_ValuationAllowancesAndReservesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_1" xlink:title="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_1" xlink:title="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_1" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_1 To us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_1" xlink:title="srt_OwnershipAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_1" xlink:title="srt_OwnershipDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_OwnershipAxis_1" xlink:to="srt_OwnershipDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_OwnershipAxis_1 To srt_OwnershipDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_1" xlink:title="srt_CounterpartyNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_1" xlink:title="srt_RepurchaseAgreementCounterpartyNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CounterpartyNameAxis_1" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CounterpartyNameAxis_1 To srt_RepurchaseAgreementCounterpartyNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_1" xlink:title="us-gaap_BalanceSheetLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_1" xlink:title="us-gaap_BalanceSheetLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BalanceSheetLocationAxis_1" xlink:to="us-gaap_BalanceSheetLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BalanceSheetLocationAxis_1 To us-gaap_BalanceSheetLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesByNatureAxis" xlink:label="us-gaap_GainContingenciesByNatureAxis_1" xlink:title="us-gaap_GainContingenciesByNatureAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingencyNatureDomain" xlink:label="us-gaap_GainContingencyNatureDomain_1" xlink:title="us-gaap_GainContingencyNatureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_GainContingenciesByNatureAxis_1" xlink:to="us-gaap_GainContingencyNatureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_GainContingenciesByNatureAxis_1 To us-gaap_GainContingencyNatureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PropertyPlantAndEquipmentByTypeAxis_1 To us-gaap_PropertyPlantAndEquipmentTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_1" xlink:title="srt_RangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_1" xlink:title="srt_RangeMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RangeAxis_1" xlink:to="srt_RangeMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RangeAxis_1 To srt_RangeMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis_1" xlink:title="us-gaap_PublicUtilitiesInventoryAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain_1" xlink:title="us-gaap_PublicUtilitiesInventoryTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PublicUtilitiesInventoryAxis_1" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PublicUtilitiesInventoryAxis_1 To us-gaap_PublicUtilitiesInventoryTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_1" xlink:title="srt_ProductOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_1" xlink:title="srt_ProductsAndServicesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ProductOrServiceAxis_1" xlink:to="srt_ProductsAndServicesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ProductOrServiceAxis_1 To srt_ProductsAndServicesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_1" xlink:title="us-gaap_TimingOfTransferOfGoodOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" xlink:title="us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis_1" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TimingOfTransferOfGoodOrServiceAxis_1 To us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_1" xlink:title="us-gaap_StatementBusinessSegmentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_1" xlink:title="us-gaap_SegmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementBusinessSegmentsAxis_1" xlink:to="us-gaap_SegmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementBusinessSegmentsAxis_1 To us-gaap_SegmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_1" xlink:title="us-gaap_GuaranteeObligationsByNatureAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_1" xlink:title="us-gaap_GuaranteeObligationsNatureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_1" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_GuaranteeObligationsByNatureAxis_1 To us-gaap_GuaranteeObligationsNatureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:title="us-gaap_ConcentrationRiskByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_1" xlink:title="us-gaap_ConcentrationRiskTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:to="us-gaap_ConcentrationRiskTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByTypeAxis_1 To us-gaap_ConcentrationRiskTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis_1" xlink:title="us-gaap_UnusualOrInfrequentItemAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain_1" xlink:title="us-gaap_UnusualOrInfrequentItemDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_UnusualOrInfrequentItemAxis_1" xlink:to="us-gaap_UnusualOrInfrequentItemDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_UnusualOrInfrequentItemAxis_1 To us-gaap_UnusualOrInfrequentItemDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:title="us-gaap_DerivativeInstrumentRiskAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_1" xlink:title="us-gaap_DerivativeContractTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:to="us-gaap_DerivativeContractTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DerivativeInstrumentRiskAxis_1 To us-gaap_DerivativeContractTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_1" xlink:title="us-gaap_HedgingDesignationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_1" xlink:title="us-gaap_HedgingDesignationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_HedgingDesignationAxis_1" xlink:to="us-gaap_HedgingDesignationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_HedgingDesignationAxis_1 To us-gaap_HedgingDesignationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_1" xlink:title="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain_1" xlink:title="us-gaap_HedgingRelationshipDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_1" xlink:to="us-gaap_HedgingRelationshipDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_1 To us-gaap_HedgingRelationshipDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_1" xlink:title="us-gaap_IncomeStatementLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_1" xlink:title="us-gaap_IncomeStatementLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementLocationAxis_1" xlink:to="us-gaap_IncomeStatementLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementLocationAxis_1 To us-gaap_IncomeStatementLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1" xlink:title="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_1" xlink:title="srt_EquityMethodInvesteeNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1" xlink:to="srt_EquityMethodInvesteeNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1 To srt_EquityMethodInvesteeNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalUnitsByClassAxis" xlink:label="us-gaap_CapitalUnitsByClassAxis_1" xlink:title="us-gaap_CapitalUnitsByClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalUnitClassDomain" xlink:label="us-gaap_CapitalUnitClassDomain_1" xlink:title="us-gaap_CapitalUnitClassDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CapitalUnitsByClassAxis_1" xlink:to="us-gaap_CapitalUnitClassDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CapitalUnitsByClassAxis_1 To us-gaap_CapitalUnitClassDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_1" xlink:title="us-gaap_SubsidiarySaleOfStockAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_1" xlink:title="us-gaap_SaleOfStockNameOfTransactionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsidiarySaleOfStockAxis_1" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsidiarySaleOfStockAxis_1 To us-gaap_SaleOfStockNameOfTransactionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_1" xlink:title="us-gaap_CreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_1" xlink:title="us-gaap_CreditFacilityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CreditFacilityAxis_1" xlink:to="us-gaap_CreditFacilityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CreditFacilityAxis_1 To us-gaap_CreditFacilityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_1" xlink:title="us-gaap_DebtInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_1" xlink:title="us-gaap_DebtInstrumentNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DebtInstrumentAxis_1" xlink:to="us-gaap_DebtInstrumentNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DebtInstrumentAxis_1 To us-gaap_DebtInstrumentNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_1" xlink:title="us-gaap_LongtermDebtTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_1" xlink:title="us-gaap_LongtermDebtTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LongtermDebtTypeAxis_1" xlink:to="us-gaap_LongtermDebtTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LongtermDebtTypeAxis_1 To us-gaap_LongtermDebtTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_1" xlink:title="us-gaap_IncomeTaxAuthorityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_1" xlink:title="us-gaap_IncomeTaxAuthorityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeTaxAuthorityAxis_1" xlink:to="us-gaap_IncomeTaxAuthorityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeTaxAuthorityAxis_1 To us-gaap_IncomeTaxAuthorityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_1" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1 To us-gaap_AntidilutiveSecuritiesNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:title="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_1" xlink:title="us-gaap_RelatedPartyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:to="us-gaap_RelatedPartyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1 To us-gaap_RelatedPartyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis_1" xlink:title="us-gaap_LineOfCreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_1" xlink:title="us-gaap_LineOfCreditFacilityLenderDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LineOfCreditFacilityAxis_1" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LineOfCreditFacilityAxis_1 To us-gaap_LineOfCreditFacilityLenderDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis_1" xlink:title="us-gaap_RelatedPartyTransactionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain_1" xlink:title="us-gaap_RelatedPartyTransactionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionAxis_1" xlink:to="us-gaap_RelatedPartyTransactionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionAxis_1 To us-gaap_RelatedPartyTransactionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_1" xlink:title="us-gaap_AwardTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AwardTypeAxis_1" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AwardTypeAxis_1 To us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" xlink:title="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain_1" xlink:title="us-gaap_LossContingencyNatureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" xlink:to="us-gaap_LossContingencyNatureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LossContingenciesByNatureOfContingencyAxis_1 To us-gaap_LossContingencyNatureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_1" xlink:title="srt_LitigationCaseAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_1" xlink:title="srt_LitigationCaseTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_LitigationCaseAxis_1" xlink:to="srt_LitigationCaseTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_LitigationCaseAxis_1 To srt_LitigationCaseTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_1" xlink:title="srt_StatementGeographicalAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_1" xlink:title="srt_SegmentGeographicalDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementGeographicalAxis_1" xlink:to="srt_SegmentGeographicalDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementGeographicalAxis_1 To srt_SegmentGeographicalDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_1" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByBenchmarkAxis_1 To us-gaap_ConcentrationRiskBenchmarkDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_1" xlink:title="srt_MajorCustomersAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_1" xlink:title="srt_NameOfMajorCustomerDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_MajorCustomersAxis_1" xlink:to="srt_NameOfMajorCustomerDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_MajorCustomersAxis_1 To srt_NameOfMajorCustomerDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_1" xlink:title="us-gaap_GranteeStatusAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_1" xlink:title="us-gaap_GranteeStatusDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_GranteeStatusAxis_1" xlink:to="us-gaap_GranteeStatusDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_GranteeStatusAxis_1 To us-gaap_GranteeStatusDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_1" xlink:title="us-gaap_SubsequentEventTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_1" xlink:title="us-gaap_SubsequentEventTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsequentEventTypeAxis_1" xlink:to="us-gaap_SubsequentEventTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsequentEventTypeAxis_1 To us-gaap_SubsequentEventTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1" xlink:title="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" xlink:title="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1 To us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis_1" xlink:title="us-gaap_DisposalGroupClassificationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain_1" xlink:title="us-gaap_DisposalGroupClassificationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DisposalGroupClassificationAxis_1" xlink:to="us-gaap_DisposalGroupClassificationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DisposalGroupClassificationAxis_1 To us-gaap_DisposalGroupClassificationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis" xlink:label="us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis_1" xlink:title="us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsHeldForSaleNameDomain" xlink:label="us-gaap_LongLivedAssetsHeldForSaleNameDomain_1" xlink:title="us-gaap_LongLivedAssetsHeldForSaleNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis_1" xlink:to="us-gaap_LongLivedAssetsHeldForSaleNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis_1 To us-gaap_LongLivedAssetsHeldForSaleNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:title="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_1" xlink:title="us-gaap_ChangeInAccountingEstimateTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ChangeInAccountingEstimateByTypeAxis_1 To us-gaap_ChangeInAccountingEstimateTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis_1" xlink:title="us-gaap_VestingAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain_1" xlink:title="us-gaap_VestingDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VestingAxis_1" xlink:to="us-gaap_VestingDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_VestingAxis_1 To us-gaap_VestingDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_1" xlink:title="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_1" xlink:title="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_1" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_1 To us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_1" xlink:title="us-gaap_VariableRateAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_1" xlink:title="us-gaap_VariableRateDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VariableRateAxis_1" xlink:to="us-gaap_VariableRateDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_VariableRateAxis_1 To us-gaap_VariableRateDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusAxis" xlink:label="us-gaap_PledgedStatusAxis_1" xlink:title="us-gaap_PledgedStatusAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusDomain" xlink:label="us-gaap_PledgedStatusDomain_1" xlink:title="us-gaap_PledgedStatusDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PledgedStatusAxis_1" xlink:to="us-gaap_PledgedStatusDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PledgedStatusAxis_1 To us-gaap_PledgedStatusDomain_1" order="1" />
  </link:definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="dei_DocumentInformationTable" xlink:to="dei_EntityAddressesAddressTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_EntityAddressesAddressTypeAxis" xlink:to="dei_AddressTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_AddressTypeDomain" xlink:to="dei_BusinessContactMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentRegistrationStatement" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAnnualReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentShellCompanyReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCountry" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_ContactPersonnelName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentDescription" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityWellKnownSeasonedIssuer" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityVoluntaryFilers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="29" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="30" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="31" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAccountingStandard" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="32" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="33" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="34" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="35" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="36" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_IcfrAuditorAttestationFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="37" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="38" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorLocation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="39" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorFirmId" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_ParentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_CommonStockSharesIssued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockCommonValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockCommonShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesRetired" xlink:label="us-gaap_TreasuryStockSharesRetired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockSharesRetired" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockRetiredCostMethodAmount" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockRetiredCostMethodAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xlink:type="extended" xlink:title="00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_SubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromMinorityShareholders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xlink:type="extended" xlink:title="30303 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_AllowanceForCreditLossMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForOtherReceivablesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xlink:type="extended" xlink:title="32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails" xlink:type="extended" xlink:title="40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (Narrative) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_SubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarMember" xlink:label="csiq_CanadianSolarMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="csiq_CanadianSolarMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_CanadianSolarEmployeesMember" xlink:label="csiq_CanadianSolarEmployeesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_CanadianSolarEmployeesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherPayablesMember" xlink:label="csiq_OtherPayablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_OtherPayablesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SharePurchaseProceedsFromThirdPartyInvestors" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_SharePurchaseProceedsFromThirdPartyInvestors" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" />
    <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_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
    <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_BusinessCombinationConsiderationTransferred1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" 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/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromMinorityShareholders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" />
    <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_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PercentageOfDiscountOnIssueOfShares" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_PercentageOfDiscountOnIssueOfShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PremiumDiscountOnIssueOfShares" xlink:label="csiq_PremiumDiscountOnIssueOfShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_PremiumDiscountOnIssueOfShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SubscriptionAdvances" xlink:label="csiq_SubscriptionAdvances" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_SubscriptionAdvances" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xlink:type="extended" xlink:title="40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_GainContingenciesTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_GainContingenciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xlink:type="extended" xlink:title="40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ElectricGenerationEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ChangeInAccountingEstimateByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ServiceLifeMember" xlink:label="us-gaap_ServiceLifeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:to="us-gaap_ServiceLifeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" xlink:type="extended" xlink:title="40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_UseRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xlink:type="extended" xlink:title="40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ElectricityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AmountOfPerformanceBasedEnergyIncentives" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_AmountOfPerformanceBasedEnergyIncentives" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xlink:type="extended" xlink:title="40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_GlobalEnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ElectricityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="extended" xlink:title="40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredAtPointInTimeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredOverTimeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_GlobalEnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ElectricityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xlink:type="extended" xlink:title="40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ShippingAndHandlingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SellingExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ResearchAndDevelopmentExpense" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xlink:type="extended" xlink:title="40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_GrantMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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-20211231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xlink:type="extended" xlink:title="40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_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/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_SolarPowerProjectMember" xlink:label="csiq_SolarPowerProjectMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarPowerProjectMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_BifacialModuleAndDoubleGlassModuleMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="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/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsNatureDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_MaterialAndWorkmanShipMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EightyPercentInitialPowerCapacityMember" xlink:label="csiq_EightyPercentInitialPowerCapacityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_EightyPercentInitialPowerCapacityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_NinetySevenPercentInitialPowerCapacityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NinetyThreeInitialPowerCapacityMember" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_NinetyThreeInitialPowerCapacityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_OtherNoncurrentAssetsAdjustment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xlink:type="extended" xlink:title="40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplierConcentrationRiskMember" xlink:label="us-gaap_SupplierConcentrationRiskMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_SupplierConcentrationRiskMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SupplierMember" xlink:label="csiq_SupplierMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="csiq_SupplierMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SupplierBMember" xlink:label="csiq_SupplierBMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="csiq_SupplierBMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SupplierCMember" xlink:label="csiq_SupplierCMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="csiq_SupplierCMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_AdvancesOnInventoryPurchases" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xlink:type="extended" xlink:title="40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdate202004Member" xlink:label="us-gaap_AccountingStandardsUpdate202004Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202004Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="us-gaap_VariableRateAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioForecastMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_OperatingLeaseLiability" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xlink:type="extended" xlink:title="40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_AllowanceForCreditLossMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForOtherReceivablesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AdvancesToSuppliersAndOtherReceivableMember" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AdvancesToSuppliersAndOtherReceivableMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsReceivableGrossCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsReceivableNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AccumulatedAssetImpairmentCharges" xlink:label="csiq_AccumulatedAssetImpairmentCharges" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_AccumulatedAssetImpairmentCharges" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ConstructionInProgressGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xlink:type="extended" xlink:title="40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ElectricGenerationEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_AssetUnderConstructionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_SolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xlink:type="extended" xlink:title="40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xlink:type="extended" xlink:title="40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_HedgingDesignationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:to="us-gaap_HedgingRelationshipDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowHedgingMember" xlink:label="us-gaap_CashFlowHedgingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingRelationshipDomain" xlink:to="us-gaap_CashFlowHedgingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_DerivativeNotionalAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xlink:type="extended" xlink:title="40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_DerivativesAssetsCurrentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncurrentAssetsMember" xlink:label="us-gaap_OtherNoncurrentAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherNoncurrentAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_DerivativesLiabilitiesCurrentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_HedgingDesignationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_NondesignatedMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeForwardMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <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_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xlink:type="extended" xlink:title="40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeForwardMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_CommodityContractMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_Cash" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="csiq_ProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_OtherAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_ShortTermBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_LongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_OtherLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_Liabilities" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xlink:type="extended" xlink:title="41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReRoserockHoldingsLlcMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_OtherEquityMethodInvesteesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReCrimsonHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xlink:type="extended" xlink:title="41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReRoserockHoldingsLlcMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_TaxEquityTransactionsLineItems" xlink:label="csiq_TaxEquityTransactionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="csiq_DecreaseOfNetAssets" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xlink:type="extended" xlink:title="41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReCrimsonHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="4" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IPOMember" xlink:label="us-gaap_IPOMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_IPOMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_PrivatePlacementMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments" />
    <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_PaymentsToAcquireEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ImpairmentOfInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_SharePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfUnitsPurchased" xlink:label="csiq_NumberOfUnitsPurchased" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_NumberOfUnitsPurchased" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_DecreaseOfNetAssets" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xlink:type="extended" xlink:title="41201 - Disclosure - LEASE - Lease expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LeaseCostAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_FinanceLeaseInterestExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_OperatingLeaseCost" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_ShortTermLeaseCost" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_LeaseCost" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_LineOfCreditMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_WorkingCapitalFacilityMember" xlink:label="csiq_WorkingCapitalFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_WorkingCapitalFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_ShortTermNotePayableMember" xlink:label="csiq_ShortTermNotePayableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_ShortTermNotePayableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonrecourseMember" xlink:label="us-gaap_NonrecourseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_NonrecourseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" xlink:label="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" xlink:label="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarProjectKKMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="4" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_EntityDomain" xlink:to="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FourJapaneseSubsidiariesMember" xlink:label="csiq_FourJapaneseSubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_EntityDomain" xlink:to="csiq_FourJapaneseSubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember" xlink:label="csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusAxis" xlink:label="us-gaap_PledgedStatusAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_PledgedStatusAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusDomain" xlink:label="us-gaap_PledgedStatusDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PledgedStatusAxis" xlink:to="us-gaap_PledgedStatusDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetPledgedAsCollateralWithoutRightMember" xlink:label="us-gaap_AssetPledgedAsCollateralWithoutRightMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PledgedStatusDomain" xlink:to="us-gaap_AssetPledgedAsCollateralWithoutRightMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_OtherShortTermBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
    <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_LongTermDebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_DebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_LongTermNotesAndLoans" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebt" xlink:label="us-gaap_SecuredDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_SecuredDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
    <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_LineOfCreditFacilityRemainingBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AdditionalAmountDrawnOfUnderBorrowing" xlink:label="csiq_AdditionalAmountDrawnOfUnderBorrowing" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_AdditionalAmountDrawnOfUnderBorrowing" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfLineOfCreditFacility" xlink:label="csiq_NumberOfLineOfCreditFacility" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_NumberOfLineOfCreditFacility" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_SecuredShortTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="us-gaap_OtherLongTermDebtCurrent" />
    <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_OtherLongTermDebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtCurrent" xlink:label="us-gaap_SecuredDebtCurrent" />
    <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_SecuredDebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_SecuredLongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt" />
    <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_ProceedsFromIssuanceOfDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromLinesOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfOtherParticipatingFinancialInstitutions" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_NumberOfOtherParticipatingFinancialInstitutions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <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_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AmountOfDevelopmentLoan" xlink:label="csiq_AmountOfDevelopmentLoan" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_AmountOfDevelopmentLoan" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_TotalAmountOfMatures" xlink:label="csiq_TotalAmountOfMatures" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_TotalAmountOfMatures" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xlink:type="extended" xlink:title="41303 - Disclosure - BORROWINGS - Long term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermNotesAndLoans" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" />
    <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_LongTermDebtWeightedAverageInterestRateOverTime" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtByMaturityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LoansPayableCurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xlink:type="extended" xlink:title="41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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-20211231.xsd#csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestCostsIncurredAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="us-gaap_InterestExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="us-gaap_InterestCostsIncurred" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xlink:type="extended" xlink:title="41701 - Disclosure - CONVERTIBLE NOTES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_ConvertibleDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfFinancingCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestPayableCurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_CA" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_CN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_JP" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="csiq_OtherJurisdictionsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xlink:type="extended" xlink:title="41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_JP" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_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/2022/country-2022.xsd#country_VN" xlink:label="country_VN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_VN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_TH" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_HK" xlink:label="country_HK" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_HK" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_CanadianSolarEnergyAcquisitionCo.Member" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEnergyAcquisitionCo.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarJapanKKMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEMEAGmbHMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
    <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_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="csiq_UnrecognizedTaxStatueOfLimitationsExpirations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="csiq_DeferredTaxAssetsInterestLimitation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="csiq_IncomeTaxesTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <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_EffectiveIncomeTaxRateReconciliationOtherAdjustments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_PreferentialWithholdingTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxHolidayAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xlink:type="extended" xlink:title="41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xlink:type="extended" xlink:title="41901 - Disclosure - EARNINGS PER SHARE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_EarningsPerShareBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xlink:type="extended" xlink:title="42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AffiliatedEntityMember" xlink:label="srt_AffiliatedEntityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="srt_AffiliatedEntityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIRenewableEnergyS.aMember" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SalgueiroIRenewableEnergyS.aMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SalgueiroIiRenewableEnergyS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_Jaba4EnergiasRenovveisS.a.Member" xlink:label="csiq_Jaba4EnergiasRenovveisS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_Jaba4EnergiasRenovveisS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIiiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SalgueiroIiiRenewableEnergyS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_Jaiba3RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_Jaiba3RenewableEnergyS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_Jaiba9RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_Jaiba9RenewableEnergyS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EtSolutionsSouthAfricaOnePtyMember" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_EtSolutionsSouthAfricaOnePtyMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouIsilverMaterialsMember" xlink:label="csiq_SuzhouIsilverMaterialsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SuzhouIsilverMaterialsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SuzhouKzoneEquipmentTechnologyMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="srt_ChiefExecutiveOfficerMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasSolarHoldingS.aMember" xlink:label="csiq_LavrasSolarHoldingS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasSolarHoldingS.aMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="16" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="17" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="18" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_FranciscoSaIRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FranciscoSaIiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_FranciscoSaIiRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasISolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasISolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasIiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasIiSolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasIvSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasIvSolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasVSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasVSolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SonoranWestSolarHoldingsLlcMember" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SonoranWestSolarHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SonoranWestSolarHoldings2LlcMember" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SonoranWestSolarHoldings2LlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="csiq_ChineseCommercialBanksMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_IncomeStatementLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="csiq_OMServiceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="6" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SalgueiroIRenewableEnergyS.aMember" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SalgueiroIiRenewableEnergyS.a.Member" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_FranciscoSaIRenewableEnergyS.a.Member" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_FranciscoSaIiRenewableEnergyS.a.Member" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_LavrasSolarHoldingS.aMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReCrimsonHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_DueFromRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansAndLeasesReceivableRelatedParties" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties" />
    <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_LoansAndLeasesReceivableRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableRelatedParties" xlink:label="us-gaap_AccountsReceivableRelatedParties" />
    <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_AccountsReceivableRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" />
    <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_DueToRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <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_LineOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_PurchaseOfUnitsPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RevenueFromRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ServiceRevenueFromRelatedParty" xlink:label="csiq_ServiceRevenueFromRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_ServiceRevenueFromRelatedParty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpensesRelatedParty" xlink:label="us-gaap_CostsAndExpensesRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_CostsAndExpensesRelatedParty" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xlink:type="extended" xlink:title="42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligationDueInSecondYear" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInThirdYear" xlink:label="us-gaap_PurchaseObligationDueInThirdYear" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligationDueInThirdYear" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xlink:type="extended" xlink:title="42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_LitigationCaseAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PeriodOfSunsetReviews" xlink:label="csiq_PeriodOfSunsetReviews" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_PeriodOfSunsetReviews" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="42202 - Disclosure - SEGMENT INFORMATION (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_OperatingSegmentsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EliminationsAndReconcilingItemsMember" xlink:label="csiq_EliminationsAndReconcilingItemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ConsolidationItemsDomain" xlink:to="csiq_EliminationsAndReconcilingItemsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_GlobalEnergySegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xlink:type="extended" xlink:title="42203 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AU" xlink:label="country_AU" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EuropeMember" xlink:to="country_AU" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_DE" xlink:label="country_DE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EuropeMember" xlink:to="country_DE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ZA" xlink:label="country_ZA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EuropeMember" xlink:to="country_ZA" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ES" xlink:label="country_ES" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_EuropeMember" xlink:to="country_ES" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_NL" xlink:label="country_NL" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_EuropeMember" xlink:to="country_NL" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB" xlink:label="country_GB" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_EuropeMember" xlink:to="country_GB" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CZ" xlink:label="country_CZ" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_EuropeMember" xlink:to="country_CZ" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_FR" xlink:label="country_FR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_EuropeMember" xlink:to="country_FR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AR" xlink:label="country_AR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_EuropeMember" xlink:to="country_AR" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_EuropeMember" xlink:to="csiq_OtherCountriesEuropeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="csiq_AmericaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_AmericaMember" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_AmericaMember" xlink:to="country_BR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_AmericaMember" xlink:to="country_CA" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_MX" xlink:label="country_MX" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_AmericaMember" xlink:to="country_MX" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_AmericaMember" xlink:to="csiq_OtherCountriesAmericaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_AsiaMember" xlink:to="country_JP" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_AsiaMember" xlink:to="country_CN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KR" xlink:label="country_KR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_AsiaMember" xlink:to="country_KR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IN" xlink:label="country_IN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_AsiaMember" xlink:to="country_IN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AE" xlink:label="country_AE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_AsiaMember" xlink:to="country_AE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_VN" xlink:label="country_VN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_AsiaMember" xlink:to="country_VN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_AsiaMember" xlink:to="country_TH" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CY" xlink:label="country_CY" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_AsiaMember" xlink:to="country_CY" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_PK" xlink:label="country_PK" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_AsiaMember" xlink:to="country_PK" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_AsiaMember" xlink:to="csiq_OtherCountriesAsiaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SeriesOfIndividuallyImmaterialCountriesMember" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_SegmentGeographicalDomain" xlink:to="csiq_SeriesOfIndividuallyImmaterialCountriesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_NoncurrentAssets" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xlink:type="extended" xlink:title="42204 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_GlobalEnergySegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_BatteryStorageSolutionsMember" xlink:label="csiq_BatteryStorageSolutionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_BatteryStorageSolutionsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCsiSolarProductsMember" xlink:label="csiq_OtherCsiSolarProductsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_OtherCsiSolarProductsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerProjectsMember" xlink:label="csiq_SolarPowerProjectsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarPowerProjectsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OmAndAssetManagementServicesMember" xlink:label="csiq_OmAndAssetManagementServicesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_OmAndAssetManagementServicesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink 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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <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_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <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_ConcentrationRiskByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember" />
    <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_CreditConcentrationRiskMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_MajorCustomersAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CustomerOneMember" xlink:label="csiq_CustomerOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="csiq_CustomerOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CustomerTwoMember" xlink:label="csiq_CustomerTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="csiq_CustomerTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CustomerThreeMember" xlink:label="csiq_CustomerThreeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="csiq_CustomerThreeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_ConcentrationRiskTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfCustomers" xlink:label="csiq_NumberOfCustomers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="csiq_NumberOfCustomers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_AccountsReceivableNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xlink:type="extended" xlink:title="42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanCostRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xlink:type="extended" xlink:title="42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_GranteeStatusAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xlink:type="extended" xlink:title="42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_VestingAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_GranteeStatusAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_AssetsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents" />
    <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_RestrictedCashAndCashEquivalents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DueFromRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DerivativeAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsAbstract" xlink:to="csiq_InvestmentInAffiliates" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ShortTermBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DueToRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="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/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_ConvertibleNotesPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_CommonStockValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_TreasuryStockCommonValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xlink:type="extended" xlink:title="42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CommonStockSharesIssued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xlink:type="extended" xlink:title="42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OperatingExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainLossOnInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="csiq_EquityIncomeLossFromSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xlink:type="extended" xlink:title="42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AccretionExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary" />
    <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_GainOrLossOnSaleOfStockInSubsidiary" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="csiq_EquityIncomeLossFromSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" />
    <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_IncreaseDecreaseInDeferredIncomeTaxes" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfDerivatives" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" />
    <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_RepaymentsOfNotesPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromLoansFromSubsidiaries" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="csiq_ProceedsFromLoansFromSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromMinorityShareholders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfConvertibleDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" xlink:type="extended" xlink:title="42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiNewEnergyHoldingCo.LtdMember" xlink:label="csiq_CsiNewEnergyHoldingCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiNewEnergyHoldingCo.LtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingLuoyangIncMember" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingLuoyangIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiCellsCo.Ltd.Member" xlink:label="csiq_CsiCellsCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiCellsCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarUSAIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarJapanKKMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSolutionsIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEMEAGmbHMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarOAndMOntarioIncMember" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarOAndMOntarioIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="dei_EntityDomain" xlink:to="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSouthEastAsiaPteLtdMember" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSouthEastAsiaPteLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarProjectKKMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarUkLtdMember" xlink:label="csiq_CanadianSolarUkLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarUkLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarUkProjectsLtdMember" xlink:label="csiq_CanadianSolarUkProjectsLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarUkProjectsLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarManufacturingFuningCoLtdMember" xlink:label="csiq_CsiSolarManufacturingFuningCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiSolarManufacturingFuningCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="dei_EntityDomain" xlink:to="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChangshuTlianCo.Ltd.Member" xlink:label="csiq_ChangshuTlianCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="dei_EntityDomain" xlink:to="csiq_ChangshuTlianCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="dei_EntityDomain" xlink:to="csiq_RecurrentEnergyLlcMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="22" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CSISolarNewEnergySuzhouCoLtdMember" xlink:label="csiq_CSISolarNewEnergySuzhouCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="dei_EntityDomain" xlink:to="csiq_CSISolarNewEnergySuzhouCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiCellsYanchangCoLtdMember" xlink:label="csiq_CsiCellsYanchangCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiCellsYanchangCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiModulesDafengCoLtdMember" xlink:label="csiq_CsiModulesDafengCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiModulesDafengCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiModulesJiaxingCoLtdMember" xlink:label="csiq_CsiModulesJiaxingCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="29" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiModulesJiaxingCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiWaferLuoyangCoLtdMember" xlink:label="csiq_CsiWaferLuoyangCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="30" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiWaferLuoyangCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember" xlink:label="csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="31" xlink:from="dei_EntityDomain" xlink:to="csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="32" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="33" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarNetherlandCooperativeUaMember" xlink:label="csiq_CanadianSolarNetherlandCooperativeUaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="34" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarNetherlandCooperativeUaMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSsesCanadaInc.Member" xlink:label="csiq_CanadianSolarSsesCanadaInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="35" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSsesCanadaInc.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FieldfareArgentinaS.r.l.Member" xlink:label="csiq_FieldfareArgentinaS.r.l.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="36" xlink:from="dei_EntityDomain" xlink:to="csiq_FieldfareArgentinaS.r.l.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInvestmentManagementPtyLtdMember" xlink:label="csiq_CanadianSolarInvestmentManagementPtyLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="37" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarInvestmentManagementPtyLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember" xlink:label="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="38" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member" xlink:label="csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="39" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiElectricitySalesJiangsuCo.Ltd.Member" xlink:label="csiq_CsiElectricitySalesJiangsuCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="40" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiElectricitySalesJiangsuCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_CsiCellsCo.Ltd.Member" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarPowerChinaInc.Member" xlink:label="csiq_CsiSolarPowerChinaInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_CsiSolarPowerChinaInc.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityInterestHeldAsGeneralPartner" xlink:label="csiq_EquityInterestHeldAsGeneralPartner" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:to="csiq_EquityInterestHeldAsGeneralPartner" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityInterestHeldAsLimitedPartner" xlink:label="csiq_EquityInterestHeldAsLimitedPartner" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:to="csiq_EquityInterestHeldAsLimitedPartner" priority="1" use="optional" />
  </definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>10
<FILENAME>csiq-20211231_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.1.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 10/17/2022 3:56:02 AM-->
<!--Modified on: 10/17/2022 3:56:02 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#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_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/terseLabel" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Address Line One</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, City or Town</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/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.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED BALANCE SHEETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RESTRICTED NET ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current assets:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Cash and Cash Equivalents, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash - current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivable, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade, net of allowance of $40,293 and $47,126 as of December 31, 2020 and 2021, respectively</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledReceivablesCurrent" xlink:to="us-gaap_UnbilledReceivablesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unbilled Receivables, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, unbilled</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivables, unbilled</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueFromRelatedPartiesCurrent" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due from Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from subsidiaries, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount due from related party</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValueAddedTaxReceivableCurrent" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Value added tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Value added tax recoverable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvancesOnInventoryPurchases" xlink:to="us-gaap_AdvancesOnInventoryPurchases_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvancesOnInventoryPurchases_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_AdvancesOnInventoryPurchases_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AdvancesOnInventoryPurchases_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers, net of allowance of $5,845 and $5,822 as of December 31, 2020 and 2021, respectively</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeAssetsCurrent" xlink:to="us-gaap_DerivativeAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Asset, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current portion</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Cash and Cash Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Cash and Cash Equivalents, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash - non-current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Net.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystems" xlink:to="csiq_SolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount after accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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 of allowance of $13,855 and $13,860 as of December 31, 2020 and 2021, respectively</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseNoncurrent" xlink:label="us-gaap_PrepaidExpenseNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseNoncurrent" xlink:to="us-gaap_PrepaidExpenseNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid land use rights</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid land use rights</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total intangible assets, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets, Non Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-current portion</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Right-of-Use Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-use assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LIABILITIES, REDEEMABLE NON-CONTROLLING INTERESTS AND EQUITY</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LIABILITIES AND EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBorrowings" xlink:to="us-gaap_ShortTermBorrowings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings, including long-term borrowings - current portion</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="csiq-20211231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount represents long-borrowings associated with certain solar power projects that are expected to be sold within one year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings on project assets - current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings on project assets - current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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-20211231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShortTermNotesPayable" xlink:to="csiq_ShortTermNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShortTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of borrowings classified s short term notes payable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShortTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short term notes payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShortTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term notes payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueToRelatedPartiesCurrent" xlink:to="us-gaap_DueToRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due to Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to subsidiaries, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableOtherCurrent" xlink:to="us-gaap_AccountsPayableOtherCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableOtherCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable, Other, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableOtherCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract With Customer Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances from customers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLiabilitiesCurrent" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities, current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued warranty costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/positiveLabel" xlink:label="us-gaap_LongTermNotesAndLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total long-term portion</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/verboseLabel" xlink:label="us-gaap_LongTermNotesAndLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleNotesPayable" xlink:to="us-gaap_ConvertibleNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConvertibleNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability for Uncertain Tax Positions, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability for uncertain tax positions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Liabilities, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAccrualAtCarryingValue" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Accrual</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss contingency accruals</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities, noncurrent</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FinancingLiabilitiesNonCurrent" xlink:label="csiq_FinancingLiabilitiesNonCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FinancingLiabilitiesNonCurrent" xlink:to="csiq_FinancingLiabilitiesNonCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FinancingLiabilitiesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of financing liabilities due after one year or beyond the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FinancingLiabilitiesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing Liabilities Non Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FinancingLiabilitiesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL LIABILITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and contingencies (Note 21)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Value, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares - no par value: unlimited authorized shares, 59,820,384 and 64,022,678 shares issued and outstanding at December 31, 2020 and 2021, 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, 59,820,384 and 64,022,678 shares issued and outstanding at December 31, 2020 and 2021, respectively</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Common, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, at cost, 609,516 and nil common shares as of December 31, 2020 and 2021, respectively</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, at cost, 609,516 and nil common shares as of December 31, 2019 and 2020, respectively</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid in Capital, Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional paid-in capital</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings (Accumulated Deficit).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained earnings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income (Loss), Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated other comprehensive loss</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total Canadian Solar Inc. shareholders' equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-controlling interests in subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL LIABILITIES AND EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Doubtful Accounts Receivable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Closing balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade, allowance</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" xlink:to="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">A valuation allowance for advances made to suppliers expected to be utilized within twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Doubtful Advances to Suppliers Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers - current, allowance</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" xlink:to="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">A valuation allowance for advances made to suppliers expected to be utilized after twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Doubtful Advances to Suppliers Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers - non-current, allowance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Par or Stated Value Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common share, par value (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares, shares issued (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares, shares outstanding (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Common, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, shares issued (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF OPERATIONS</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalesRevenueAbstract" xlink:label="csiq_SalesRevenueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalesRevenueAbstract" xlink:to="csiq_SalesRevenueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalesRevenueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">n/a</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalesRevenueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenues:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total electricity revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total net revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenues</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Goods and Services Sold [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of revenues:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Goods and Services Sold</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of revenues</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross profit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Expenses [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating expenses:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling and Marketing Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling and distribution expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">General and Administrative Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">General and administrative expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and Development Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and development expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Income (Expense), Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total operating expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total operating expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Income (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income from operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income from operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss from operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other income (expenses):</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment Income, Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentIncomeInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Derivative Instruments, Net, Pretax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss (gain) on change in fair value of derivatives, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss (gain) on change in fair value of derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on change in fair value of derivatives, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on change in fair value of derivatives, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Transaction Gain (Loss), before Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange gain (loss)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment income (loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment (loss) gain</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other expenses, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other income (expenses), net:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (loss) before income taxes and equity in earnings of subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income before income taxes and equity in earnings of unconsolidated investees</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax benefit (expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax benefit (expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total income tax expense (benefit)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings of unconsolidated investees</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 (loss) of unconsolidated investees</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (loss)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: net income (loss) attributable to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Available to Common Stockholders, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to Canadian Solar Inc. - basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings per share - basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares used in computation - basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Denominator for basic calculation - weighted average number of common shares - basic</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings per share - diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares used in computation - diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Denominator for diluted calculation - weighted average number of common shares - diluted</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income, Net of Tax, Portion Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive income (loss) (net of tax of nil):</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency translation adjustment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive income (loss) (net of tax of nil)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount represents De-recognition of commodity hedge and interest rate swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income Loss De-Recognition of Commodity Hedge and Interest Rate Swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">De-recognition of interest rate swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">De-recognition of derivatives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: comprehensive income (loss) attributable to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income attributable to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive income tax</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Components [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Component [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Common [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid-in Capital</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings (Accumulated Deficit)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_ParentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity (Deficits) Attribute to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-Controlling Interest</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Decrease from Redemptions or Purchase of Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of non-controlling interest's ownership</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased During Period, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of common shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total cost of share repurchases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased During Period, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares repurchased</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of common shares (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Increase from Subsidiary Equity Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital raised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Transfer of equity interest in subsidiaries to non-controlling shareholders</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercise of share options and RSUs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercise of share options and RSUs (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Option exercised</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesRetired" xlink:label="us-gaap_TreasuryStockSharesRetired" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesRetired" xlink:to="us-gaap_TreasuryStockSharesRetired_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockSharesRetired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Shares, Retired</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TreasuryStockSharesRetired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retirement of treasury stock (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockRetiredCostMethodAmount" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockRetiredCostMethodAmount" xlink:to="us-gaap_TreasuryStockRetiredCostMethodAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Retired, Cost Method, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retirement of treasury stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, New Issues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of ordinary shares, net of issuance costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Shares, New Issues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of ordinary shares, net of issuance costs (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares sold at-the-market</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Increase from Sale of Parent Equity Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:to="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Stock in Subsidiary or Equity Method Investee</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disposal of subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value change on derivatives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Entities [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ConsolidatedEntitiesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Entities [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SubsidiariesMember" xlink:to="srt_SubsidiariesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Co</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromMinorityShareholders" xlink:to="us-gaap_ProceedsFromMinorityShareholders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Noncontrolling Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital raised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from changes in ownership interests in subsidiaries without change of control</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments of Stock Issuance Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commissions and offering expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF CASH FLOWS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to reconcile net income to net cash provided by (used in) operating activities:</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to reconcile net income to net cash provided by (used in) operating activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation, Depletion and Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and amortization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccretionExpense" xlink:to="us-gaap_AccretionExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccretionExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Assumptions, Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccretionExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accretion of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Property Plant Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss (gain) on disposal of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of gain (loss) on sale or disposal of solar power systems and other investments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on disposal of solar power systems and other investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on disposal of solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investment, Realized Gain (Loss) on Disposal</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on disposal of investment in affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on sale of interest in affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on disposal of investment in affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetImpairmentCharges" xlink:to="us-gaap_AssetImpairmentCharges_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Impairment Charges</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment charges for property, plant and equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment loss of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfInvestments" xlink:to="us-gaap_ImpairmentOfInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other than Temporary Impairment Losses, Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment charges on investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment loss of investment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for Doubtful Accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:to="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Stock in Subsidiary</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss on disposal of subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NonCashOperatingLeaseExpenses" xlink:to="csiq_NonCashOperatingLeaseExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NonCashOperatingLeaseExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of non-cash operating lease expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NonCashOperatingLeaseExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-cash Operating lease expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NonCashOperatingLeaseExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-cash operating lease expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWriteDown" xlink:to="us-gaap_InventoryWriteDown_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory Write-down</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Write-down of inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory written down</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UnrealizedGainLossFromSalesToInvestees" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents amount of unrealized gain, (loss) from sales to investees.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized Gain, (Loss) from Sales to Investees</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized gain (loss) from sales to affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xlink:to="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of derecognition of commodity hedge and interest rate swap.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derecognition of Commodity Hedge and Interest Rate Swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derecognition of interest rate swap</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Operating Capital [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes in operating assets and liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Contract with Customer, Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, unbilled</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Due from Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInProjectAssets" xlink:to="csiq_IncreaseDecreaseInProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period of the amount of cost of uncompleted contracts in excess of related billings, or unbilled accounts receivable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_IncreaseDecreaseInProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Prepaid Expense and Other Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Noncurrent Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Payable, Trade</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Notes Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term notes payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Due to Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Accounts Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Customer Advances</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances from customers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Operating Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Operating Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInProductWarrantyAccrual" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInProductWarrantyAccrual" xlink:to="csiq_IncreaseDecreaseInProductWarrantyAccrual_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in the amount of obligations for estimated claims under standard and extended warranty protection rights granted to customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Product Warranty Accrual</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued warranty costs</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInPrepaidLandUseRight" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInPrepaidLandUseRight" xlink:to="csiq_IncreaseDecreaseInPrepaidLandUseRight_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for land use right that bring economic benefits for future periods.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Prepaid Land Use Right</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid land use rights</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInGoodwill" xlink:label="csiq_IncreaseDecreaseInGoodwill" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInGoodwill" xlink:to="csiq_IncreaseDecreaseInGoodwill_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase (decrease) in goodwill.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Goodwill</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in the amount of uncertainty liability in income taxes.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Liability for Uncertainty in Income Taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability for uncertain tax positions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Deferred Income Taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net deferred tax assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfDerivatives" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Sale of Derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net settlement of derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net settlement of derivatives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Activities, Cash Flow Statement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss contingency accruals</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash provided by (used in) operating activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investing activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subscription amount</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Equity Method Investment, Dividends or Distributions, Return of Capital</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Return of investment from affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale of Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from disposal of investment in affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:to="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash outflow associated with the acquisition of long-lived, physical assets and Intangible assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments To Acquire Property Plant And Equipment And Intangible Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase of property, plant and equipment and intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale of Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from disposal of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">It represents the proceeds from the sale or disposal of solar power systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale or Disposal of Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from disposal of solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash used in investing activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash used in investing activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromNotesPayable" xlink:to="us-gaap_ProceedsFromNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfNotesPayable" xlink:to="us-gaap_RepaymentsOfNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:to="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Proceeds from long term borrowings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Issuance of Long-term Debt Other than Convertible Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Noncontrolling Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of non-controlling interest</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:to="csiq_ProceedsFromPaymentsToMinorityShareHolder_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents to Proceeds From Payments To Minority Share holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Payments To Minority Share holder</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from issuance of common stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net proceeds from issuance of common shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromThirdPartyFinancingLiabilities" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromThirdPartyFinancingLiabilities" xlink:to="csiq_ProceedsFromThirdPartyFinancingLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow from financing liabilities of third parties.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Third Party Financing Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from third party financing liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_PaymentsOfDistributionsToTaxEquityInvestors" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsOfDistributionsToTaxEquityInvestors" xlink:to="csiq_PaymentsOfDistributionsToTaxEquityInvestors_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of cash outflow in the form of distributions provided to tax equity investors.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments of Distributions to Tax Equity Investors</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Distributions to tax equity investors</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Principal Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of finance lease obligation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromConvertibleDebt" xlink:to="us-gaap_ProceedsFromConvertibleDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Convertible Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net proceeds from issuance of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments of Debt Issuance Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance cost paid on convertible notes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfConvertibleDebt" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Convertible Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net proceeds from issuance of convertible notes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of convertible notes</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromSubscriptionAdvances" xlink:label="csiq_ProceedsFromSubscriptionAdvances" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromSubscriptionAdvances" xlink:to="csiq_ProceedsFromSubscriptionAdvances_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromSubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of cash inflow from subscription advances.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromSubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Subscription Advances</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProceedsFromSubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from subscription of employee stock ownership plan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from exercise of stock options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Repurchase of Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of common shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of common shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from (Repayments of) Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash provided by (used in) financing activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of exchange rate changes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Period Increase (Decrease)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net increase (decrease) in cash, cash equivalents and restricted cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, cash equivalents and restricted cash at the end of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, cash equivalents and restricted cash at the beginning of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total cash and cash equivalents, and restricted cash shown in the statements of cash flows</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental Cash Flow Information [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental disclosure of cash flow information:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Paid, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest paid (net of amounts capitalized)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest paid (net of amounts capitalized)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes Paid, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes paid, net of tax refund</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncash Investing and Financing Items [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental schedule of non-cash activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Expenditures Incurred but Not yet Paid</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment costs included in other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ORGANIZATION AND PRINCIPAL ACTIVITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nature of Operations [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ORGANIZATION AND PRINCIPAL ACTIVITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ALLOWANCE FOR CREDIT LOSSES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossesTextBlock" xlink:to="us-gaap_AllowanceForCreditLossesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Credit Losses [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ALLOWANCE FOR CREDIT LOSSES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVENTORIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVENTORIES</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_ProjectAssetsDisclosureTextBlock" xlink:label="csiq_ProjectAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsDisclosureTextBlock" xlink:to="csiq_ProjectAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for information relating to project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROJECT ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROPERTY, PLANT AND EQUIPMENT, NET</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROPERTY, PLANT AND EQUIPMENT, NET</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_SolarPowerSystemsTextBlock" xlink:label="csiq_SolarPowerSystemsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsTextBlock" xlink:to="csiq_SolarPowerSystemsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for solar power systems used in the normal conduct of business. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SOLAR POWER SYSTEMS, NET</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INTANGIBLE ASSETS, NET</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INTANGIBLE ASSETS, NET</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">FAIR VALUE MEASUREMENT</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Disclosures [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">FAIR VALUE MEASUREMENT</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VARIABLE INTEREST ENTITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:to="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VARIABLE INTEREST ENTITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVESTMENTS IN AFFILIATES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments and Joint Ventures Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVESTMENTS IN AFFILIATES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LEASE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Leases [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LEASE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BORROWINGS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BORROWINGS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableAbstract" xlink:label="us-gaap_NotesPayableAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesPayableAbstract" xlink:to="us-gaap_NotesPayableAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesPayableAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHORT-TERM NOTES PAYABLE</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShortTermNotesPayableTextBlock" xlink:label="csiq_ShortTermNotesPayableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShortTermNotesPayableTextBlock" xlink:to="csiq_ShortTermNotesPayableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShortTermNotesPayableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for information about the notes issued by banks to vendors of the company, which effectively serve to extend the payment date of the associated accounts payables of the company.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShortTermNotesPayableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short Term Notes Payable [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShortTermNotesPayableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHORT-TERM NOTES PAYABLE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="us-gaap_ProductWarrantiesDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ProductWarrantiesDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantiesDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ACCRUED WARRANTY COSTS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ACCRUED WARRANTY COSTS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RESTRICTED NET ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:to="us-gaap_RestrictedAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RESTRICTED NET ASSETS</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_ConvertibleNotesDisclosureTextBlock" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ConvertibleNotesDisclosureTextBlock" xlink:to="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Disclosure Text Block</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONVERTIBLE NOTES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME TAXES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME TAXES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EARNINGS PER SHARE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EARNINGS PER SHARE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RELATED PARTY BALANCES AND TRANSACTIONS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transactions Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RELATED PARTY BALANCES AND TRANSACTIONS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">COMMITMENTS AND CONTINGENCIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">COMMITMENTS AND CONTINGENCIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SEGMENT INFORMATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SEGMENT INFORMATION</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_MajorCustomersDisclosureTextBlock" xlink:label="csiq_MajorCustomersDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MajorCustomersDisclosureTextBlock" xlink:to="csiq_MajorCustomersDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MajorCustomersDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure of major customers from which the entity receives substantial of its revenue. Due to the competitive nature of the industry in which the entity belongs, the entity may not believe that the loss of any particular customer would have material adverse impact on the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MajorCustomersDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Major Customers Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MajorCustomersDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">MAJOR CUSTOMERS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EMPLOYEE BENEFIT PLANS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pension and Other Postretirement Benefits Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EMPLOYEE BENEFIT PLANS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHARE-BASED COMPENSATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHARE-BASED COMPENSATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Information - Financial Statement Schedule I</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:to="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Information of Parent Company Only Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Information - Financial Statement Schedule I</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MajorSubsidiariesDisclosuresAbstract" xlink:label="csiq_MajorSubsidiariesDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MajorSubsidiariesDisclosuresAbstract" xlink:to="csiq_MajorSubsidiariesDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MajorSubsidiariesDisclosuresAbstract_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_MajorSubsidiariesDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Appendix 1 - Major Subsidiaries of CSI</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in and Advances to Affiliates, Schedule of Investments [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">APPENDIX 1 - Major Subsidiaries of CSI</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of Accounting, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of presentation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of consolidation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Use of Estimates, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Use of estimates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents and restricted cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trade and Other Accounts Receivable, Unbilled Receivables, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, unbilled</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Loss, Financial Instrument [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AdvancesToSuppliersPolicyTextBlock" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdvancesToSuppliersPolicyTextBlock" xlink:to="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for advances to suppliers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to Suppliers [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPolicyTextBlock" xlink:label="csiq_ProjectAssetsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPolicyTextBlock" xlink:to="csiq_ProjectAssetsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for determining project asset costs.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combinations Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business combination</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AssetsAcquisitionPolicyTextBlock" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AssetsAcquisitionPolicyTextBlock" xlink:to="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for assets acquisition.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets Acquisition [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets acquisition</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:to="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for solar power system used in the normal conduct of business and not intended for resale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PrepaymentForLandUseRightPolicyTextBlock" xlink:label="csiq_PrepaymentForLandUseRightPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PrepaymentForLandUseRightPolicyTextBlock" xlink:to="csiq_PrepaymentForLandUseRightPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PrepaymentForLandUseRightPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for prepayment 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_PrepaymentForLandUseRightPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepayment for Land Use Right [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PrepaymentForLandUseRightPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid land use rights</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment of long-lived assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:to="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Capitalization, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest capitalization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetRetirementObligationsPolicy" xlink:label="us-gaap_AssetRetirementObligationsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetRetirementObligationsPolicy" xlink:to="us-gaap_AssetRetirementObligationsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetRetirementObligationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Retirement Obligations, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetRetirementObligationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets retirement obligation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Leases [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingencies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue Recognition, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognition</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:to="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shippings and Handling Cost, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shipping and handling</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and Development Expense, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and development</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:to="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for other operating income and other operating expense items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Income (Expense), Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyPolicy" xlink:to="us-gaap_StandardProductWarrantyPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Product Warranty, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Transactions and Translations Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency translation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:to="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for risk associated with converting the amounts denominated in the foreign currencies into reporting entity's reporting currency.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Risk [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency risk</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Credit Risk, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration of credit risk</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value of Financial Instruments, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value of financial instruments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesPolicyTextBlock" xlink:to="us-gaap_DerivativesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives instruments and hedging activity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_UnusualOrInfrequentItemPolicyTextBlock" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UnusualOrInfrequentItemPolicyTextBlock" xlink:to="csiq_UnusualOrInfrequentItemPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire policy related to unusual and/or infrequent items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unusual Or Infrequent Item [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Risks and uncertainties related to the COVID-19 pandemic</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recently issued accounting pronouncements</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Property Plant and Equipment Useful Life [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of expected useful lives of property and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Finite-Lived Intangible Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of useful life intangible assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfElectricityRevenueTableTextBlock" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfElectricityRevenueTableTextBlock" xlink:to="csiq_ScheduleOfElectricityRevenueTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of Schedule of Electricity Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Electricity Revenue [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of company's electricity revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of disaggregation of revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset and Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of contract assets and contract liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" xlink:to="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the extent of the entity's reliance on its major suppliers, if prepayments with a single supplier amount to 10 percent or more of entity prepayments, including the disclosure of that fact, the total amount of prepayments from each such supplier.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Prepayments by Major Suppliers [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Accounts, Notes, Loans and Financing Receivable [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossMember" xlink:to="us-gaap_AllowanceForCreditLossMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowances for accounts receivable</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForOtherReceivablesMember" xlink:to="csiq_AllowanceForOtherReceivablesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForOtherReceivablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the valuation allowance for other receivables that are expected to be uncollectible.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForOtherReceivablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowances for other receivables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts, Notes, Loans and Financing Receivable [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Credit Losses on Financing Receivables [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of allowances</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of allowances for credit losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Inventory, Current [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of inventories</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of carrying value and amortization of finite-lived intangible assets by major class.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Carrying Value of Finite Lived Intangible Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of fair value of derivative instruments on the consolidated balance sheets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of effect of derivative instruments on consolidated statements of operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Variable Interest Entities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of carrying amounts and classifications of consolidated VIE's assets and liabilities, excluding intercompany balances</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of leases</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:to="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of components of leases that are recognized on the Balance Sheets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Components Of Leases That Are Recognized On Balance Sheets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of other supplemental information:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of lease maturities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of bank borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Maturities of Long-term Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of future principal repayments on the long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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 average effective interest rates on borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:to="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the amount of interest expenses related to borrowings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Interest Expense [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of interest incurred</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Product Warranty Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's warranty activity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of provision for income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:to="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Income Tax Holiday [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of aggregate amount and per share effect of the tax holiday</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of components of the deferred tax assets and liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:to="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Valuation Allowance [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of movement of the valuation allowance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of movement and balance of the Company's liability for uncertain tax positions (excluding interest and penalties)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of computation of basic and diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of anti-dilutive shares excluded from the computation of diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Purchase Commitment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of payment for commitments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Company's revenues and gross profit and income from operations generated from each segment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's net revenues generated from different geographic locations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-lived Assets by Geographic Areas [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets by geographic region</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from External Customers by Products and Services [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's revenues generated from each product or service</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of the RSU activity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipDomain" xlink:to="srt_OwnershipDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarMember" xlink:label="csiq_CanadianSolarMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarMember" xlink:to="csiq_CanadianSolarMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Canadian Solar.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CounterpartyNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Counterparty Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Counterparty Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xlink:to="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leading institutional investors and strategic partners.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Third-Party Investors</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEmployeesMember" xlink:label="csiq_CanadianSolarEmployeesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEmployeesMember" xlink:to="csiq_CanadianSolarEmployeesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEmployeesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Employees [Member].</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEmployeesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Employees</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherPayablesMember" xlink:label="csiq_OtherPayablesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherPayablesMember" xlink:to="csiq_OtherPayablesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherPayablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to other payables.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherPayablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Payables [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SharePurchaseProceedsFromThirdPartyInvestors" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SharePurchaseProceedsFromThirdPartyInvestors" xlink:to="csiq_SharePurchaseProceedsFromThirdPartyInvestors_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-controlling interest portion attributable to proceeds received from third-party investors for share purchases.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Purchase Proceeds From Third Party Investors</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from share purchases of third-party investors</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Employee Stock Ownership Plan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Payment Arrangement, Expensed and Capitalized, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Compensation cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PercentageOfDiscountOnIssueOfShares" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PercentageOfDiscountOnIssueOfShares" xlink:to="csiq_PercentageOfDiscountOnIssueOfShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of discount on issue of shares.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of discount on Issue of Shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PremiumDiscountOnIssueOfShares" xlink:label="csiq_PremiumDiscountOnIssueOfShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PremiumDiscountOnIssueOfShares" xlink:to="csiq_PremiumDiscountOnIssueOfShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PremiumDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of premium or discount on issue of shares.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PremiumDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Premium (Discount) on Issue of Shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SubscriptionAdvances" xlink:label="csiq_SubscriptionAdvances" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SubscriptionAdvances" xlink:to="csiq_SubscriptionAdvances_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of subscription advances were fully received and recorded as other payables on the consolidated balance sheets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subscription Advances</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subscription advances</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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 Noncontrolling Owners</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainContingenciesTable" xlink:to="us-gaap_GainContingenciesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainContingenciesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain Contingencies [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid Expenses And Other Current Assets [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_GainContingenciesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain Contingencies [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Principal accounting policies:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Allowance for Credit Loss</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Buildings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Machinery</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Furniture, fixtures and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VehiclesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Motor vehicles</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ElectricGenerationEquipmentMember" xlink:to="us-gaap_ElectricGenerationEquipmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ElectricGenerationEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:to="us-gaap_ChangeInAccountingEstimateByTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in Accounting Estimate by Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in Accounting Estimate, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ServiceLifeMember" xlink:label="us-gaap_ServiceLifeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ServiceLifeMember" xlink:to="us-gaap_ServiceLifeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ServiceLifeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation life</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROPERTY, PLANT AND EQUIPMENT, NET</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Useful Life</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimated useful lives</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_IncreaseDecreaseInDepreciationExpense" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInDepreciationExpense" xlink:to="csiq_IncreaseDecreaseInDepreciationExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of increase Decrease in Depreciation Expense
..</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase Decrease in Depreciation Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase or decrease in depreciation expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Finite-Lived Intangible Assets [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets by Major Class [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Technical know-how</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Computer software</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseRightsMember" xlink:to="us-gaap_UseRightsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseRightsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land use rights</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INTANGIBLE ASSETS, NET</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Asset, Useful Life</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ElectricityMember" xlink:to="us-gaap_ElectricityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ElectricityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electricity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognition:</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AmountOfPerformanceBasedEnergyIncentives" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AmountOfPerformanceBasedEnergyIncentives" xlink:to="csiq_AmountOfPerformanceBasedEnergyIncentives_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of performance based energy incentives recognized in revenue.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of performance based energy incentives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of performance based energy incentives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GlobalEnergySegmentMember" xlink:to="csiq_GlobalEnergySegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GlobalEnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to th global energy segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GlobalEnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Global Energy Segment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Timing of Transfer of Good or Service [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Timing of Transfer of Good or Service [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredAtPointInTimeMember" xlink:to="us-gaap_TransferredAtPointInTimeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredAtPointInTimeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recognized at a point in time</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredOverTimeMember" xlink:to="us-gaap_TransferredOverTimeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredOverTimeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recognized over time</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:to="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of other current liabilities relating to contract liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Liabilities, Other Current Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liability</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Revenue Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognized from beginning balance of contract liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liabilities expected to be recognized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShippingAndHandlingMember" xlink:to="us-gaap_ShippingAndHandlingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShippingAndHandlingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shipping and Handling</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingExpense" xlink:to="us-gaap_SellingExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling and distribution expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrantMember" xlink:to="us-gaap_GrantMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrantMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government grants</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of (insurance claims) or weather related project damages.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Claims or Weather Related Project Damages</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">(Insurance claims on) weather-related project damages</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_ProductWarrantyLiabilityTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Liability [Table]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_SolarPowerProjectMember" xlink:label="csiq_SolarPowerProjectMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerProjectMember" xlink:to="csiq_SolarPowerProjectMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerProjectMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerProjectMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Project</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantor Obligations, Nature [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantor Obligations, Nature [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MaterialAndWorkmanShipMember" xlink:to="csiq_MaterialAndWorkmanShipMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MaterialAndWorkmanShipMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to material and workmanship.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MaterialAndWorkmanShipMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Material and workmanship</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EightyPercentInitialPowerCapacityMember" xlink:label="csiq_EightyPercentInitialPowerCapacityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EightyPercentInitialPowerCapacityMember" xlink:to="csiq_EightyPercentInitialPowerCapacityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 80% initial power capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">80% initial power capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:to="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 97% of initial capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">97 % initial power capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NinetyThreeInitialPowerCapacityMember" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NinetyThreeInitialPowerCapacityMember" xlink:to="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 93% of initial capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">93% initial power capacity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Liability [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the unamortized carrying amount of insurance premium.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Premium Unamortized Amount Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized carrying amount of insurance premium</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Settlements Receivable, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance receivable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard 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_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty adjustment</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherNoncurrentAssetsAdjustment" xlink:to="csiq_OtherNoncurrentAssetsAdjustment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Noncurrent Assets Adjustment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Downward adjustment of other non-current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyExpense" xlink:to="us-gaap_ProductWarrantyExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty costs (net effect of adjustment) included in cost of revenues</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplierConcentrationRiskMember" xlink:label="us-gaap_SupplierConcentrationRiskMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplierConcentrationRiskMember" xlink:to="us-gaap_SupplierConcentrationRiskMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplierConcentrationRiskMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SupplierMember" xlink:label="csiq_SupplierMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SupplierMember" xlink:to="csiq_SupplierMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SupplierMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Supplier A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SupplierMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier A</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SupplierBMember" xlink:label="csiq_SupplierBMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SupplierBMember" xlink:to="csiq_SupplierBMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SupplierBMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Supplier B.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SupplierBMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier B</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SupplierCMember" xlink:label="csiq_SupplierCMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SupplierCMember" xlink:to="csiq_SupplierCMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SupplierCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Supplier C.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SupplierCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier C</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration of credit risk</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update and Change in Accounting Principle [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdate202004Member" xlink:label="us-gaap_AccountingStandardsUpdate202004Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate202004Member" xlink:to="us-gaap_AccountingStandardsUpdate202004Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingStandardsUpdate202004Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update 2020-04 [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Rate [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Rate [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">London Interbank Offered Rate (LIBOR) [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioUnspecifiedDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario, Unspecified [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioForecastMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forecast</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements or Change in Accounting Principle [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recently issued accounting pronouncements</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/terseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Long-term and Short-term, Combined Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Outstanding balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative Effect, Period of Adoption [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative Effect, Period of Adoption [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative effect, adjustment</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AdvancesToSuppliersAndOtherReceivableMember" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdvancesToSuppliersAndOtherReceivableMember" xlink:to="csiq_AdvancesToSuppliersAndOtherReceivableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to
Advances to Suppliers and Other Receivable .</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to Suppliers and Other Receivable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, before Allowance for Credit Loss, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivable, gross</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Movement in Valuation Allowances and Reserves [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Movement of allowances</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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">Allowances made (reversed) during the year, 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">Additions (Reversals)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves, Deductions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts written-off against allowances</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total of the foreign exchange effects in a given period to allowances or reserves.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves Foreign Exchange Effect</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:to="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Net, Items Net of Reserve Alternative [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVENTORIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Raw Materials, Net of Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Raw materials</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Work in Process, Net of Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Work-in-process</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Finished Goods, Net of Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finished goods</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FinishedGoodsModules" xlink:label="csiq_FinishedGoodsModules" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FinishedGoodsModules" xlink:to="csiq_FinishedGoodsModules_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FinishedGoodsModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of finished goods includes modules.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FinishedGoodsModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finished Goods, Modules</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FinishedGoodsModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of finished goods includes modules</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Federal Investment Tax Credit (as a percentage)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of capitalized acquisition 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_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Plants and Land Capitalized Acquisition Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets - Acquisition cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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 cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leasehold improvements</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, gross</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated depreciation</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AccumulatedAssetImpairmentCharges" xlink:label="csiq_AccumulatedAssetImpairmentCharges" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AccumulatedAssetImpairmentCharges" xlink:to="csiq_AccumulatedAssetImpairmentCharges_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AccumulatedAssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of accumulated asset impairment 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_AccumulatedAssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Asset Impairment Charges</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_AccumulatedAssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the net amount of long-lived physical assets, excluding construction in process, used in the normal conduct of business and not intended for resale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property Plant and Equipment Excluding Construction in Progress Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, excluding construction in process, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressGross" xlink:to="us-gaap_ConstructionInProgressGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Construction in Progress, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Construction in process</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetUnderConstructionMember" xlink:to="us-gaap_AssetUnderConstructionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetUnderConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems under construction</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Carrying Amount</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Accumulated Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Amortization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Intangible Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expected amortization expense of intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2026</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xlink:to="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year and after that year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Five And Thereafter</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2026 and thereafter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements, Recurring and Nonrecurring [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instrument [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Contract [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestRateSwapMember" xlink:to="us-gaap_InterestRateSwapMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestRateSwapMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate swap</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Designation [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_HedgingDesignationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Designation [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Designated as hedging instruments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Relationship [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingRelationshipDomain" xlink:to="us-gaap_HedgingRelationshipDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingRelationshipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Relationship [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowHedgingMember" xlink:label="us-gaap_CashFlowHedgingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowHedgingMember" xlink:to="us-gaap_CashFlowHedgingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashFlowHedgingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash flow hedge</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeNotionalAmount" xlink:to="us-gaap_DerivativeNotionalAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative, Notional Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total notional</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerivativesAssetsCurrentMember" xlink:to="csiq_DerivativesAssetsCurrentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerivativesAssetsCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Primary financial statement caption encompassing current derivatives assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerivativesAssetsCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets - current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncurrentAssetsMember" xlink:label="us-gaap_OtherNoncurrentAssetsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncurrentAssetsMember" xlink:to="us-gaap_OtherNoncurrentAssetsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNoncurrentAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerivativesLiabilitiesCurrentMember" xlink:to="csiq_DerivativesLiabilitiesCurrentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Primary financial statement caption encompassing current derivatives liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liabilities - current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NondesignatedMember" xlink:to="us-gaap_NondesignatedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NondesignatedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Not designated as hedging instruments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeForwardMember" xlink:to="us-gaap_ForeignExchangeForwardMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange forward contracts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeOptionMember" xlink:to="us-gaap_ForeignExchangeOptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignExchangeOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange option contracts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativesFairValueLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives, Fair Value [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of fair value of derivative instruments on the consolidated balance sheets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Asset, Fair Value, Amount Not Offset Against Collateral</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total derivatives asset</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Fair Value, Amount Not Offset Against Collateral</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total derivatives liability</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of derivative instruments on consolidated statements of operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on change in fair value of derivatives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleLongTermNotesPayable" xlink:to="us-gaap_ConvertibleLongTermNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Payable, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent" xlink:label="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent" xlink:to="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Securities, FV-NI</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of shares received</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss" xlink:to="us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Securities, FV-NI, Unrealized Gain (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized gains</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFVNINoncurrent" xlink:label="us-gaap_EquitySecuritiesFVNINoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesFVNINoncurrent" xlink:to="us-gaap_EquitySecuritiesFVNINoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquitySecuritiesFVNINoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Securities, FV-NI, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquitySecuritiesFVNINoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of shares carried at fair value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Variable Interest Entities [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_VariableInterestEntityLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VariableInterestEntityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VARIABLE INTEREST ENTITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssets" xlink:to="csiq_ProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssets" xlink:to="us-gaap_OtherAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilities" xlink:to="us-gaap_OtherLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Equity Method Investments [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment, Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="srt_EquityMethodInvesteeNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_EquityMethodInvesteeNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ReRoserockHoldingsLlcMember" xlink:to="csiq_ReRoserockHoldingsLlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ReRoserockHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to RE Roserock Holdings LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ReRoserockHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RE Roserock Holdings LLC ("Roserock")</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ReCrimsonHoldingsLlcMember" xlink:to="csiq_ReCrimsonHoldingsLlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ReCrimsonHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RE Crimson Holdings LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ReCrimsonHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RE Crimson Holdings LLC</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouFinancialLeasingCoLtdMember" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents 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_SuzhouFinancialLeasingCoLtdMember_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-20211231.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="csiq-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Equity Method Investments [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other investments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investment, Ownership Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership percentage</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_TaxEquityTransactionsLineItems" xlink:label="csiq_TaxEquityTransactionsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="csiq_TaxEquityTransactionsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_TaxEquityTransactionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_TaxEquityTransactionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tax equity transactions [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_TaxEquityTransactionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tax equity transactions</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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="csiq-20211231.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") [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Horus and Recursos</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sale of Stock [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sale of Stock [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IPOMember" xlink:label="us-gaap_IPOMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IPOMember" xlink:to="us-gaap_IPOMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IPOMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Initial public offer</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrivatePlacementMember" xlink:to="us-gaap_PrivatePlacementMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrivatePlacementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Private placement</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment price per unit</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfUnitsPurchased" xlink:label="csiq_NumberOfUnitsPurchased" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfUnitsPurchased" xlink:to="csiq_NumberOfUnitsPurchased_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfUnitsPurchased_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of units purchased during period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfUnitsPurchased_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Units Purchased</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Lease, Description [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Lease, Description [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_LeaseCostAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LeaseCostAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease cost:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Right-of-Use Asset, Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of right-of-use assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Interest Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest on lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short term lease cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total lease cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Interest Payment on Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating cash outflows from finance leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating cash outflows from operating leases</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:to="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of finance lease payments during the year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Financing Cash Flows from Finance Lease</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing cash outflows from finance lease</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ROU assets obtained in exchange of new finance lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-Use Asset Obtained in Exchange for Finance Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ROU assets obtained in exchange of new operating leases</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" xlink:to="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase in right-of-use asset disposed through early termination of operating leases in non-cash transaction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right Of Use Assets Disposed Through Early Termination Of Operating Leases In Non-Cash Transaction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ROU assets disposed through early termination of operating leases in non-cash transaction</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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 term - finance leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Weighted Average Remaining Lease Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average term - operating lease</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Weighted Average Discount Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average discount rate - finance lease</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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 discount rate - operating lease</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payment, Due [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maturities of operating leases</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Year Ending December 31:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease Liabilities, Gross Difference, Amount [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating leases, gross difference</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payment, Due [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maturities of finance leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payment, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/totalLabel" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total Finance lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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="csiq-20211231.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">2020</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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">2021</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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">2022</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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">2023</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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">2024</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in tweleve months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2019</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in the second fiscal year following the latest fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due in Two Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in the third fiscal year following the latest fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due in Three Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in the fourth fiscal year following the latest fiscal year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due in Four Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in the fifth fiscal year following the latest fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due in Five Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due after fifth fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due There After</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for leases.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_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-20211231.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-20211231.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="csiq-20211231.xsd#csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:to="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount necessary to reduce net minimum lease payments to present value for leases.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases, Future Minimum Payments, Interest Included in Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:to="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Present value of minimum lease payments for leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and taxes.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases, Future Minimum Payments, Present Value of Net Minimum Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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-20211231.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-20211231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseLiabilityNoncurrent" xlink:to="csiq_LeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease liabilities, current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Current, Statement of Financial Position [Extensible List]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease liabilities, noncurrent</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Long-term Debt Instruments [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditMember" xlink:to="us-gaap_LineOfCreditMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_WorkingCapitalFacilityMember" xlink:label="csiq_WorkingCapitalFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_WorkingCapitalFacilityMember" xlink:to="csiq_WorkingCapitalFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_WorkingCapitalFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to working capital facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_WorkingCapitalFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Working Capital Facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_ShortTermNotePayableMember" xlink:label="csiq_ShortTermNotePayableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShortTermNotePayableMember" xlink:to="csiq_ShortTermNotePayableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShortTermNotePayableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents of Short term note payable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShortTermNotePayableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short Term Note Payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonrecourseMember" xlink:label="us-gaap_NonrecourseMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonrecourseMember" xlink:to="us-gaap_NonrecourseMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonrecourseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonrecourse [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xlink:to="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd member.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FourJapaneseSubsidiariesMember" xlink:label="csiq_FourJapaneseSubsidiariesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FourJapaneseSubsidiariesMember" xlink:to="csiq_FourJapaneseSubsidiariesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FourJapaneseSubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents Four Japanese Subsidiaries member
..</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FourJapaneseSubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Four Japanese Subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember" xlink:label="csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember" 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.AndCanadianSolarManufacturingChangshuIncMember" xlink:to="csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_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.AndCanadianSolarManufacturingChangshuIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc member.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.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_CanadianSolarManufacturingChangshuInc.Member" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.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_CanadianSolarManufacturingChangshuInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Manufacturing (Changshu) Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing (Changshu) Inc.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusAxis" xlink:label="us-gaap_PledgedStatusAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PledgedStatusAxis" xlink:to="us-gaap_PledgedStatusAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PledgedStatusAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Status [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusDomain" xlink:label="us-gaap_PledgedStatusDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PledgedStatusDomain" xlink:to="us-gaap_PledgedStatusDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PledgedStatusDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Status [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetPledgedAsCollateralWithoutRightMember" xlink:label="us-gaap_AssetPledgedAsCollateralWithoutRightMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetPledgedAsCollateralWithoutRightMember" xlink:to="us-gaap_AssetPledgedAsCollateralWithoutRightMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetPledgedAsCollateralWithoutRightMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Pledged as Collateral without Right [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BORROWINGS</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONVERTIBLE NOTES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Long-term and Short-term, Combined Amount [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BANK BORROWINGS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherShortTermBorrowings" xlink:to="us-gaap_OtherShortTermBorrowings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Short-term Borrowings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Current Maturities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings, current portion</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtCurrent" xlink:to="us-gaap_DebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subtotal for short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebt" xlink:label="us-gaap_SecuredDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredDebt" xlink:to="us-gaap_SecuredDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SecuredDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Remaining Borrowing Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Available amount of credit facilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/positiveLabel" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts drawn down</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-20211231.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="csiq-20211231.xsd#csiq_NumberOfLineOfCreditFacility" xlink:label="csiq_NumberOfLineOfCreditFacility" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfLineOfCreditFacility" xlink:to="csiq_NumberOfLineOfCreditFacility_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfLineOfCreditFacility_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to number of Line Of Credit Facility</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfLineOfCreditFacility_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Line Of Credit Facility</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfLineOfCreditFacility_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of credit facilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="csiq-20211231.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-20211231.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-20211231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_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 prepaid 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_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets Not Separately Reported Prepaid Land Use Right</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of prepaid land use rights that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xlink:to="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_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 and 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_PledgedAssetsProjectAssetsAndSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets, Project Assets And Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of project assets and solar power systems that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SecuredShortTermDebt" xlink:to="csiq_SecuredShortTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SecuredShortTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the carrying amount of short-term borrowings secured by assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SecuredShortTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Short Term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SecuredShortTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="us-gaap_OtherLongTermDebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLongTermDebtCurrent" xlink:to="us-gaap_OtherLongTermDebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Long-term Debt, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings, current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtCurrent" xlink:label="us-gaap_SecuredDebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredDebtCurrent" xlink:to="us-gaap_SecuredDebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Debt, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SecuredDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings on project assets - current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredLongTermDebt" xlink:to="us-gaap_SecuredLongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Long-term Debt, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SecuredLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Issuance of Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount drawn</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Lines of Credit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount drawn</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Face Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of loan facility</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Term of facility (in years)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfOtherParticipatingFinancialInstitutions" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfOtherParticipatingFinancialInstitutions" xlink:to="csiq_NumberOfOtherParticipatingFinancialInstitutions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of participating financial institutions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Other Participating Financial Institutions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of participating financial institutions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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-20211231.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-20211231.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:to="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Weighted Average Interest Rate, over Time</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Average interest rate on long-term borrowings (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtByMaturityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Future principal repayment on the long-term borrowings loans</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansPayableCurrent" xlink:to="us-gaap_LoansPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loans Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LoansPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: future principal repayment related to long-term borrowings, current portion</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LongtermDebtTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnsecuredDebtMember" xlink:label="us-gaap_UnsecuredDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnsecuredDebtMember" xlink:to="us-gaap_UnsecuredDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnsecuredDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unsecured</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xlink:to="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the borrowings secured by project assets and solar power systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured by project assets and solar power systems</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contractual floating interest rate for funds borrowed, under the debt agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Floating Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Floating interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="us-gaap_InterestCostsIncurredAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCostsIncurredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Incurred [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCostsIncurredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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="csiq-20211231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of interest costs capitalized for property, plant, and equipment disclosed as an adjusting item to interest costs incurred.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Capitalized Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest capitalized - property, plant, and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCostsIncurred" xlink:to="us-gaap_InterestCostsIncurred_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCostsIncurred_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Incurred</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCostsIncurred_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total interest incurred</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:to="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ACCRUED WARRANTY COSTS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty provision</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPayments" xlink:to="us-gaap_ProductWarrantyAccrualPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual, Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ProductWarrantyAccrualPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty costs incurred</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual, Currency Translation, Increase (Decrease)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:to="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum percentage of after tax profit required to be appropriated to the general reserve under PRC GAAP.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum Appropriation of after Tax Profit to General Reserve Required Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum percentage of the profit after tax to be appropriated to the general reserve</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted net assets of the entity's consolidated and unconsolidated subsidiaries not available for distribution</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted net assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtMember" xlink:to="us-gaap_ConvertibleDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Debt</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow from the additional issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Convertible Debt Additional Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from additional issuance of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Stated Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Conversion Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Conversion rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Annual Principal Payment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Conversion rate initial principal amount</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Conversion Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Conversion price (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sales price of common stock as percentage of conversion price for redemption at Company's option</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Threshold Trading Days</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of trading days that threshold percentage exceeds stock price for trigger of redemption at Company's option</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Threshold Consecutive Trading Days</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of consecutive trading days that the threshold of trading days must fall within for trigger of redemption at Company's option</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage price of original principal amount of debt plus accrued interest at which debt can be redeemed by the issuer following occurrence of certain tax related events.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Convertible Redemption Price Percentage Of Outstanding Principal Amount Plus Accrued Interest Following Occurrence Of Certain Tax Related Events</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Redemption prices as percentage of outstanding principal amount plus accrued and unpaid interest following occurrence of certain tax related events</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleNotesPayableCurrent" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Finance Costs, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized issuance costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Effective Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Financing Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of financing costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Expense, Debt, Excluding Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPayableCurrent" xlink:to="us-gaap_InterestPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest not paid recorded in other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxContingencyTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxContingencyTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Contingency [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Authority [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Authority [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CA_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canada</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">United States</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CN" xlink:to="country_CN_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PRC</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_JP" xlink:to="country_JP_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_JP_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Japan</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherJurisdictionsMember" xlink:to="csiq_OtherJurisdictionsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherJurisdictionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to other jurisdictions where the entity has operations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherJurisdictionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxContingencyLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Contingency [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxContingencyLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income before income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (loss) before income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current tax</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current tax expense (benefit)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax expense (benefit)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total income tax expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Domestic Country [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canada</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_DE" xlink:label="country_DE" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_DE" xlink:to="country_DE_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_DE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Germany</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_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="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_TH" xlink:to="country_TH_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_TH_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thailand</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_HK" xlink:label="country_HK" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_HK" xlink:to="country_HK_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_HK_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hong Kong</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_CanadianSolarEnergyAcquisitionCo.Member" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.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_CanadianSolarEnergyAcquisitionCo.Member" xlink:to="csiq_CanadianSolarEnergyAcquisitionCo.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_CanadianSolarEnergyAcquisitionCo.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Energy Acquisition Co.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Acquisition Co.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.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_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.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_CanadianSolarManufacturingVietnamCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Manufacturing Vietnam Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing Vietnam Co., Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xlink:to="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">It represents the reduced Foreign statutory income tax rate on account of tax exemptions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reduced Foreign Income Tax Rate on Account of Tax Exemptions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reduced income tax rate from 2020 to 2028 (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of board of investment certificates for tax exemption.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board of Investment Certificates, Tax Exemption</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board of Investment certificates for tax exemption</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of interest and penalties accrued related to unrecognized tax benefits</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes to the company's liabilities for uncertain tax positions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ending balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning balance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Addition for tax positions related to the current year</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits Decreases Resulting from Prior Period Tax Positions and or Lapse of Applicable Statute of Limitations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reductions for tax positions from prior years/Statute of limitations expirations</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xlink:to="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents adjustments related to status of limitations expirations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax statue of limitations expirations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statue of limitations expirations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Increase Resulting from Foreign Currency Translation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Decrease Resulting from Foreign Currency Translation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Components of Deferred Tax Assets and Liabilities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Principal components of deferred income tax assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Gross [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued warranty costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bad debt allowance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Inventory</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory write-down</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount, before allocation of valuation allowances, of deferred tax asset attributable to future deductible expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Future Deductible Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Future deductible expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and impairment difference of property, plant and equipment and solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the sale of project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets Related To Sale Of Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government subsidies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Operating Loss Carryforwards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net operating losses carry-forward</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Unrealized Currency Losses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized foreign exchange loss and capital loss</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxAssetsInterestLimitation" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as interest limitation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Interest Limitation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest limitation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total deferred tax assets, gross</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Valuation Allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">End of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning of the year</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Net of Valuation Allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total deferred tax assets, net of valuation allowance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation difference of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of deferred tax liability attributable to taxable temporary differences from insurance recoverable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities Insurance Recoverable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance recoverable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Unrealized Currency Transaction Gains</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized foreign exchange gain</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Gross [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Analysis as:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net deferred tax assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Loss Carryforwards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated net operating losses</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_IncomeTaxesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME TAXES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Percent [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent difference.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Permanent Difference, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of permanent difference (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of different tax rate on earnings in other jurisdictions (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Tax Holiday, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of tax holiday (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to true-up adjustments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Effect of True-up</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of true-up (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized tax provision (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in valuation allowance (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of change in tax rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Actual income tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the withholding tax rate on dividends distributed by foreign investment entities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding Tax Rate on Dividend Distributed by Foreign Investment Entities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Undistributed Earnings of Foreign Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:to="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of provision for withholding tax on dividends distributed by foreign investment entities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for Withholding Tax on Dividend Distributed by Foreign Investment Entities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for withholding income tax on dividend</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="csiq_IncomeTaxHolidayAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxHolidayAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxHolidayAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate amount and per share effect of the tax holiday</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday, Aggregate Dollar Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The aggregate amount (in dollars)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the diluted per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday Income Tax Benefits Per Share Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Per share effect - diluted (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation and Qualifying Accounts Disclosure [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation and Qualifying Accounts Disclosure [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ALLOWANCE FOR DOUBTFUL ACCOUNTS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the share options and restricted share units.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share options and RSUs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Anti-dilutive shares excluded from the computation of diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Anti-dilutive shares excluded from the computation of diluted earnings per share, total</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive Securities, Effect on Basic Earnings Per Share, Dilutive Convertible Securities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive effect of interest expense of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Attributable to Parent, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to Canadian Solar Inc. - diluted</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted effects of share number from share options and RSUs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Conversion of Debt Securities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive effects of share number from convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Related Party Transactions, by Related Party [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AffiliatedEntityMember" xlink:label="srt_AffiliatedEntityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AffiliatedEntityMember" xlink:to="srt_AffiliatedEntityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AffiliatedEntityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Affiliated Entity [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_AffiliatedEntityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Various affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIRenewableEnergyS.aMember" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalgueiroIRenewableEnergyS.aMember" xlink:to="csiq_SalgueiroIRenewableEnergyS.aMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Salgueiro I Renewable Energy S.A</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salgueiro I Renewable Energy S.A</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalgueiroIiRenewableEnergyS.a.Member" xlink:to="csiq_SalgueiroIiRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Salgueiro II Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salgueiro II Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_Jaba4EnergiasRenovveisS.a.Member" xlink:label="csiq_Jaba4EnergiasRenovveisS.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_Jaba4EnergiasRenovveisS.a.Member" xlink:to="csiq_Jaba4EnergiasRenovveisS.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_Jaba4EnergiasRenovveisS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Jaba 4 Energias Renovveis S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_Jaba4EnergiasRenovveisS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Jaba 4 Energias Renovveis S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIiiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalgueiroIiiRenewableEnergyS.a.Member" xlink:to="csiq_SalgueiroIiiRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Salgueiro III Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salgueiro III Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_Jaiba3RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_Jaiba3RenewableEnergyS.a.Member" xlink:to="csiq_Jaiba3RenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Jaiba 3 Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Jaiba 3 Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_Jaiba9RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_Jaiba9RenewableEnergyS.a.Member" xlink:to="csiq_Jaiba9RenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Jaiba 9 Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Jaiba 9 Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EtSolutionsSouthAfricaOnePtyMember" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EtSolutionsSouthAfricaOnePtyMember" xlink:to="csiq_EtSolutionsSouthAfricaOnePtyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to ET Solutions South Africa 1 Pty.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ET Solutions South Africa 1 Pty</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouIsilverMaterialsMember" xlink:label="csiq_SuzhouIsilverMaterialsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouIsilverMaterialsMember" xlink:to="csiq_SuzhouIsilverMaterialsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouIsilverMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou iSilver Materials Co.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouIsilverMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou iSilver Materials Co</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:to="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou Kzone Equipment Technology Co,. Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Kzone Equipment Technology Co., Ltd</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ChiefExecutiveOfficerMember" xlink:to="srt_ChiefExecutiveOfficerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ChiefExecutiveOfficerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dr. Shawn Qu</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_LavrasSolarHoldingS.aMember" xlink:label="csiq_LavrasSolarHoldingS.aMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasSolarHoldingS.aMember" xlink:to="csiq_LavrasSolarHoldingS.aMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasSolarHoldingS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Lavras Solar Holding S.A</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasSolarHoldingS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras Solar Holding S.A</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_FranciscoSaIiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FranciscoSaIiRenewableEnergyS.a.Member" xlink:to="csiq_FranciscoSaIiRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Francisco SA II Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Francisco SA II Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xlink:to="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Francisco SA III Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Francisco SA III Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasISolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasISolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasISolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras I Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras I Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasIiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasIiSolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasIiSolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras II Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras II Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras III Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras III Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasIvSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasIvSolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasIvSolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras IV Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras IV Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasVSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasVSolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasVSolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras V Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras V Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SonoranWestSolarHoldingsLlcMember" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SonoranWestSolarHoldingsLlcMember" xlink:to="csiq_SonoranWestSolarHoldingsLlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Sonoran West Solar Holdings, LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sonoran West Solar Holdings, LLC</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SonoranWestSolarHoldings2LlcMember" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SonoranWestSolarHoldings2LlcMember" xlink:to="csiq_SonoranWestSolarHoldings2LlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Sonoran West Solar Holdings 2, LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sonoran West Solar Holdings 2, LLC</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:to="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Yancheng Jiwa New Material Technology Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Yancheng Jiwa New Material Technology Co., Ltd</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lender Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Lender [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChineseCommercialBanksMember" xlink:to="csiq_ChineseCommercialBanksMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChineseCommercialBanksMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the Chinese Commercial Banks.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChineseCommercialBanksMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Chinese Commercial Banks</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesMember" xlink:to="us-gaap_SalesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="us-gaap_RelatedPartyTransactionDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OMServiceMember" xlink:to="csiq_OMServiceMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OMServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to O &amp; M service.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OMServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">O &amp; M Service</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Award Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Award [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RSUs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RELATED PARTY BALANCES AND TRANSACTIONS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansAndLeasesReceivableRelatedParties" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansAndLeasesReceivableRelatedParties" xlink:to="us-gaap_LoansAndLeasesReceivableRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loans and Leases Receivable, Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shareholder loans due from related parties</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableRelatedParties" xlink:label="us-gaap_AccountsReceivableRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableRelatedParties" xlink:to="us-gaap_AccountsReceivableRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trade receivable from affiliate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares granted to employees</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Granted (in shares)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PurchaseOfUnitsPercentage" xlink:to="csiq_PurchaseOfUnitsPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PurchaseOfUnitsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of units purchased.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PurchaseOfUnitsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Of Units Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PurchaseOfUnitsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percent of units purchased</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromRelatedParties" xlink:to="us-gaap_RevenueFromRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from sale of solar products</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ServiceRevenueFromRelatedParty" xlink:label="csiq_ServiceRevenueFromRelatedParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ServiceRevenueFromRelatedParty" xlink:to="csiq_ServiceRevenueFromRelatedParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ServiceRevenueFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of revenue from providing services earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ServiceRevenueFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Service Revenue from Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ServiceRevenueFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from providing development services</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction, Purchases from Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase from related party</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sale of Stock, Percentage of Ownership after Transaction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of ownership after sale transaction</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpensesRelatedParty" xlink:label="us-gaap_CostsAndExpensesRelatedParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpensesRelatedParty" xlink:to="us-gaap_CostsAndExpensesRelatedParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsAndExpensesRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Costs and Expenses, Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostsAndExpensesRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase cost incurred from related party</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Remaining Minimum Amount Committed</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, Due in Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInSecondYear" xlink:to="us-gaap_PurchaseObligationDueInSecondYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, Due in Second Year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInThirdYear" xlink:label="us-gaap_PurchaseObligationDueInThirdYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInThirdYear" xlink:to="us-gaap_PurchaseObligationDueInThirdYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInThirdYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, Due in Third Year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInThirdYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligation" xlink:to="us-gaap_PurchaseObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingencies [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_LitigationCaseAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="srt_LitigationCaseTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_LitigationCaseTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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-20211231.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingencies [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingencies</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PeriodOfSunsetReviews" xlink:label="csiq_PeriodOfSunsetReviews" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PeriodOfSunsetReviews" xlink:to="csiq_PeriodOfSunsetReviews_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PeriodOfSunsetReviews_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period covered by the sunset reviews conducted by USDOC and USITC, 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_PeriodOfSunsetReviews_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of Sunset Reviews</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PeriodOfSunsetReviews_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of sunset reviews</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xlink:to="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the duty rate for anti-dumping duty on CSPV cells imported from Taiwan on or after a specified date.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Duty Rate Anti Dumping Duty on CSPV Cells Imported from Taiwan On or After Specific Date</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Duty rate for anti-dumping duty on CSPV cells imported from Taiwan (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Reportable Segments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of principal reportable business segments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingSegmentsMember" xlink:to="us-gaap_OperatingSegmentsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating segment</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EliminationsAndReconcilingItemsMember" xlink:label="csiq_EliminationsAndReconcilingItemsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EliminationsAndReconcilingItemsMember" xlink:to="csiq_EliminationsAndReconcilingItemsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EliminationsAndReconcilingItemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to eliminations and reconciling items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EliminationsAndReconcilingItemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Elimination and unallocated items</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Information [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SEGMENT INFORMATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Information, Profit (Loss) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues and gross profit generated from each segment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Geographical [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Geographical [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AmericaMember" xlink:to="csiq_AmericaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the geographic area of America, in which the entity operates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The Americas</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_BR" xlink:to="country_BR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_BR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Brazil</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_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-20211231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCountriesAmericaMember" xlink:to="csiq_OtherCountriesAmericaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCountriesAmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to other countries in America.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCountriesAmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Countries America [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCountriesAmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaMember" xlink:to="srt_AsiaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asia and other regions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KR" xlink:label="country_KR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_KR" xlink:to="country_KR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_KR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Korea</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IN" xlink:label="country_IN" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_IN" xlink:to="country_IN_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_IN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">India</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AE" xlink:label="country_AE" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_AE" xlink:to="country_AE_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_AE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">U.A.E</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CY" xlink:label="country_CY" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CY" xlink:to="country_CY_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CY_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cyprus</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_PK" xlink:label="country_PK" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_PK" xlink:to="country_PK_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_PK_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pakistan</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCountriesAsiaMember" xlink:to="csiq_OtherCountriesAsiaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCountriesAsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to other regions in Asia.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCountriesAsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Countries Asia [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCountriesAsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EuropeMember" xlink:to="srt_EuropeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_EuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Europe</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AU" xlink:label="country_AU" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_AU" xlink:to="country_AU_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_AU_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Australia</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ZA" xlink:label="country_ZA" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_ZA" xlink:to="country_ZA_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_ZA_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">South Africa</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ES" xlink:label="country_ES" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_ES" xlink:to="country_ES_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_ES_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Spain</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_NL" xlink:label="country_NL" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_NL" xlink:to="country_NL_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_NL_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Netherlands</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_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>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CZ" xlink:label="country_CZ" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CZ" xlink:to="country_CZ_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CZ_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Czech</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_FR" xlink:label="country_FR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_FR" xlink:to="country_FR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_FR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">France</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AR" xlink:label="country_AR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_AR" xlink:to="country_AR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_AR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Argentina</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_SeriesOfIndividuallyImmaterialCountriesMember" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SeriesOfIndividuallyImmaterialCountriesMember" xlink:to="csiq_SeriesOfIndividuallyImmaterialCountriesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the aggregation and reporting of combined amounts of individually immaterial countries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Series Of Individually Immaterial Countries [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues from External Customers and Long-Lived Assets [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues generated by geographic location of customers' headquarter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-Lived Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total long-lived assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from External Customers by Products and Services [Table]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xlink:to="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to China energy/EPC (including electricity sales).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">China Energy or Engineering, Procurement and Construction (includes Electricity Sales)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCsiSolarProductsMember" xlink:label="csiq_OtherCsiSolarProductsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCsiSolarProductsMember" xlink:to="csiq_OtherCsiSolarProductsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCsiSolarProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the other CSI Solar products.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCsiSolarProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Csi Solar Products [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCsiSolarProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerProjectsMember" xlink:label="csiq_SolarPowerProjectsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerProjectsMember" xlink:to="csiq_SolarPowerProjectsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the solar power projects  the product of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar and battery storage power projects</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OmAndAssetManagementServicesMember" xlink:label="csiq_OmAndAssetManagementServicesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OmAndAssetManagementServicesMember" xlink:to="csiq_OmAndAssetManagementServicesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OmAndAssetManagementServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to O&amp;M and asset management services.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OmAndAssetManagementServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">O&amp;M and asset management services</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xlink:to="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to other global energy products (includes electricity sales).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Global Energy Products (includes Electricity Sales) [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others (includes electricity sales)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from External Customer [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues generated from each product</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Benchmark [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Benchmark [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditConcentrationRiskMember" xlink:to="us-gaap_CreditConcentrationRiskMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditConcentrationRiskMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable balances</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CustomerOneMember" xlink:label="csiq_CustomerOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CustomerOneMember" xlink:to="csiq_CustomerOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CustomerOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the customer one, which has the largest accounts receivable balance.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CustomerOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer one</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CustomerTwoMember" xlink:label="csiq_CustomerTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CustomerTwoMember" xlink:to="csiq_CustomerTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CustomerTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the customer two, which has the largest accounts receivable balance.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CustomerTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer two</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CustomerThreeMember" xlink:label="csiq_CustomerThreeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CustomerThreeMember" xlink:to="csiq_CustomerThreeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CustomerThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the customer three, which has the largest accounts receivable balance.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CustomerThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer three</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Major Customer [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Major Customers</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfCustomers" xlink:label="csiq_NumberOfCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfCustomers" xlink:to="csiq_NumberOfCustomers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of major customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Customers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of customers with the largest receivable balances</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration risk (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employer's contribution (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan, Cost Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined contributions schemes expense</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAmount" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of contributions made by an employer to the medical insurance benefits, housing funds, unemployment and other statutory benefits of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of contribution by the employer for medical insurance benefits, housing funds, unemployment and other statutory benefits</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GranteeStatusAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grantee Status [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_GranteeStatusDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GranteeStatusDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grantee Status [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employees</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHARE-BASED COMPENSATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum aggregate number of shares to be issued</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.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-20211231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the expiry term of share options from the date of grant, granted under the share incentive plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement by Share Based Payment Award, Plan Expiration Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expiry term of share options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total intrinsic value of options exercised (in dollars)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average exercise price of options outstanding (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average remaining contract terms of options outstanding (in years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intrinsic value of outstanding options (in dollars)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_VestingDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tranche one</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tranche two</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grant period (in years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting percentage</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Granted (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average grant date fair value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the end of the period (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the beginning of the period (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of unvested awards outstanding</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total compensation cost of unvested share-based awards, other than options, awarded to employees as compensation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Total Compensation Costs, Share-based Awards Other than Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total compensation cost at the date of grant</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allocated Share-based Compensation Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total recognized compensation cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total unrecognized share-based compensation costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted-average period of recognition of compensation expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vested (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeited (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Grant-Date Fair Value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the end of the period (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the beginning of the period (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vested (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeited (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total fair value of shares vested</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:to="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Threshold Percentage of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Statements [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ParentCompanyMember" xlink:to="srt_ParentCompanyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ParentCompanyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Parent Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ReportableLegalEntitiesMember" xlink:to="srt_ReportableLegalEntitiesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ReportableLegalEntitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reportable Legal Entities [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Statements, Captions [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Statements</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InvestmentInAffiliates" xlink:to="csiq_InvestmentInAffiliates_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InvestmentInAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of investment in affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InvestmentInAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in Affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InvestmentInAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EquityIncomeLossFromSubsidiaries" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This item represents the entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Income (Loss) from Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings of subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings of subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Current Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.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-20211231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The net amount paid or received by the reporting entity associated with the loans to subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for (Proceeds from) Loans to Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Funding of loans to subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of Notes Receivable from Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of loans from interest receivables</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromLoansFromSubsidiaries" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromLoansFromSubsidiaries" xlink:to="csiq_ProceedsFromLoansFromSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow associated with loans from subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Loans from Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Funding of loans from a subsidiary</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in and Advances to Affiliates [Table]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiNewEnergyHoldingCo.LtdMember" xlink:label="csiq_CsiNewEnergyHoldingCo.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_CsiNewEnergyHoldingCo.LtdMember" xlink:to="csiq_CsiNewEnergyHoldingCo.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_CsiNewEnergyHoldingCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI New Energy Holding Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiNewEnergyHoldingCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI New Energy Holding Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingLuoyangIncMember" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarManufacturingLuoyangIncMember" xlink:to="csiq_CanadianSolarManufacturingLuoyangIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Manufacturing (Luoyang) Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing (Luoyang) Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiCellsCo.Ltd.Member" xlink:label="csiq_CsiCellsCo.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_CsiCellsCo.Ltd.Member" xlink:to="csiq_CsiCellsCo.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_CsiCellsCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Cells Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiCellsCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Cells Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xlink:to="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar International Project Holding Limited.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar International Project Holding Limited</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarOAndMOntarioIncMember" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarOAndMOntarioIncMember" xlink:to="csiq_CanadianSolarOAndMOntarioIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar O&amp;M (Ontario) Inc., a subsidiary of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar O&amp;M (Ontario) Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xlink:to="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou Sanysolar Materials Technology Co., Ltd., a subsidiary of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Sanysolar Materials Technology Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSouthEastAsiaPteLtdMember" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSouthEastAsiaPteLtdMember" xlink:to="csiq_CanadianSolarSouthEastAsiaPteLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar South East Asia Pte. Ltd., a subsidiary of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar South East Asia Pte., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_CanadianSolarUkLtdMember" xlink:label="csiq_CanadianSolarUkLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarUkLtdMember" xlink:to="csiq_CanadianSolarUkLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarUkLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar UK Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarUkLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar UK Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarUkProjectsLtdMember" xlink:label="csiq_CanadianSolarUkProjectsLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarUkProjectsLtdMember" xlink:to="csiq_CanadianSolarUkProjectsLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarUkProjectsLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar UK Projects Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarUkProjectsLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar UK Projects Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarManufacturingFuningCoLtdMember" xlink:label="csiq_CsiSolarManufacturingFuningCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiSolarManufacturingFuningCoLtdMember" xlink:to="csiq_CsiSolarManufacturingFuningCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiSolarManufacturingFuningCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Solar Manufacturing (Funing) Co., Ltd . (formerly known as "CSI&amp;GCL Solar Manufacturing (Yancheng) Inc.").</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiSolarManufacturingFuningCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Manufacturing (Funing) Co., Ltd . (formerly known as "CSI&amp;GCL Solar Manufacturing (Yancheng) Inc.")</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xlink:to="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Changsu Tegu New Material Technology Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changsu Tegu New Material Technology Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChangshuTlianCo.Ltd.Member" xlink:label="csiq_ChangshuTlianCo.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_ChangshuTlianCo.Ltd.Member" xlink:to="csiq_ChangshuTlianCo.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_ChangshuTlianCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Changshu Tlian Co., LTD.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChangshuTlianCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changshu Tlian Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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-20211231.xsd#csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.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_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" xlink:to="csiq_CanadianSolarEnergyHoldingSingapore1Pte.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_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Energy Holding Singapore 1 Pte. Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Singapore Pte. Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:to="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Sunenergy (Baotou) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sunenergy (Baotou) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CSISolarNewEnergySuzhouCoLtdMember" xlink:label="csiq_CSISolarNewEnergySuzhouCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CSISolarNewEnergySuzhouCoLtdMember" xlink:to="csiq_CSISolarNewEnergySuzhouCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CSISolarNewEnergySuzhouCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Solar New Energy (Suzhou) Co., Ltd., a subsidiary of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CSISolarNewEnergySuzhouCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar New Energy (Suzhou) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xlink:to="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Canadian Solar Construction (Australia) Pty Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Construction (Australia) Pty Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiModulesJiaxingCoLtdMember" xlink:label="csiq_CsiModulesJiaxingCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiModulesJiaxingCoLtdMember" xlink:to="csiq_CsiModulesJiaxingCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiModulesJiaxingCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSI Modules (JiaXing) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiModulesJiaxingCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiWaferLuoyangCoLtdMember" xlink:label="csiq_CsiWaferLuoyangCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiWaferLuoyangCoLtdMember" xlink:to="csiq_CsiWaferLuoyangCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiWaferLuoyangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSI Wafer (LuoYang) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiWaferLuoyangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Wafer (LuoYang) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember" xlink:label="csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember" xlink:to="csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Technology CSI New Energy (ZheJiang) Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Technology CSI New Energy (ZheJiang) Co., Ltd [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xlink:to="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar New Energy Holding Company Limited</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar New Energy Holding Company Limited</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.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_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" xlink:to="csiq_CanadianSolarEnergyHoldingSingaporePte.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_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Singapore Pte. Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Singapore Pte. Ltd. [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.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>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSsesCanadaInc.Member" xlink:label="csiq_CanadianSolarSsesCanadaInc.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_CanadianSolarSsesCanadaInc.Member" xlink:to="csiq_CanadianSolarSsesCanadaInc.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_CanadianSolarSsesCanadaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar SSES (CANADA) INC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSsesCanadaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar SSES (Canada) Inc. [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FieldfareArgentinaS.r.l.Member" xlink:label="csiq_FieldfareArgentinaS.r.l.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_FieldfareArgentinaS.r.l.Member" xlink:to="csiq_FieldfareArgentinaS.r.l.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_FieldfareArgentinaS.r.l.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">FieldFare Argentina S.R.L.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FieldfareArgentinaS.r.l.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">FieldFare Argentina S.R.L. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FieldfareArgentinaS.r.l.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">FieldFare Argentina S.R.L.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInvestmentManagementPtyLtdMember" xlink:label="csiq_CanadianSolarInvestmentManagementPtyLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarInvestmentManagementPtyLtdMember" xlink:to="csiq_CanadianSolarInvestmentManagementPtyLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarInvestmentManagementPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Investment Management Pty Ltd</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarInvestmentManagementPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Investment Management Pty Ltd [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember" xlink:label="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember" xlink:to="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Brasil I Fundo De Investimento Em Participacoes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Brasil I Fundo De Investimento Em Participacoes [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member" xlink:label="csiq_CsiEnergyProjectTechnologySuzhouCo.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_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member" xlink:to="csiq_CsiEnergyProjectTechnologySuzhouCo.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_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Energy Project Technology (SuZhou) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Energy Project Technology (SuZhou) Co., Ltd. [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiElectricitySalesJiangsuCo.Ltd.Member" xlink:label="csiq_CsiElectricitySalesJiangsuCo.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_CsiElectricitySalesJiangsuCo.Ltd.Member" xlink:to="csiq_CsiElectricitySalesJiangsuCo.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_CsiElectricitySalesJiangsuCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Electricity Sales (JiangSu) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiElectricitySalesJiangsuCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Electricity Sales (JiangSu) Co., Ltd. [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiCellsYanchangCoLtdMember" xlink:label="csiq_CsiCellsYanchangCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiCellsYanchangCoLtdMember" xlink:to="csiq_CsiCellsYanchangCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiCellsYanchangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Cells (Yanchang) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiCellsYanchangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Cells (Yanchang) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiModulesDafengCoLtdMember" xlink:label="csiq_CsiModulesDafengCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiModulesDafengCoLtdMember" xlink:to="csiq_CsiModulesDafengCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiModulesDafengCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Modules (DaFeng) Co., Ltd..</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiModulesDafengCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Modules (DaFeng) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarPowerChinaInc.Member" xlink:label="csiq_CsiSolarPowerChinaInc.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_CsiSolarPowerChinaInc.Member" xlink:to="csiq_CsiSolarPowerChinaInc.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_CsiSolarPowerChinaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Solar Power (China) Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiSolarPowerChinaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.")</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in and Advances to Affiliates [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Major Subsidiaries of CSI</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsidiary or Equity Method Investee, Cumulative Percentage Ownership after All Transactions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Attributable Equity Interest Held (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityInterestHeldAsGeneralPartner" xlink:label="csiq_EquityInterestHeldAsGeneralPartner" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EquityInterestHeldAsGeneralPartner" xlink:to="csiq_EquityInterestHeldAsGeneralPartner_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EquityInterestHeldAsGeneralPartner_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of equity interest held as general partner.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EquityInterestHeldAsGeneralPartner_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Interest Held as General Partner</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EquityInterestHeldAsGeneralPartner_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest held as general partner</label>
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityInterestHeldAsLimitedPartner" xlink:label="csiq_EquityInterestHeldAsLimitedPartner" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EquityInterestHeldAsLimitedPartner" xlink:to="csiq_EquityInterestHeldAsLimitedPartner_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EquityInterestHeldAsLimitedPartner_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of equity interest held as limited partner.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EquityInterestHeldAsLimitedPartner_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Interest Held As Limited Partner</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EquityInterestHeldAsLimitedPartner_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity interest held as limited partner</label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>11
<FILENAME>csiq-20211231_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.1.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 10/17/2022 3:56:02 AM-->
<!--Modified on: 10/17/2022 3:56:02 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-20211231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfComprehensiveIncomeParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncomeParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfChangesInEquity" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfChangesInEquityParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureOrganizationAndPrincipalActivities" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPolicies" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAllowanceForCreditLosses" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInventories" roleURI="http://www.canadiansolar.com/role/DisclosureInventories" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureProjectAssets" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosurePropertyPlantAndEquipmentNet" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSolarPowerSystemsNet" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIntangibleAssetsNet" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurement" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurement" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureVariableInterestEntities" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInvestmentsInAffiliates" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLease" roleURI="http://www.canadiansolar.com/role/DisclosureLease" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowings" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureShortTermNotesPayable" roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAccruedWarrantyCosts" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureRestrictedNetAssets" roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureConvertibleNotes" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxes" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureEarningsPerShare" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureRelatedPartyBalancesAndTransactions" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSegmentInformation" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureMajorCustomers" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureEmployeeBenefitPlans" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureShareBasedCompensation" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAdditionalInformationFinancialStatementScheduleI" roleURI="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAppendix1MajorSubsidiariesOfCsi" roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAllowanceForCreditLossesTables" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInventoriesTables" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureProjectAssetsTables" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosurePropertyPlantAndEquipmentNetTables" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSolarPowerSystemsNetTables" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIntangibleAssetsNetTables" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurementTables" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureVariableInterestEntitiesTables" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInvestmentsInAffiliatesTables" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseTables" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsTables" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAccruedWarrantyCostsTables" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureEarningsPerShareTables" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureCommitmentsAndContingenciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSegmentInformationTables" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureShareBasedCompensationTables" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAllowanceForCreditLossesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInventoriesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureProjectAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurementDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurementInterestRateSwapDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurementCarryingValueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFairValueMeasurementListedEquitySecuritiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementListedEquitySecuritiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInvestmentsInAffiliatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseCashFlowDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseOperatingLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseOperatingLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseFinanceLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseFinanceLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseTotalLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseTotalLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureLeaseTotalLeasesSummaryDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsShortTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsLongTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureShortTermNotesPayableDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAccruedWarrantyCostsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureRestrictedNetAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureConvertibleNotesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureRelatedPartyBalancesAndTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureCommitmentsAndContingenciesCommitmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureCommitmentsAndContingenciesContingenciesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSegmentInformationNarrativeDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSegmentInformationDifferentGeographicLocationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureSegmentInformationEachProductOrServiceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureMajorCustomersDetails" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureEmployeeBenefitPlansDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureShareBasedCompensationOptionsToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureShareBasedCompensationRsusToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20211231.xsd#DisclosureAppendix1MajorSubsidiariesOfCsiDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/cef/2022/cef-2022.xsd#N2" roleURI="http://xbrl.sec.gov/cef/role/N2" xmlns="http://www.xbrl.org/2003/linkbase" />
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract_637225720287389721" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable_638015757537665130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract_637225720287389721" xlink:to="dei_DocumentInformationTable_638015757537665130" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis_638015757537665130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable_638015757537665130" xlink:to="dei_EntityAddressesAddressTypeAxis_638015757537665130" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain_638015757537665130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityAddressesAddressTypeAxis_638015757537665130" xlink:to="dei_AddressTypeDomain_638015757537665130" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember_638015757537665130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_AddressTypeDomain_638015757537665130" xlink:to="dei_BusinessContactMember_638015757537665130" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems_638015757537665130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable_638015757537665130" xlink:to="dei_DocumentInformationLineItems_638015757537665130" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityCentralIndexKey_638015757537675031" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_DocumentType_638015757537675031" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_DocumentRegistrationStatement_638015757537675031" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_DocumentAnnualReport_638015757537675031" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_DocumentTransitionReport_638015757537675031" order="5" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_DocumentShellCompanyReport_638015757537675031" order="6" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_DocumentPeriodEndDate_638015757537675031" order="7" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityFileNumber_638015757537675031" order="8" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityRegistrantName_638015757537675031" order="9" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638015757537675031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityIncorporationStateCountryCode_638015757537675031" order="10" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638015757537685013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityAddressAddressLine1_638015757537685013" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638015757537685013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityAddressCityOrTown_638015757537685013" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry_638015757537685013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityAddressCountry_638015757537685013" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638015757537685013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityAddressPostalZipCode_638015757537685013" order="14" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName_638015757537685013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_ContactPersonnelName_638015757537685013" order="15" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638015757537685013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_CityAreaCode_638015757537685013" order="16" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638015757537685013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_LocalPhoneNumber_638015757537685013" order="17" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638015757537694994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_Security12bTitle_638015757537694994" order="18" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638015757537694994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_TradingSymbol_638015757537694994" order="19" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638015757537694994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_SecurityExchangeName_638015757537694994" order="20" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638015757537694994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_AmendmentFlag_638015757537694994" order="21" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription_638015757537694994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_AmendmentDescription_638015757537694994" order="22" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638015757537694994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_CurrentFiscalYearEndDate_638015757537694994" order="23" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer_638015757537694994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityWellKnownSeasonedIssuer_638015757537694994" order="24" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers_638015757537694994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityVoluntaryFilers_638015757537694994" order="25" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638015757537704993" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityCurrentReportingStatus_638015757537704993" order="26" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638015757537704993" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityInteractiveDataCurrent_638015757537704993" order="27" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638015757537704993" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityFilerCategory_638015757537704993" order="28" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638015757537704993" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityEmergingGrowthCompany_638015757537704993" order="29" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard_638015757537704993" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_DocumentAccountingStandard_638015757537704993" order="30" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638015757537704993" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityShellCompany_638015757537704993" order="31" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638015757537715014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_EntityCommonStockSharesOutstanding_638015757537715014" order="32" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638015757537715014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_DocumentFiscalYearFocus_638015757537715014" order="33" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638015757537715014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_DocumentFiscalPeriodFocus_638015757537715014" order="34" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag_638015757537715014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_IcfrAuditorAttestationFlag_638015757537715014" order="35" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName_638015757537715014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_AuditorName_638015757537715014" 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/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation_638015757537724981" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_AuditorLocation_638015757537724981" order="37" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId_638015757537724981" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638015757537665130" xlink:to="dei_AuditorFirmId_638015757537724981" order="38" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638015757537724981" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract_638015757537724981" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638015757537724981" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_AssetsCurrentAbstract_638015757537724981" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638015757537724981" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638015757537724981" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638015757537724981" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638015757537724981" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_AccountsReceivableNetCurrent_638015757537735016" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_UnbilledReceivablesCurrent_638015757537735016" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_638015757537735016" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_InventoryNet_638015757537735016" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_638015757537735016" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_AdvancesOnInventoryPurchases_638015757537735016" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_DerivativeAssetsCurrent_638015757537735016" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638015757537735016" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638015757537735016" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_RestrictedCashAndCashEquivalents_638015757537735016" order="12" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638015757537735016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757537724981" xlink:to="us-gaap_AssetsCurrent_638015757537735016" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638015757537745016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638015757537745016" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638015757537745016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638015757537745016" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_638015757537745016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="csiq_SolarPowerSystems_638015757537745016" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638015757537745016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638015757537745016" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_638015757537745016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_638015757537745016" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseNoncurrent" xlink:label="us-gaap_PrepaidExpenseNoncurrent_638015757537745016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_PrepaidExpenseNoncurrent_638015757537745016" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638015757537745016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_EquityMethodInvestments_638015757537745016" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638015757537745016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638015757537745016" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638015757537755107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638015757537755107" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638015757537755107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638015757537755107" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638015757537755107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_OtherAssetsNoncurrent_638015757537755107" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638015757537755107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757537724981" xlink:to="us-gaap_Assets_638015757537755107" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638015757537765000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="us-gaap_ShortTermBorrowings_638015757537765000" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_638015757537765000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_638015757537765000" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent_638015757537765000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="us-gaap_AccountsPayableTradeCurrent_638015757537765000" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_638015757537765000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="csiq_ShortTermNotesPayable_638015757537765000" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_638015757537765000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="us-gaap_DueToRelatedPartiesCurrent_638015757537765000" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent_638015757537765000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="us-gaap_AccountsPayableOtherCurrent_638015757537765000" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638015757537765000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638015757537765000" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_638015757537775185" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_638015757537775185" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638015757537775185" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638015757537775185" 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/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638015757537775185" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="us-gaap_OtherLiabilitiesCurrent_638015757537775185" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638015757537775185" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757537755107" xlink:to="us-gaap_LiabilitiesCurrent_638015757537775185" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_638015757537775185" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_638015757537775185" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638015757537775185" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_LongTermNotesAndLoans_638015757537775185" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable_638015757537784994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_ConvertibleNotesPayable_638015757537784994" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638015757537784994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638015757537784994" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638015757537784994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638015757537784994" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_638015757537784994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_638015757537784994" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638015757537784994" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638015757537784994" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FinancingLiabilitiesNonCurrent" xlink:label="csiq_FinancingLiabilitiesNonCurrent_638015757537795023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="csiq_FinancingLiabilitiesNonCurrent_638015757537795023" 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/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638015757537795023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638015757537795023" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638015757537795023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_Liabilities_638015757537795023" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638015757537795023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_CommitmentsAndContingencies_638015757537795023" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638015757537804996" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" xlink:to="us-gaap_CommonStockValue_638015757537804996" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638015757537804996" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" xlink:to="us-gaap_TreasuryStockCommonValue_638015757537804996" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638015757537804996" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638015757537804996" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638015757537804996" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638015757537804996" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638015757537804996" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638015757537804996" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638015757537814793" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" xlink:to="us-gaap_StockholdersEquity_638015757537814793" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638015757537814793" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" xlink:to="us-gaap_MinorityInterest_638015757537814793" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757537814793" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757537795023" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757537814793" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638015757537814793" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757537755107" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638015757537814793" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638015757537825035" />
    <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_638015757537825035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_638015757537825035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_638015757537825035" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_638015757537825035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_638015757537825035" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638015757537825035" />
    <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_638015757537825035" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638015757537825035" />
    <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_638015757537825035" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638015757537825035" />
    <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_638015757537825035" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638015757537825035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_TreasuryStockCommonShares_638015757537825035" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalesRevenueAbstract" xlink:label="csiq_SalesRevenueAbstract_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="csiq_SalesRevenueAbstract_638015757537835045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SalesRevenueAbstract_638015757537835045" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757537835045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSoldAbstract_638015757537835045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostOfGoodsAndServicesSoldAbstract_638015757537835045" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638015757537835045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_GrossProfit_638015757537835045" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_638015757537835045" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638015757537835045" xlink:to="us-gaap_SellingAndMarketingExpense_638015757537835045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638015757537835045" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638015757537835045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638015757537835045" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638015757537835045" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638015757537835045" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638015757537835045" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638015757537835045" xlink:to="us-gaap_OperatingExpenses_638015757537835045" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638015757537835045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_OperatingIncomeLoss_638015757537835045" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_638015757537845045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_638015757537845045" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638015757537845045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757537845045" xlink:to="us-gaap_InterestExpense_638015757537845045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_638015757537845045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757537845045" xlink:to="us-gaap_InvestmentIncomeInterest_638015757537845045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757537845045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757537845045" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757537845045" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638015757537845045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757537845045" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638015757537845045" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_638015757537845045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757537845045" xlink:to="us-gaap_GainLossOnInvestments_638015757537845045" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638015757537845045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757537845045" xlink:to="us-gaap_NonoperatingIncomeExpense_638015757537845045" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638015757537854865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638015757537854865" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638015757537854865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638015757537854865" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638015757537854865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638015757537854865" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757537854865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_ProfitLoss_638015757537854865" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638015757537854865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638015757537854865" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638015757537854865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638015757537854865" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638015757537854865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareBasic_638015757537854865" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638015757537865040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638015757537865040" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638015757537865040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareDiluted_638015757537865040" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638015757537865040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638015757537865040" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757537865040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ProfitLoss_638015757537865040" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638015757537865040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638015757537865040" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638015757537865040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638015757537865040" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638015757537865040" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638015757537865040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638015757537865040" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638015757537865040" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638015757537875037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638015757537865040" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638015757537875037" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638015757537875037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638015757537865040" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638015757537875037" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638015757537875037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638015757537875037" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638015757537875037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638015757537875037" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended" xlink:title="00305 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossTax_638015757537875037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossTax_638015757537875037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638015757537875037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_638015757537875037" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757537875037" xlink:to="us-gaap_StatementEquityComponentsAxis_638015757537885235" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638015757537885235" xlink:to="us-gaap_CommonStockMember_638015757537885235" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638015757537885235" xlink:to="us-gaap_TreasuryStockCommonMember_638015757537885235" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638015757537885235" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638015757537885235" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638015757537885235" xlink:to="us-gaap_RetainedEarningsMember_638015757537885235" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638015757537885235" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638015757537885235" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638015757537885235" xlink:to="us-gaap_ParentMember_638015757537885235" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638015757537885235" xlink:to="us-gaap_NoncontrollingInterestMember_638015757537885235" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638015757537885235" xlink:to="us-gaap_EquityComponentDomain_638015757537885235" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757537875037" xlink:to="us-gaap_StatementLineItems_638015757537885235" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757537885235" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757537885235" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757537885235" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638015757537895030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_CommonStockSharesIssued_638015757537895030" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638015757537895030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_TreasuryStockCommonValue_638015757537895030" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638015757537895030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_TreasuryStockCommonShares_638015757537895030" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757537895030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_ProfitLoss_638015757537895030" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638015757537895030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638015757537895030" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_638015757537895030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions_638015757537895030" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_638015757537895030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_638015757537895030" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_638015757537895030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_638015757537895030" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638015757537905033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638015757537905033" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_638015757537905033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_638015757537905033" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638015757537905033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638015757537905033" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638015757537905033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638015757537905033" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesRetired" xlink:label="us-gaap_TreasuryStockSharesRetired_638015757537905033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_TreasuryStockSharesRetired_638015757537905033" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockRetiredCostMethodAmount" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount_638015757537905033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_TreasuryStockRetiredCostMethodAmount_638015757537905033" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638015757537905033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638015757537905033" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_638015757537915062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_638015757537915062" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638015757537915062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638015757537915062" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_638015757537915062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_638015757537915062" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_638015757537915062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_638015757537915062" order="20" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_638015757537915062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_638015757537915062" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757537915062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638015757537915062" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638015757537925028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_CommonStockSharesIssued_638015757537925028" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638015757537925028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_TreasuryStockCommonValue_638015757537925028" order="24" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638015757537925028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638015757537885235" xlink:to="us-gaap_TreasuryStockCommonShares_638015757537925028" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xlink:type="extended" xlink:title="00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638015757537925028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_638015757537925028" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638015757537925028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757537925028" xlink:to="srt_ConsolidatedEntitiesAxis_638015757537925028" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638015757537925028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638015757537925028" xlink:to="srt_ConsolidatedEntitiesDomain_638015757537925028" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638015757537925028" xlink:to="srt_SubsidiariesMember_638015757537935024" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757537925028" xlink:to="us-gaap_StatementEquityComponentsAxis_638015757537935024" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638015757537935024" xlink:to="us-gaap_EquityComponentDomain_638015757537935024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638015757537935024" xlink:to="us-gaap_CommonStockMember_638015757537935024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757537925028" xlink:to="us-gaap_StatementLineItems_638015757537935024" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757537935024" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_638015757537935024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757537935024" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638015757537935024" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757537935024" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_638015757537935024" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757537935024" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638015757537935024" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_638015757537935024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757537935024" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_638015757537935024" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757537945087" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_ProfitLoss_638015757537945087" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638015757537945087" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638015757537945087" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638015757537945087" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_AccretionExpense_638015757537945087" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638015757537945087" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638015757537945087" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638015757537955089" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638015757537955089" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638015757537955089" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638015757537955089" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638015757537955089" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_AssetImpairmentCharges_638015757537955089" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638015757537955089" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="csiq_ProjectAssetsImpairmentCharge_638015757537955089" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_638015757537955089" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_ImpairmentOfInvestments_638015757537955089" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757537955089" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757537955089" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638015757537955089" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_ShareBasedCompensation_638015757537955089" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638015757537955089" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638015757537955089" 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/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638015757537955089" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638015757537955089" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_638015757537965022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_638015757537965022" order="13" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses_638015757537965022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="csiq_NonCashOperatingLeaseExpenses_638015757537965022" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638015757537965022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_InventoryWriteDown_638015757537965022" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_638015757537965022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_638015757537965022" order="16" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_638015757537965022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_638015757537965022" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638015757537985414" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638015757537985414" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638015757537985414" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638015757537985414" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638015757537985414" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638015757537985414" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638015757537985414" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInInventories_638015757537985414" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638015757537995035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638015757537995035" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_638015757537995035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_638015757537995035" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets_638015757537995035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="csiq_IncreaseDecreaseInProjectAssets_638015757537995035" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638015757537995035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638015757537995035" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638015757537995035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638015757537995035" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638015757537995035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638015757537995035" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638015757538005001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638015757538005001" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638015757538005001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638015757538005001" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638015757538005001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638015757538005001" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638015757538005001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638015757538005001" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638015757538005001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638015757538005001" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638015757538005001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638015757538005001" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInProductWarrantyAccrual" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_638015757538005001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="csiq_IncreaseDecreaseInProductWarrantyAccrual_638015757538005001" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInPrepaidLandUseRight" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_638015757538015031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="csiq_IncreaseDecreaseInPrepaidLandUseRight_638015757538015031" order="18" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInGoodwill" xlink:label="csiq_IncreaseDecreaseInGoodwill_638015757538015031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="csiq_IncreaseDecreaseInGoodwill_638015757538015031" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638015757538015031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638015757538015031" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638015757538015031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638015757538015031" order="21" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638015757538015031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638015757538015031" order="22" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_638015757538025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757537965022" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_638015757538025007" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757538025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757537945087" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757538025007" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_638015757538025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_638015757538025007" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638015757538025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638015757538025007" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638015757538034986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638015757538034986" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_638015757538034986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" xlink:to="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_638015757538034986" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638015757538034986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638015757538034986" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_638015757538034986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_638015757538034986" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638015757538034986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638015757538034986" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757538034986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757538025007" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757538034986" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable_638015757538045016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_ProceedsFromNotesPayable_638015757538045016" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_638015757538045016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_RepaymentsOfNotesPayable_638015757538045016" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638015757538055107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638015757538055107" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_638015757538055107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_PaymentsToMinorityShareholders_638015757538055107" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638015757538055107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638015757538055107" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_638015757538055107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="csiq_ProceedsFromPaymentsToMinorityShareHolder_638015757538055107" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638015757538064997" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638015757538064997" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromThirdPartyFinancingLiabilities" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_638015757538064997" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="csiq_ProceedsFromThirdPartyFinancingLiabilities_638015757538064997" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SaleLeasebackTransactionProceedsFinancingActivities" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638015757538095013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638015757538095013" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsOfDistributionsToTaxEquityInvestors" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_638015757538105042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="csiq_PaymentsOfDistributionsToTaxEquityInvestors_638015757538105042" 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/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments_638015757538105042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_FinanceLeasePrincipalPayments_638015757538105042" order="11" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt_638015757538105042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_ProceedsFromConvertibleDebt_638015757538105042" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_638015757538105042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts_638015757538105042" order="13" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_638015757538115038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_638015757538115038" order="14" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromSubscriptionAdvances" xlink:label="csiq_ProceedsFromSubscriptionAdvances_638015757538115038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="csiq_ProceedsFromSubscriptionAdvances_638015757538115038" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638015757538115038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638015757538115038" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638015757538115038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638015757538115038" order="17" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638015757538125033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638015757538125033" order="18" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757538125033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757538045016" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757538125033" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638015757538125033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638015757538125033" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638015757538125033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638015757538125033" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638015757538135026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638015757538135026" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6380157575381350261" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6380157575381350261" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638015757538135026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638015757538135026" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638015757538144787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638015757538135026" xlink:to="us-gaap_InterestPaidNet_638015757538144787" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet_638015757538144787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638015757538135026" xlink:to="us-gaap_IncomeTaxesPaidNet_638015757538144787" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638015757538144787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638015757538135026" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638015757538144787" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638015757538155194" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638015757538144787" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638015757538155194" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:type="extended" xlink:title="00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638015757538165120" />
    <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_638015757538165120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638015757538165120" />
    <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_638015757538165120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638015757538165120" />
    <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_638015757538165120" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638015757538165120" />
    <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_638015757538165120" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" xlink:type="extended" xlink:title="10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations_638015757538165120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_NatureOfOperations_638015757538165120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" xlink:type="extended" xlink:title="10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638015757538165120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638015757538165120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses" xlink:type="extended" xlink:title="10301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="ReceivablesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_638015757538175022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReceivablesAbstract" xlink:to="us-gaap_AllowanceForCreditLossesTextBlock_638015757538175022" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventories" xlink:type="extended" xlink:title="10401 - Disclosure - INVENTORIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock_638015757538175022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock_638015757538175022" 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-20211231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsDisclosureTextBlock" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_638015757538175022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract" xlink:to="csiq_ProjectAssetsDisclosureTextBlock_638015757538175022" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" xlink:type="extended" xlink:title="10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638015757538175022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638015757538175022" 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-20211231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerSystemsTextBlock" xlink:label="csiq_SolarPowerSystemsTextBlock_638015757538185054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_SolarPowerSystemsTextBlock_638015757538185054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" xlink:type="extended" xlink:title="10801 - Disclosure - INTANGIBLE ASSETS, NET" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_638015757538185054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_638015757538185054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurement" xlink:type="extended" xlink:title="10901 - Disclosure - FAIR VALUE MEASUREMENT" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock_638015757538185054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock_638015757538185054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntities" xlink:type="extended" xlink:title="11001 - Disclosure - VARIABLE INTEREST ENTITIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_638015757538185054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_VariableInterestEntityDisclosureTextBlock_638015757538185054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" xlink:type="extended" xlink:title="11101 - Disclosure - INVESTMENTS IN AFFILIATES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_638015757538195024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_638015757538195024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLease" xlink:type="extended" xlink:title="11201 - Disclosure - LEASE" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_638015757538195024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_638015757538195024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowings" xlink:type="extended" xlink:title="11301 - Disclosure - BORROWINGS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_638015757538195024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock_638015757538195024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" xlink:type="extended" xlink:title="11401 - Disclosure - SHORT-TERM NOTES PAYABLE" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableAbstract" xlink:label="NotesPayableAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShortTermNotesPayableTextBlock" xlink:label="csiq_ShortTermNotesPayableTextBlock_638015757538205062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NotesPayableAbstract" xlink:to="csiq_ShortTermNotesPayableTextBlock_638015757538205062" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" xlink:type="extended" xlink:title="11501 - Disclosure - ACCRUED WARRANTY COSTS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_638015757538205062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock_638015757538205062" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" xlink:type="extended" xlink:title="11601 - Disclosure - RESTRICTED NET ASSETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_638015757538245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_RestrictedAssetsDisclosureTextBlock_638015757538245029" 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-20211231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ConvertibleNotesDisclosureTextBlock" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_638015757538254852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ConvertibleNotesDisclosureAbstract" xlink:to="csiq_ConvertibleNotesDisclosureTextBlock_638015757538254852" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="11801 - Disclosure - INCOME TAXES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_638015757538254852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638015757538254852" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" xlink:type="extended" xlink:title="11901 - Disclosure - EARNINGS PER SHARE" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_638015757538254852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock_638015757538254852" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" xlink:type="extended" xlink:title="12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_638015757538265050" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_638015757538265050" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="12101 - Disclosure - COMMITMENTS AND CONTINGENCIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638015757538265050" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638015757538265050" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformation" xlink:type="extended" xlink:title="12201 - Disclosure - SEGMENT INFORMATION" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_638015757538265050" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_638015757538265050" 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-20211231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="csiq_MajorCustomersDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MajorCustomersDisclosureTextBlock" xlink:label="csiq_MajorCustomersDisclosureTextBlock_638015757538275044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_MajorCustomersDisclosureAbstract" xlink:to="csiq_MajorCustomersDisclosureTextBlock_638015757538275044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" xlink:type="extended" xlink:title="12401 - Disclosure - EMPLOYEE BENEFIT PLANS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638015757538275044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638015757538275044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation" xlink:type="extended" xlink:title="12501 - Disclosure - SHARE-BASED COMPENSATION" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638015757538275044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638015757538275044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" xlink:type="extended" xlink:title="12701 - Disclosure - Additional Information - Financial Statement Schedule I" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097433328" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_638015757538275044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097433328" xlink:to="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_638015757538275044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi" xlink:type="extended" xlink:title="12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MajorSubsidiariesDisclosuresAbstract" xlink:label="csiq_MajorSubsidiariesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_638015757538284776" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_MajorSubsidiariesDisclosuresAbstract" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_638015757538284776" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" xlink:type="extended" xlink:title="20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638015757538284776" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638015757538284776" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_638015757538284776" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock_638015757538284776" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates_638015757538284776" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates_638015757538284776" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_638015757538284776" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_638015757538284776" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_638015757538284776" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_638015757538284776" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_638015757538295062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_638015757538295062" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AdvancesToSuppliersPolicyTextBlock" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_638015757538295062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AdvancesToSuppliersPolicyTextBlock_638015757538295062" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock_638015757538295062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock_638015757538295062" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPolicyTextBlock" xlink:label="csiq_ProjectAssetsPolicyTextBlock_638015757538295062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ProjectAssetsPolicyTextBlock_638015757538295062" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy_638015757538295062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_BusinessCombinationsPolicy_638015757538295062" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AssetsAcquisitionPolicyTextBlock" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_638015757538295062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AssetsAcquisitionPolicyTextBlock_638015757538295062" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638015757538295062" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638015757538295062" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_638015757538304985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_SolarPowerSystemsPolicyPolicyTextBlock_638015757538304985" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_638015757538304985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_638015757538304985" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PrepaymentForLandUseRightPolicyTextBlock" xlink:label="csiq_PrepaymentForLandUseRightPolicyTextBlock_638015757538304985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_PrepaymentForLandUseRightPolicyTextBlock_638015757538304985" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_638015757538304985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_638015757538304985" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638015757538304985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638015757538304985" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_638015757538304985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_638015757538304985" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetRetirementObligationsPolicy" xlink:label="us-gaap_AssetRetirementObligationsPolicy_638015757538304985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetRetirementObligationsPolicy_638015757538304985" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_638015757538304985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_638015757538304985" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_638015757538315046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_638015757538315046" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_638015757538315046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_638015757538315046" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638015757538315046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638015757538315046" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_638015757538315046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_638015757538315046" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_638015757538315046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_638015757538315046" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_638015757538315046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_638015757538315046" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy_638015757538315046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_StandardProductWarrantyPolicy_638015757538315046" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638015757538315046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638015757538315046" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_638015757538325016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_638015757538325016" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_638015757538325016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ForeignCurrencyRiskPolicyTextBlock_638015757538325016" order="30" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk_638015757538325016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk_638015757538325016" order="31" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_638015757538325016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_638015757538325016" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock_638015757538325016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_DerivativesPolicyTextBlock_638015757538325016" order="33" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_638015757538325016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_638015757538325016" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638015757538325016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638015757538325016" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_UnusualOrInfrequentItemPolicyTextBlock" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock_638015757538335021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_UnusualOrInfrequentItemPolicyTextBlock_638015757538335021" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638015757538335021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638015757538335021" order="37" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables" xlink:type="extended" xlink:title="30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_638015757538335021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_638015757538335021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638015757538335021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638015757538335021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfElectricityRevenueTableTextBlock" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock_638015757538335021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfElectricityRevenueTableTextBlock_638015757538335021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_638015757538345051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_638015757538345051" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638015757538345051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638015757538345051" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_638015757538345051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_638015757538345051" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_638015757538345051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_638015757538345051" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xlink:type="extended" xlink:title="30303 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="ReceivablesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638015757538345051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReceivablesAbstract" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638015757538345051" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757538345051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638015757538345051" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757538345051" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638015757538345051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757538345051" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638015757538345051" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember_638015757538354838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638015757538345051" xlink:to="us-gaap_AllowanceForCreditLossMember_638015757538354838" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_638015757538354838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638015757538345051" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_638015757538354838" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember_638015757538354838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638015757538345051" xlink:to="csiq_AllowanceForOtherReceivablesMember_638015757538354838" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538354838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638015757538345051" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538354838" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_638015757538354838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538354838" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_638015757538354838" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638015757538354838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538354838" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638015757538354838" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventoriesTables" xlink:type="extended" xlink:title="30403 - Disclosure - INVENTORIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_638015757538354838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_638015757538354838" 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-20211231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract_635640928650455218" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfProjectAssetsTableTextBlock" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_638015757538364970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640928650455218" xlink:to="csiq_ScheduleOfProjectAssetsTableTextBlock_638015757538364970" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables" xlink:type="extended" xlink:title="30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_638015757538364970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_638015757538364970" 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-20211231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_638015757538364970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_638015757538364970" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables" xlink:type="extended" xlink:title="30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_638015757538364970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_638015757538364970" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables" xlink:type="extended" xlink:title="30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638015757538374956" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638015757538374956" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638015757538374956" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638015757538374956" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables" xlink:type="extended" xlink:title="31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_638015757538374956" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_638015757538374956" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables" xlink:type="extended" xlink:title="31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_638015757538374956" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_638015757538374956" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTables" xlink:type="extended" xlink:title="31203 - Disclosure - LEASE (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock_638015757538384782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostTableTextBlock_638015757538384782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_638015757538384782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_638015757538384782" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638015757538384782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638015757538384782" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsTables" xlink:type="extended" xlink:title="31303 - Disclosure - BORROWINGS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_638015757538394782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_638015757538394782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_638015757538394782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_638015757538394782" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_638015757538394782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_638015757538394782" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_638015757538394782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="csiq_ScheduleOfInterestExpenseTableTextBlock_638015757538394782" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables" xlink:type="extended" xlink:title="31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_638015757538394782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_638015757538394782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables" xlink:type="extended" xlink:title="31803 - Disclosure - INCOME TAXES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638015757538394782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638015757538394782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638015757538394782" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638015757538394782" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_638015757538405041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_638015757538405041" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638015757538405041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638015757538405041" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_638015757538405041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SummaryOfValuationAllowanceTextBlock_638015757538405041" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638015757538405041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638015757538405041" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables" xlink:type="extended" xlink:title="31903 - Disclosure - EARNINGS PER SHARE (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638015757538405041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638015757538405041" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_638015757538405041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_638015757538405041" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xlink:type="extended" xlink:title="32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638015757538414990" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_StatementTable_638015757538414990" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638015757538414990" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757538414990" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638015757538414990" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638015757538414990" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638015757538414990" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638015757538414990" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638015757538414990" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638015757538414990" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638015757538414990" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638015757538414990" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757538414990" xlink:to="us-gaap_StatementLineItems_638015757538414990" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_638015757538414990" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538414990" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock_638015757538414990" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationTables" xlink:type="extended" xlink:title="32203 - Disclosure - SEGMENT INFORMATION (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638015757538414990" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638015757538414990" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638015757538414990" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638015757538414990" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_638015757538414990" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_638015757538414990" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_638015757538425009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_638015757538425009" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables" xlink:type="extended" xlink:title="32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_638015757538425009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_638015757538425009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails" xlink:type="extended" xlink:title="40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (Narrative) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638015757538425009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable_638015757538425009" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638015757538425009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757538425009" xlink:to="srt_ConsolidatedEntitiesAxis_638015757538425009" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638015757538425009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638015757538425009" xlink:to="srt_ConsolidatedEntitiesDomain_638015757538425009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638015757538425009" xlink:to="srt_SubsidiariesMember_638015757538434957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757538425009" xlink:to="srt_OwnershipAxis_638015757538434957" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638015757538434957" xlink:to="srt_OwnershipDomain_638015757538434957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarMember" xlink:label="csiq_CanadianSolarMember_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638015757538434957" xlink:to="csiq_CanadianSolarMember_638015757538434957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757538425009" xlink:to="srt_CounterpartyNameAxis_638015757538434957" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_638015757538434957" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_638015757538434957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638015757538434957" xlink:to="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_638015757538434957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEmployeesMember" xlink:label="csiq_CanadianSolarEmployeesMember_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638015757538434957" xlink:to="csiq_CanadianSolarEmployeesMember_638015757538434957" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757538425009" xlink:to="us-gaap_BalanceSheetLocationAxis_638015757538434957" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638015757538434957" xlink:to="us-gaap_BalanceSheetLocationDomain_638015757538434957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherPayablesMember" xlink:label="csiq_OtherPayablesMember_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638015757538434957" xlink:to="csiq_OtherPayablesMember_638015757538434957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638015757538434957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757538425009" xlink:to="us-gaap_StatementLineItems_638015757538434957" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SharePurchaseProceedsFromThirdPartyInvestors" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors_638015757538444974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="csiq_SharePurchaseProceedsFromThirdPartyInvestors_638015757538444974" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_638015757538444974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_638015757538444974" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_638015757538444974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_638015757538444974" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_638015757538444974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_638015757538444974" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638015757538444974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638015757538444974" order="5" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_638015757538444974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_638015757538444974" order="6" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638015757538444974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638015757538444974" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PercentageOfDiscountOnIssueOfShares" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares_638015757538455807" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="csiq_PercentageOfDiscountOnIssueOfShares_638015757538455807" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PremiumDiscountOnIssueOfShares" xlink:label="csiq_PremiumDiscountOnIssueOfShares_638015757538455807" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="csiq_PremiumDiscountOnIssueOfShares_638015757538455807" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SubscriptionAdvances" xlink:label="csiq_SubscriptionAdvances_638015757538455807" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="csiq_SubscriptionAdvances_638015757538455807" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638015757538455807" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538434957" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638015757538455807" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xlink:type="extended" xlink:title="40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable_638015757538465026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GainContingenciesTable_638015757538465026" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638015757538465026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638015757538465026" xlink:to="us-gaap_BalanceSheetLocationAxis_638015757538465026" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638015757538465026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638015757538465026" xlink:to="us-gaap_BalanceSheetLocationDomain_638015757538465026" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638015757538465026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638015757538465026" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638015757538465026" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems_638015757538465026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638015757538465026" xlink:to="us-gaap_GainContingenciesLineItems_638015757538465026" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_638015757538465026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesLineItems_638015757538465026" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_638015757538465026" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xlink:type="extended" xlink:title="40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538465026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538465026" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538465026" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638015757538475048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638015757538475048" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538475048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538475048" xlink:to="us-gaap_BuildingMember_638015757538475048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538475048" xlink:to="us-gaap_MachineryAndEquipmentMember_638015757538475048" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538475048" xlink:to="us-gaap_FurnitureAndFixturesMember_638015757538475048" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538475048" xlink:to="us-gaap_VehiclesMember_638015757538475048" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538475048" xlink:to="us-gaap_ElectricGenerationEquipmentMember_638015757538475048" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538465026" xlink:to="srt_RangeAxis_638015757538475048" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757538475048" xlink:to="srt_RangeMember_638015757538475048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757538475048" xlink:to="srt_MinimumMember_638015757538475048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757538475048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757538475048" xlink:to="srt_MaximumMember_638015757538475048" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_638015757538485168" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538465026" xlink:to="us-gaap_ChangeInAccountingEstimateByTypeAxis_638015757538485168" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_638015757538485168" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis_638015757538485168" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_638015757538485168" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ServiceLifeMember" xlink:label="us-gaap_ServiceLifeMember_638015757538485168" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateTypeDomain_638015757538485168" xlink:to="us-gaap_ServiceLifeMember_638015757538485168" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538485168" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538465026" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538485168" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_638015757538485168" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538485168" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_638015757538485168" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" xlink:label="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_638015757538485168" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538485168" xlink:to="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_638015757538485168" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInDepreciationExpense" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense_638015757538485168" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538485168" xlink:to="csiq_IncreaseDecreaseInDepreciationExpense_638015757538485168" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" xlink:type="extended" xlink:title="40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638015757538495224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638015757538495224" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638015757538495224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638015757538495224" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638015757538495224" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638015757538495224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638015757538495224" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638015757538495224" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_638015757538495224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638015757538495224" xlink:to="us-gaap_DevelopedTechnologyRightsMember_638015757538495224" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638015757538495224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638015757538495224" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638015757538495224" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember_638015757538495224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638015757538495224" xlink:to="us-gaap_UseRightsMember_638015757538495224" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757538495224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638015757538495224" xlink:to="srt_RangeAxis_638015757538495224" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757538495224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757538495224" xlink:to="srt_RangeMember_638015757538495224" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638015757538495224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757538495224" xlink:to="srt_MinimumMember_638015757538495224" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757538505029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757538495224" xlink:to="srt_MaximumMember_638015757538505029" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538505029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638015757538495224" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538505029" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638015757538505029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538505029" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638015757538505029" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" xlink:type="extended" xlink:title="40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_638015757538505029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOfInvestments_638015757538505029" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638015757538505029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetImpairmentCharges_638015757538505029" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xlink:type="extended" xlink:title="40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638015757538515009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638015757538515009" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638015757538515009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538515009" xlink:to="srt_ProductOrServiceAxis_638015757538515009" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638015757538515009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638015757538515009" xlink:to="srt_ProductsAndServicesDomain_638015757538515009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember_638015757538515009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757538515009" xlink:to="us-gaap_ElectricityMember_638015757538515009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638015757538515009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538515009" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638015757538515009" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AmountOfPerformanceBasedEnergyIncentives" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives_638015757538515009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638015757538515009" xlink:to="csiq_AmountOfPerformanceBasedEnergyIncentives_638015757538515009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xlink:type="extended" xlink:title="40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638015757538515009" />
    <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_638015757538515009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638015757538515009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538515009" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638015757538515009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638015757538525054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638015757538515009" xlink:to="us-gaap_SegmentDomain_638015757538525054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638015757538525054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638015757538525054" xlink:to="csiq_CsiSolarSegmentMember_638015757538525054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember_638015757538525054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638015757538525054" xlink:to="csiq_GlobalEnergySegmentMember_638015757538525054" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638015757538525054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538515009" xlink:to="srt_ProductOrServiceAxis_638015757538525054" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638015757538525054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638015757538525054" xlink:to="srt_ProductsAndServicesDomain_638015757538525054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember_638015757538525054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757538525054" xlink:to="us-gaap_ElectricityMember_638015757538525054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638015757538525054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538515009" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638015757538525054" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757538525054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638015757538525054" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757538525054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="extended" xlink:title="40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638015757538535018" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538535018" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638015757538535018" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638015757538535018" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638015757538535018" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638015757538535018" xlink:to="us-gaap_TransferredAtPointInTimeMember_638015757538535018" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638015757538535018" xlink:to="us-gaap_TransferredOverTimeMember_638015757538535018" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538535018" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638015757538535018" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638015757538535018" xlink:to="us-gaap_SegmentDomain_638015757538535018" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638015757538535018" xlink:to="csiq_CsiSolarSegmentMember_638015757538535018" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638015757538535018" xlink:to="csiq_GlobalEnergySegmentMember_638015757538535018" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538535018" xlink:to="srt_ProductOrServiceAxis_638015757538535018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638015757538535018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638015757538535018" xlink:to="srt_ProductsAndServicesDomain_638015757538535018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember_638015757538545041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757538535018" xlink:to="us-gaap_ElectricityMember_638015757538545041" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638015757538545041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538535018" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638015757538545041" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757538545041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638015757538545041" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757538545041" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_638015757538545041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetAbstract_638015757538545041" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_638015757538545041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract_638015757538545041" xlink:to="us-gaap_UnbilledReceivablesCurrent_638015757538545041" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_638015757538554833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_638015757538554833" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638015757538554833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638015757538554833" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638015757538554833" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_638015757538554833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638015757538554833" xlink:to="csiq_ContractLiabilitiesOtherCurrentLiabilities_638015757538554833" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability_638015757538554833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638015757538554833" xlink:to="us-gaap_ContractWithCustomerLiability_638015757538554833" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638015757538554833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638015757538554833" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_638015757538554833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_638015757538554833" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xlink:type="extended" xlink:title="40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638015757538554833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable_638015757538554833" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638015757538554833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757538554833" xlink:to="srt_ProductOrServiceAxis_638015757538554833" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638015757538565009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638015757538554833" xlink:to="srt_ProductsAndServicesDomain_638015757538565009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember_638015757538565009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757538565009" xlink:to="us-gaap_ShippingAndHandlingMember_638015757538565009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638015757538565009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757538554833" xlink:to="us-gaap_StatementLineItems_638015757538565009" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_638015757538565009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538565009" xlink:to="us-gaap_SellingExpense_638015757538565009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638015757538565009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757538565009" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638015757538565009" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xlink:type="extended" xlink:title="40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638015757538565009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638015757538565009" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638015757538565009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538565009" xlink:to="srt_ProductOrServiceAxis_638015757538565009" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638015757538565009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638015757538565009" xlink:to="srt_ProductsAndServicesDomain_638015757538565009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember_638015757538565009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757538565009" xlink:to="us-gaap_GrantMember_638015757538565009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638015757538575022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638015757538565009" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638015757538575022" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638015757538575022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638015757538575022" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638015757538575022" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638015757538575022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638015757538575022" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638015757538575022" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638015757538575022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638015757538575022" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638015757538575022" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638015757538575022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638015757538575022" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638015757538575022" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" priority="9" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xlink:type="extended" xlink:title="40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable_638015757538575022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ProductWarrantyLiabilityTable_638015757538575022" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757538575022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638015757538575022" xlink:to="srt_RangeAxis_638015757538575022" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757538575022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757538575022" xlink:to="srt_RangeMember_638015757538575022" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757538575022" xlink:to="srt_MinimumMember_638015757538585035" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757538575022" xlink:to="srt_MaximumMember_638015757538585035" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638015757538575022" xlink:to="srt_ProductOrServiceAxis_638015757538585035" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638015757538585035" xlink:to="srt_ProductsAndServicesDomain_638015757538585035" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_StandardSolarModuleMember" xlink:label="csiq_StandardSolarModuleMember_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757538585035" xlink:to="csiq_StandardSolarModuleMember_638015757538585035" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerProjectMember" xlink:label="csiq_SolarPowerProjectMember_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757538585035" xlink:to="csiq_SolarPowerProjectMember_638015757538585035" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757538585035" xlink:to="csiq_BifacialModuleAndDoubleGlassModuleMember_638015757538585035" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638015757538575022" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_638015757538585035" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_638015757538585035" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_638015757538585035" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638015757538585035" xlink:to="csiq_MaterialAndWorkmanShipMember_638015757538585035" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EightyPercentInitialPowerCapacityMember" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_638015757538585035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638015757538585035" xlink:to="csiq_EightyPercentInitialPowerCapacityMember_638015757538585035" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_638015757538595037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638015757538585035" xlink:to="csiq_NinetySevenPercentInitialPowerCapacityMember_638015757538595037" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NinetyThreeInitialPowerCapacityMember" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_638015757538595037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638015757538585035" xlink:to="csiq_NinetyThreeInitialPowerCapacityMember_638015757538595037" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638015757538575022" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_638015757538595037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_638015757538595037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InsurancePolicyTerm" xlink:label="csiq_InsurancePolicyTerm_638015757538595037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="csiq_InsurancePolicyTerm_638015757538595037" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_StandardProductWarrantyPeriod" xlink:label="csiq_StandardProductWarrantyPeriod_638015757538595037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="csiq_StandardProductWarrantyPeriod_638015757538595037" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_638015757538595037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_638015757538595037" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_638015757538595037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_638015757538595037" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_638015757538595037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent_638015757538595037" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_638015757538605030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent_638015757538605030" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_638015757538605030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_638015757538605030" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_638015757538605030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="csiq_OtherNoncurrentAssetsAdjustment_638015757538605030" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense_638015757538605030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="us-gaap_ProductWarrantyExpense_638015757538605030" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_638015757538605030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_638015757538605030" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_638015757538605030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638015757538595037" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_638015757538605030" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xlink:type="extended" xlink:title="40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_638015757538615006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskTable_638015757538615006" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638015757538615006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638015757538615006" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638015757538615006" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638015757538615006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638015757538615006" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638015757538615006" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplierConcentrationRiskMember" xlink:label="us-gaap_SupplierConcentrationRiskMember_638015757538615006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638015757538615006" xlink:to="us-gaap_SupplierConcentrationRiskMember_638015757538615006" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_638015757538615006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638015757538615006" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_638015757538615006" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638015757538615006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_638015757538615006" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638015757538615006" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SupplierMember" xlink:label="csiq_SupplierMember_638015757538615006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638015757538615006" xlink:to="csiq_SupplierMember_638015757538615006" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SupplierBMember" xlink:label="csiq_SupplierBMember_638015757538615006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638015757538615006" xlink:to="csiq_SupplierBMember_638015757538615006" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SupplierCMember" xlink:label="csiq_SupplierCMember_638015757538625071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638015757538615006" xlink:to="csiq_SupplierCMember_638015757538625071" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems_638015757538625071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638015757538615006" xlink:to="us-gaap_ConcentrationRiskLineItems_638015757538625071" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_638015757538625071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638015757538625071" xlink:to="us-gaap_AdvancesOnInventoryPurchases_638015757538625071" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xlink:type="extended" xlink:title="40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638015757538625071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638015757538625071" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_638015757538625071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638015757538625071" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_638015757538625071" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_638015757538625071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_638015757538625071" xlink:to="us-gaap_TypeOfAdoptionMember_638015757538625071" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdate202004Member" xlink:label="us-gaap_AccountingStandardsUpdate202004Member_638015757538625071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfAdoptionMember_638015757538625071" xlink:to="us-gaap_AccountingStandardsUpdate202004Member_638015757538625071" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638015757538625071" xlink:to="us-gaap_VariableRateAxis_638015757538635035" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis_638015757538635035" xlink:to="us-gaap_VariableRateDomain_638015757538635035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_638015757538635035" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember_638015757538635035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638015757538625071" xlink:to="srt_StatementScenarioAxis_638015757538635035" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_638015757538635035" xlink:to="srt_ScenarioUnspecifiedDomain_638015757538635035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_638015757538635035" xlink:to="srt_ScenarioForecastMember_638015757538635035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638015757538625071" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_638015757538635035" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_638015757538635035" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638015757538635035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_638015757538635035" xlink:to="us-gaap_OperatingLeaseLiability_638015757538635035" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_638015757538635035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_638015757538635035" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_638015757538635035" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xlink:type="extended" xlink:title="40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_637531197624997753" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638015757538645025" />
    <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_638015757538645025" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_638015757538645025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638015757538645025" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis_638015757538645025" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_638015757538645025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis_638015757538645025" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_638015757538645025" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_638015757538645025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CumulativeEffectPeriodOfAdoptionDomain_638015757538645025" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_638015757538645025" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757538645025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638015757538645025" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757538645025" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638015757538645025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757538645025" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638015757538645025" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember_638015757538655007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638015757538645025" xlink:to="us-gaap_AllowanceForCreditLossMember_638015757538655007" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_638015757538655007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638015757538645025" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_638015757538655007" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember_638015757538655007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638015757538645025" xlink:to="csiq_AllowanceForOtherReceivablesMember_638015757538655007" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AdvancesToSuppliersAndOtherReceivableMember" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember_638015757538655007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638015757538645025" xlink:to="csiq_AdvancesToSuppliersAndOtherReceivableMember_638015757538655007" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538655007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638015757538645025" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538655007" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638015757538655007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538655007" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638015757538655007" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638015757538655007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538655007" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638015757538655007" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638015757538655007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538655007" xlink:to="us-gaap_AccountsReceivableNetCurrent_638015757538655007" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757538655007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638015757538655007" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757538655007" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638015757538665000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757538655007" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638015757538665000" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638015757538665000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757538655007" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638015757538665000" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_638015757538665000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757538655007" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_638015757538665000" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638015757538665000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757538655007" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638015757538665000" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6380157575386650001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757538655007" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6380157575386650001" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xlink:type="extended" xlink:title="40401 - Disclosure - INVENTORIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638015757538665000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638015757538665000" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_638015757538675020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638015757538665000" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_638015757538675020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_638015757538675020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638015757538665000" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_638015757538675020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_638015757538675020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638015757538665000" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_638015757538675020" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638015757538675020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638015757538665000" xlink:to="us-gaap_InventoryNet_638015757538675020" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FinishedGoodsModules" xlink:label="csiq_FinishedGoodsModules_638015757538675020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="csiq_FinishedGoodsModules_638015757538675020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_638015757538675020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_638015757538675020" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638015757538675020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryWriteDown_638015757538675020" 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-20211231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract_635640936816385218" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_638015757538675020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_638015757538675020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638015757538675020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638015757538675020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand_638015757538685009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLand_638015757538685009" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638015757538685009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638015757538685009" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638015757538685009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638015757538685009" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638015757538685009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsImpairmentCharge_638015757538685009" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538685009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538685009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638015757538685009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538685009" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638015757538685009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538685009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638015757538685009" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538685009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_638015757538685009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538685009" xlink:to="us-gaap_BuildingMember_638015757538685009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember_638015757538685009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538685009" xlink:to="us-gaap_LeaseholdImprovementsMember_638015757538685009" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538685009" xlink:to="us-gaap_MachineryAndEquipmentMember_638015757538695035" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538685009" xlink:to="us-gaap_FurnitureAndFixturesMember_638015757538695035" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538685009" xlink:to="us-gaap_VehiclesMember_638015757538695035" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538685009" xlink:to="us-gaap_LandMember_638015757538695035" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538685009" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538695035" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538695035" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638015757538695035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538695035" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638015757538695035" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AccumulatedAssetImpairmentCharges" xlink:label="csiq_AccumulatedAssetImpairmentCharges_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538695035" xlink:to="csiq_AccumulatedAssetImpairmentCharges_638015757538695035" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538695035" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638015757538695035" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538695035" xlink:to="us-gaap_ConstructionInProgressGross_638015757538695035" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638015757538695035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538695035" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638015757538695035" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638015757538704768" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538695035" xlink:to="us-gaap_Depreciation_638015757538704768" order="7" 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-20211231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538704768" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538704768" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638015757538704768" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538704768" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638015757538704768" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538704768" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638015757538704768" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538704768" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember_638015757538704768" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538704768" xlink:to="us-gaap_ElectricGenerationEquipmentMember_638015757538704768" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember_638015757538704768" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638015757538704768" xlink:to="us-gaap_AssetUnderConstructionMember_638015757538704768" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538704768" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638015757538704768" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538704768" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638015757538704768" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538704768" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638015757538704768" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_638015757538704768" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538704768" xlink:to="csiq_SolarPowerSystems_638015757538704768" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638015757538715009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638015757538704768" xlink:to="us-gaap_Depreciation_638015757538715009" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xlink:type="extended" xlink:title="40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638015757538715009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638015757538715009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638015757538715009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638015757538715009" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638015757538715009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638015757538715009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638015757538715009" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638015757538715009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_638015757538715009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638015757538715009" xlink:to="us-gaap_DevelopedTechnologyRightsMember_638015757538715009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638015757538715009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638015757538715009" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638015757538715009" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538715009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638015757538715009" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538715009" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538715009" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638015757538724779" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538715009" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638015757538724779" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538715009" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638015757538724779" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538715009" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638015757538724779" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638015757538715009" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638015757538724779" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638015757538724779" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638015757538724779" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638015757538724779" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638015757538724779" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638015757538724779" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638015757538724779" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638015757538724779" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638015757538724779" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638015757538724779" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638015757538724779" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_638015757538724779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638015757538724779" xlink:to="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_638015757538724779" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xlink:type="extended" xlink:title="40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638015757538735027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638015757538735027" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638015757538735027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638015757538735027" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638015757538735027" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638015757538735027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638015757538735027" xlink:to="us-gaap_DerivativeContractTypeDomain_638015757538735027" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_638015757538735027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638015757538735027" xlink:to="us-gaap_InterestRateSwapMember_638015757538735027" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_638015757538735027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638015757538735027" xlink:to="us-gaap_HedgingDesignationAxis_638015757538735027" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638015757538735027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_638015757538735027" xlink:to="us-gaap_HedgingDesignationDomain_638015757538735027" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_638015757538735027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_638015757538735027" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_638015757538735027" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_638015757538745020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638015757538735027" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_638015757538745020" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain_638015757538745020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_638015757538745020" xlink:to="us-gaap_HedgingRelationshipDomain_638015757538745020" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowHedgingMember" xlink:label="us-gaap_CashFlowHedgingMember_638015757538745020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingRelationshipDomain_638015757538745020" xlink:to="us-gaap_CashFlowHedgingMember_638015757538745020" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638015757538745020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638015757538735027" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638015757538745020" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount_638015757538745020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638015757538745020" xlink:to="us-gaap_DerivativeNotionalAmount_638015757538745020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xlink:type="extended" xlink:title="40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638015757538745020" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638015757538745020" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638015757538745020" xlink:to="us-gaap_BalanceSheetLocationAxis_638015757538755287" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638015757538755287" xlink:to="us-gaap_BalanceSheetLocationDomain_638015757538755287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638015757538755287" xlink:to="csiq_DerivativesAssetsCurrentMember_638015757538755287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncurrentAssetsMember" xlink:label="us-gaap_OtherNoncurrentAssetsMember_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638015757538755287" xlink:to="us-gaap_OtherNoncurrentAssetsMember_638015757538755287" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638015757538755287" xlink:to="csiq_DerivativesLiabilitiesCurrentMember_638015757538755287" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638015757538745020" xlink:to="us-gaap_HedgingDesignationAxis_638015757538755287" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_638015757538755287" xlink:to="us-gaap_HedgingDesignationDomain_638015757538755287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_638015757538755287" xlink:to="us-gaap_NondesignatedMember_638015757538755287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638015757538745020" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638015757538755287" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638015757538755287" xlink:to="us-gaap_DerivativeContractTypeDomain_638015757538755287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_638015757538755287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638015757538755287" xlink:to="us-gaap_ForeignExchangeForwardMember_638015757538755287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember_638015757538765100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638015757538755287" xlink:to="us-gaap_ForeignExchangeOptionMember_638015757538765100" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_638015757538765100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638015757538755287" xlink:to="us-gaap_InterestRateSwapMember_638015757538765100" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems_638015757538765100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638015757538745020" xlink:to="us-gaap_DerivativesFairValueLineItems_638015757538765100" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_638015757538765100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638015757538765100" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_638015757538765100" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_638015757538765100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638015757538765100" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_638015757538765100" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xlink:type="extended" xlink:title="40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638015757538765100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638015757538765100" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638015757538775231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638015757538765100" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638015757538775231" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638015757538775231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638015757538775231" xlink:to="us-gaap_DerivativeContractTypeDomain_638015757538775231" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_638015757538775231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638015757538775231" xlink:to="us-gaap_ForeignExchangeForwardMember_638015757538775231" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember_638015757538775231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638015757538775231" xlink:to="us-gaap_ForeignExchangeOptionMember_638015757538775231" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember_638015757538775231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638015757538775231" xlink:to="us-gaap_CommodityContractMember_638015757538775231" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_638015757538775231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638015757538775231" xlink:to="us-gaap_InterestRateSwapMember_638015757538775231" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_638015757538775231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638015757538765100" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_638015757538775231" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_638015757538775231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems_638015757538775231" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_638015757538775231" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </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/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638015757538785076" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_AssetImpairmentCharges_638015757538785076" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638015757538785076" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_LongTermNotesAndLoans_638015757538785076" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_638015757538785076" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_ConvertibleLongTermNotesPayable_638015757538785076" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638015757538785076" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="csiq_ProjectAssetsImpairmentCharge_638015757538785076" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementListedEquitySecuritiesDetails" xlink:type="extended" xlink:title="40905 - Disclosure - FAIR VALUE MEASUREMENT - Listed equity securities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent" xlink:label="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_638015757538795402" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_638015757538795402" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_638015757538795402" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_638015757538795402" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFVNINoncurrent" xlink:label="us-gaap_EquitySecuritiesFVNINoncurrent_638015757538795402" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_EquitySecuritiesFVNINoncurrent_638015757538795402" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable_638015757538795402" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable_638015757538795402" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638015757538795402" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable_638015757538795402" xlink:to="srt_ConsolidatedEntitiesAxis_638015757538795402" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638015757538795402" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638015757538795402" xlink:to="srt_ConsolidatedEntitiesDomain_638015757538795402" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638015757538795402" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638015757538805303" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable_638015757538795402" xlink:to="us-gaap_VariableInterestEntityLineItems_638015757538805303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638015757538805303" xlink:to="us-gaap_Cash_638015757538805303" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638015757538805303" xlink:to="csiq_ProjectAssets_638015757538805303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638015757538805303" xlink:to="us-gaap_OtherAssets_638015757538805303" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638015757538805303" xlink:to="us-gaap_Assets_638015757538805303" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638015757538805303" xlink:to="us-gaap_ShortTermBorrowings_638015757538805303" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638015757538805303" xlink:to="us-gaap_LongTermDebt_638015757538805303" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638015757538805303" xlink:to="us-gaap_OtherLiabilities_638015757538805303" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638015757538805303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638015757538805303" xlink:to="us-gaap_Liabilities_638015757538805303" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xlink:type="extended" xlink:title="41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538815114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538815114" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757538815114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538815114" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757538815114" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638015757538875118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757538815114" xlink:to="srt_EquityMethodInvesteeNameDomain_638015757538875118" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember_638015757538875118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538875118" xlink:to="csiq_ReRoserockHoldingsLlcMember_638015757538875118" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638015757538875118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538875118" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638015757538875118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638015757538875118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538875118" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638015757538875118" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538875118" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember_638015757538885249" order="4" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538875118" xlink:to="csiq_OtherEquityMethodInvesteesMember_638015757538885249" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538875118" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember_638015757538885249" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538815114" xlink:to="srt_RangeAxis_638015757538885249" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757538885249" xlink:to="srt_RangeMember_638015757538885249" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757538885249" xlink:to="srt_MinimumMember_638015757538885249" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757538885249" xlink:to="srt_MaximumMember_638015757538885249" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538815114" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538885249" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538885249" xlink:to="us-gaap_EquityMethodInvestments_638015757538885249" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638015757538885249" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538885249" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638015757538885249" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xlink:type="extended" xlink:title="41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_635950250257099234" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538895120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_635950250257099234" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538895120" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757538895120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538895120" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757538895120" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638015757538895120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757538895120" xlink:to="srt_EquityMethodInvesteeNameDomain_638015757538895120" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember_638015757538895120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538895120" xlink:to="csiq_ReRoserockHoldingsLlcMember_638015757538895120" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_TaxEquityTransactionsLineItems" xlink:label="csiq_TaxEquityTransactionsLineItems_638015757538895120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538895120" xlink:to="csiq_TaxEquityTransactionsLineItems_638015757538895120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_638015757538895120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_638015757538895120" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold_638015757538895120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638015757538895120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_638015757538895120" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638015757538895120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638015757538895120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_638015757538895120" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638015757538895120" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets_638015757538905221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_638015757538895120" xlink:to="csiq_DecreaseOfNetAssets_638015757538905221" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xlink:type="extended" xlink:title="41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538905221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538905221" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757538905221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538905221" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757538905221" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638015757538905221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757538905221" xlink:to="srt_EquityMethodInvesteeNameDomain_638015757538905221" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember_638015757538905221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538905221" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember_638015757538905221" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638015757538905221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538905221" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638015757538905221" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638015757538905221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538905221" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638015757538905221" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638015757538905221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538905221" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638015757538905221" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757538905221" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember_638015757538915088" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538905221" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_638015757538915088" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis_638015757538915088" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_638015757538915088" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IPOMember" xlink:label="us-gaap_IPOMember_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain_638015757538915088" xlink:to="us-gaap_IPOMember_638015757538915088" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain_638015757538915088" xlink:to="us-gaap_PrivatePlacementMember_638015757538915088" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538905221" xlink:to="dei_LegalEntityAxis_638015757538915088" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638015757538915088" xlink:to="dei_EntityDomain_638015757538915088" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757538915088" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638015757538915088" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638015757538905221" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_638015757538915088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_638015757538915088" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638015757538925116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638015757538925116" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638015757538925116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638015757538925116" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_638015757538925116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="us-gaap_ImpairmentOfInvestments_638015757538925116" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638015757538925116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638015757538925116" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice_638015757538925116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="us-gaap_SharePrice_638015757538925116" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfUnitsPurchased" xlink:label="csiq_NumberOfUnitsPurchased_638015757538925116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="csiq_NumberOfUnitsPurchased_638015757538925116" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_638015757538925116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold_638015757538925116" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638015757538934843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638015757538934843" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets_638015757538934843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638015757538915088" xlink:to="csiq_DecreaseOfNetAssets_638015757538934843" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xlink:type="extended" xlink:title="41201 - Disclosure - LEASE - Lease expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638015757538934843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638015757538934843" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757538934843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638015757538934843" xlink:to="srt_RangeAxis_638015757538934843" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757538934843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757538934843" xlink:to="srt_RangeMember_638015757538934843" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757538934843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757538934843" xlink:to="srt_MaximumMember_638015757538934843" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638015757538934843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638015757538934843" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638015757538934843" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract_638015757538944929" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638015757538934843" xlink:to="us-gaap_LeaseCostAbstract_638015757538944929" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638015757538944929" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638015757538944929" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638015757538944929" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense_638015757538944929" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638015757538944929" xlink:to="us-gaap_FinanceLeaseInterestExpense_638015757538944929" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_638015757538944929" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638015757538944929" xlink:to="us-gaap_OperatingLeaseCost_638015757538944929" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_638015757538944929" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638015757538944929" xlink:to="us-gaap_ShortTermLeaseCost_638015757538944929" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost_638015757538944929" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638015757538944929" xlink:to="us-gaap_LeaseCost_638015757538944929" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_638015757538944929" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638015757538934843" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_638015757538944929" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails" xlink:type="extended" xlink:title="41202 - Disclosure - LEASE - Cash flow (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_638015757538955003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability_638015757538955003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_638015757538955003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeasePayments_638015757538955003" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_638015757538955003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_638015757538955003" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638015757538955003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638015757538955003" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_638015757538955003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_638015757538955003" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_638015757538955003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_638015757538955003" 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="41203 - Disclosure - LEASE - Additional information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638015757538965041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638015757538965041" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_638015757538965041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_638015757538965041" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638015757538965041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638015757538965041" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_638015757538965041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_638015757538965041" 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="41204 - Disclosure - LEASE - Operating leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538965041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538965041" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538974973" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538974973" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_6380157575389749731" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538974973" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_6380157575389749731" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_6380157575389749731" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538974973" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_6380157575389749731" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_6380157575389749731" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538974973" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_6380157575389749731" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638015757538984779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538974973" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638015757538984779" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638015757538984779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538974973" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638015757538984779" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638015757538984779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538974973" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638015757538984779" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638015757538984779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638015757538974973" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638015757538984779" 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="41205 - Disclosure - LEASE - Operating leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638015757538995034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638015757538995034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638015757538995034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638015757538995034" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638015757538995034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638015757538995034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638015757538995034" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638015757538995034" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638015757538995034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638015757538995034" xlink:to="us-gaap_OperatingLeaseLiability_638015757538995034" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41206 - Disclosure - LEASE - Finance leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757538995034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757538995034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638015757538995034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757538995034" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638015757538995034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638015757538995034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757538995034" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638015757538995034" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638015757538995034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757538995034" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638015757538995034" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_638015757539005025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757538995034" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_638015757539005025" order="4" 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="41207 - Disclosure - LEASE - Finance leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757539005025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757539005025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638015757539005025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757539005025" xlink:to="us-gaap_FinanceLeaseLiability_638015757539005025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_638015757539005025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757539005025" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_638015757539005025" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638015757539005025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638015757539005025" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638015757539005025" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41208 - Disclosure - LEASE - Total leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638015757539005025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638015757539005025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_638015757539014787" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_638015757539014787" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_638015757539014787" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_638015757539014787" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638015757539014787" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDue_638015757539014787" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_638015757539014787" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_638015757539014787" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_638015757539014787" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_638015757539014787" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_638015757539014787" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter_638015757539014787" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter_638015757539014787" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_638015757539025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDue_638015757539025007" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41209 - Disclosure - LEASE - Total leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue_638015757539025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDue_638015757539025007" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_638015757539025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_638015757539025007" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_638015757539025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeaseLiability_638015757539025007" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_638015757539025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDue_638015757539025007" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_638015757539025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_638015757539025007" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_638015757539025007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_638015757539025007" order="6" 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="41210 - Disclosure - LEASE - Total leases - Summary (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent_638015757539034958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="csiq_LeaseLiabilityCurrent_638015757539034958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent_638015757539034958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="csiq_LeaseLiabilityNoncurrent_638015757539034958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_638015757539034958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="csiq_LeaseLiability_638015757539034958" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638015757539034958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638015757539034958" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638015757539034958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638015757539034958" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638015757539034958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="us-gaap_OperatingLeaseLiability_638015757539034958" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_638015757539034958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_638015757539034958" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638015757539034958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638015757539034958" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638015757539045178" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638015757539045178" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638015757539045178" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638015757539045178" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638015757539045178" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638015757539034958" xlink:to="us-gaap_FinanceLeaseLiability_638015757539045178" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - BORROWINGS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638015757539045178" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_638015757539045178" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638015757539045178" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539045178" xlink:to="us-gaap_CreditFacilityAxis_638015757539045178" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638015757539045178" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638015757539045178" xlink:to="us-gaap_CreditFacilityDomain_638015757539045178" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember_638015757539054794" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638015757539045178" xlink:to="us-gaap_LineOfCreditMember_638015757539054794" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_WorkingCapitalFacilityMember" xlink:label="csiq_WorkingCapitalFacilityMember_638015757539054794" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638015757539045178" xlink:to="csiq_WorkingCapitalFacilityMember_638015757539054794" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NonBindingLineOfCreditMember" xlink:label="csiq_NonBindingLineOfCreditMember_638015757539054794" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638015757539045178" xlink:to="csiq_NonBindingLineOfCreditMember_638015757539054794" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShortTermNotePayableMember" xlink:label="csiq_ShortTermNotePayableMember_638015757539054794" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638015757539045178" xlink:to="csiq_ShortTermNotePayableMember_638015757539054794" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonrecourseMember" xlink:label="us-gaap_NonrecourseMember_638015757539054794" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638015757539045178" xlink:to="us-gaap_NonrecourseMember_638015757539054794" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638015757539054794" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539045178" xlink:to="dei_LegalEntityAxis_638015757539054794" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638015757539054794" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638015757539054794" xlink:to="dei_EntityDomain_638015757539054794" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" xlink:label="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_638015757539054794" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539054794" xlink:to="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_638015757539054794" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" xlink:label="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539054794" xlink:to="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_638015757539064837" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539054794" xlink:to="csiq_CanadianSolarProjectKKMember_638015757539064837" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539054794" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638015757539064837" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539054794" xlink:to="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_638015757539064837" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FourJapaneseSubsidiariesMember" xlink:label="csiq_FourJapaneseSubsidiariesMember_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539054794" xlink:to="csiq_FourJapaneseSubsidiariesMember_638015757539064837" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember" xlink:label="csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539054794" xlink:to="csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_638015757539064837" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539054794" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member_638015757539064837" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusAxis" xlink:label="us-gaap_PledgedStatusAxis_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539045178" xlink:to="us-gaap_PledgedStatusAxis_638015757539064837" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusDomain" xlink:label="us-gaap_PledgedStatusDomain_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PledgedStatusAxis_638015757539064837" xlink:to="us-gaap_PledgedStatusDomain_638015757539064837" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetPledgedAsCollateralWithoutRightMember" xlink:label="us-gaap_AssetPledgedAsCollateralWithoutRightMember_638015757539064837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PledgedStatusDomain_638015757539064837" xlink:to="us-gaap_AssetPledgedAsCollateralWithoutRightMember_638015757539064837" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638015757539074971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539045178" xlink:to="us-gaap_DebtInstrumentLineItems_638015757539074971" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638015757539074971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638015757539074971" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings_638015757539074971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638015757539074971" xlink:to="us-gaap_OtherShortTermBorrowings_638015757539074971" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_638015757539074971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638015757539074971" xlink:to="us-gaap_LongTermDebtCurrent_638015757539074971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_638015757539074971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638015757539074971" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_638015757539074971" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent_638015757539074971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638015757539074971" xlink:to="us-gaap_DebtCurrent_638015757539074971" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638015757539074971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638015757539074971" xlink:to="us-gaap_LongTermNotesAndLoans_638015757539074971" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_638015757539074971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638015757539074971" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_638015757539074971" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebt" xlink:label="us-gaap_SecuredDebt_638015757539084958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638015757539074971" xlink:to="us-gaap_SecuredDebt_638015757539084958" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638015757539084958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638015757539084958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_638015757539084958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_LineOfCredit_638015757539084958" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AdditionalAmountDrawnOfUnderBorrowing" xlink:label="csiq_AdditionalAmountDrawnOfUnderBorrowing_638015757539084958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_AdditionalAmountDrawnOfUnderBorrowing_638015757539084958" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfLineOfCreditFacility" xlink:label="csiq_NumberOfLineOfCreditFacility_638015757539084958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_NumberOfLineOfCreditFacility_638015757539084958" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638015757539084958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638015757539084958" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_638015757539084958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_638015757539084958" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_638015757539094779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedInventory_638015757539094779" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_638015757539094779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_638015757539094779" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_638015757539094779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_638015757539094779" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_638015757539094779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_638015757539094779" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PledgedEquityNotSeparatelyReported" xlink:label="csiq_PledgedEquityNotSeparatelyReported_638015757539094779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_PledgedEquityNotSeparatelyReported_638015757539094779" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_638015757539094779" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_638015757539094779" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt_638015757539105084" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_SecuredShortTermDebt_638015757539105084" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="us-gaap_OtherLongTermDebtCurrent_638015757539105084" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_OtherLongTermDebtCurrent_638015757539105084" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtCurrent" xlink:label="us-gaap_SecuredDebtCurrent_638015757539105084" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_SecuredDebtCurrent_638015757539105084" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt_638015757539105084" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_SecuredLongTermDebt_638015757539105084" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_638015757539105084" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_638015757539105084" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt_638015757539105084" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt_638015757539105084" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit_638015757539114970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_ProceedsFromLinesOfCredit_638015757539114970" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount_638015757539114970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_DebtInstrumentFaceAmount_638015757539114970" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm_638015757539114970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_DebtInstrumentTerm_638015757539114970" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfOtherParticipatingFinancialInstitutions" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions_638015757539114970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_NumberOfOtherParticipatingFinancialInstitutions_638015757539114970" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638015757539114970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638015757539114970" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_638015757539124875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="us-gaap_LineOfCredit_638015757539124875" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AmountOfDevelopmentLoan" xlink:label="csiq_AmountOfDevelopmentLoan_638015757539124875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_AmountOfDevelopmentLoan_638015757539124875" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_TotalAmountOfMatures" xlink:label="csiq_TotalAmountOfMatures_638015757539124875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539074971" xlink:to="csiq_TotalAmountOfMatures_638015757539124875" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails" xlink:type="extended" xlink:title="41302 - Disclosure - BORROWINGS - Short term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638015757539134959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ShortTermBorrowings_638015757539134959" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xlink:type="extended" xlink:title="41303 - Disclosure - BORROWINGS - Long term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract_635942437309799352" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638015757539134959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_635942437309799352" xlink:to="us-gaap_DebtInstrumentTable_638015757539134959" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757539134959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539134959" xlink:to="srt_RangeAxis_638015757539134959" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757539134959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757539134959" xlink:to="srt_RangeMember_638015757539134959" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638015757539134959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539134959" xlink:to="srt_MinimumMember_638015757539134959" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757539134959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539134959" xlink:to="srt_MaximumMember_638015757539134959" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539134959" xlink:to="us-gaap_DebtInstrumentLineItems_638015757539145019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539145019" xlink:to="us-gaap_LongTermNotesAndLoans_638015757539145019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539145019" xlink:to="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_638015757539145019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539145019" xlink:to="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638015757539145019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638015757539145019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638015757539145019" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638015757539145019" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638015757539145019" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638015757539145019" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638015757539145019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" xlink:to="us-gaap_LongTermDebt_638015757539145019" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent_638015757539154979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" xlink:to="us-gaap_LoansPayableCurrent_638015757539154979" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638015757539154979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638015757539145019" xlink:to="us-gaap_LongTermNotesAndLoans_638015757539154979" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xlink:type="extended" xlink:title="41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638015757539154979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_638015757539154979" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638015757539154979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539154979" xlink:to="us-gaap_LongtermDebtTypeAxis_638015757539154979" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638015757539154979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638015757539154979" xlink:to="us-gaap_LongtermDebtTypeDomain_638015757539154979" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnsecuredDebtMember" xlink:label="us-gaap_UnsecuredDebtMember_638015757539165045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638015757539154979" xlink:to="us-gaap_UnsecuredDebtMember_638015757539165045" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_638015757539165045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638015757539154979" xlink:to="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_638015757539165045" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638015757539165045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539154979" xlink:to="us-gaap_DebtInstrumentLineItems_638015757539165045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_638015757539165045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539165045" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage_638015757539165045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract_638015757539165045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539165045" xlink:to="us-gaap_InterestCostsIncurredAbstract_638015757539165045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_638015757539165045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638015757539165045" xlink:to="csiq_InterestCostsCapitalizedProjectAssets_638015757539165045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_638015757539165045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638015757539165045" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_638015757539165045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638015757539165045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638015757539165045" xlink:to="us-gaap_InterestExpense_638015757539165045" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred_638015757539165045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638015757539165045" xlink:to="us-gaap_InterestCostsIncurred_638015757539165045" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails" xlink:type="extended" xlink:title="41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableAbstract" xlink:label="NotesPayableAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_638015757539175035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NotesPayableAbstract" xlink:to="csiq_ShortTermNotesPayable_638015757539175035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails" xlink:type="extended" xlink:title="41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638015757539175035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638015757539175035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_638015757539175035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638015757539175035" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_638015757539175035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_638015757539175035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638015757539175035" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_638015757539175035" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments_638015757539175035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638015757539175035" xlink:to="us-gaap_ProductWarrantyAccrualPayments_638015757539175035" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_638015757539175035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638015757539175035" xlink:to="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_638015757539175035" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_6380157575391750351" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638015757539175035" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_6380157575391750351" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails" xlink:type="extended" xlink:title="41601 - Disclosure - RESTRICTED NET ASSETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_638015757539184973" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_638015757539184973" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638015757539184973" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638015757539184973" 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-20211231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract_635641163295069987" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638015757539184973" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ConvertibleNotesDisclosureAbstract_635641163295069987" xlink:to="us-gaap_DebtInstrumentTable_638015757539184973" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638015757539184973" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539184973" xlink:to="us-gaap_LongtermDebtTypeAxis_638015757539184973" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638015757539184973" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638015757539184973" xlink:to="us-gaap_LongtermDebtTypeDomain_638015757539184973" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember_638015757539184973" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638015757539184973" xlink:to="us-gaap_ConvertibleDebtMember_638015757539184973" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638015757539184973" xlink:to="us-gaap_DebtInstrumentLineItems_638015757539194957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="csiq_ProceedsFromConvertibleDebtInitialIssuance_638015757539194957" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_638015757539194957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_638015757539194957" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638015757539194957" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1_638015757539194957" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment_638015757539194957" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_638015757539194957" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_638015757539194957" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_638015757539194957" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_638015757539194957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_638015757539194957" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_638015757539204980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_638015757539204980" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_638015757539204980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_638015757539204980" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross_638015757539204980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_DeferredFinanceCostsGross_638015757539204980" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638015757539204980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638015757539204980" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_638015757539204980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_AmortizationOfFinancingCosts_638015757539204980" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_638015757539204980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization_638015757539204980" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent_638015757539204980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638015757539194957" xlink:to="us-gaap_InterestPayableCurrent_638015757539204980" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxContingencyTable_638015757539214977" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638015757539214977" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638015757539214977" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638015757539214977" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638015757539214977" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539214977" xlink:to="country_CA_638015757539214977" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539214977" xlink:to="country_US_638015757539214977" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539214977" xlink:to="country_CN_638015757539214977" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539214977" xlink:to="country_JP_638015757539214977" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539214977" xlink:to="csiq_OtherJurisdictionsMember_638015757539214977" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638015757539214977" xlink:to="us-gaap_IncomeTaxContingencyLineItems_638015757539214977" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539214977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638015757539214977" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539214977" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_638015757539224976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539214977" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_638015757539224976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638015757539224976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_638015757539224976" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638015757539224976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539224976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539214977" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539224976" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638015757539224976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539224976" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638015757539224976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539224976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539214977" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539224976" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638015757539224976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539224976" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638015757539224976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539224976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539214977" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539224976" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638015757539224976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_638015757539224976" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638015757539224976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xlink:type="extended" xlink:title="41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable_638015757539235009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxContingencyTable_638015757539235009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638015757539235009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638015757539235009" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638015757539235009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638015757539235009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638015757539235009" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638015757539235009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember_638015757539235009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539235009" xlink:to="us-gaap_DomesticCountryMember_638015757539235009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US_638015757539235009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539235009" xlink:to="country_US_638015757539235009" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP_638015757539235009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539235009" xlink:to="country_JP_638015757539235009" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_DE" xlink:label="country_DE_638015757539235009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539235009" xlink:to="country_DE_638015757539235009" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_VN" xlink:label="country_VN_638015757539235009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539235009" xlink:to="country_VN_638015757539235009" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH_638015757539235009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539235009" xlink:to="country_TH_638015757539235009" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_HK" xlink:label="country_HK_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638015757539235009" xlink:to="country_HK_638015757539245029" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638015757539235009" xlink:to="dei_LegalEntityAxis_638015757539245029" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638015757539245029" xlink:to="dei_EntityDomain_638015757539245029" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539245029" xlink:to="csiq_CanadianSolarSolutionsIncMember_638015757539245029" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539245029" xlink:to="csiq_CanadianSolarUSAIncMember_638015757539245029" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEnergyAcquisitionCo.Member" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.Member_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539245029" xlink:to="csiq_CanadianSolarEnergyAcquisitionCo.Member_638015757539245029" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539245029" xlink:to="csiq_CanadianSolarJapanKKMember_638015757539245029" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539245029" xlink:to="csiq_CanadianSolarEMEAGmbHMember_638015757539245029" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539245029" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_638015757539245029" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember_638015757539245029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539245029" xlink:to="csiq_CanadianSolarInternationalLtdMember_638015757539245029" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638015757539254969" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757539245029" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638015757539254969" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems_638015757539254969" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638015757539235009" xlink:to="us-gaap_IncomeTaxContingencyLineItems_638015757539254969" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638015757539265228" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638015757539254969" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638015757539265228" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncomeTaxesForeignCorporateTaxRate" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_638015757539265228" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638015757539254969" xlink:to="csiq_IncomeTaxesForeignCorporateTaxRate_638015757539265228" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_638015757539265228" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638015757539254969" xlink:to="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_638015757539265228" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_638015757539265228" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638015757539254969" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_638015757539265228" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_638015757539265228" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638015757539254969" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_638015757539265228" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638015757539275034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638015757539254969" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638015757539275034" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638015757539275034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638015757539254969" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638015757539275034" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638015757539275034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638015757539275034" xlink:to="us-gaap_UnrecognizedTaxBenefits_638015757539275034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_638015757539275034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638015757539275034" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_638015757539275034" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638015757539275034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638015757539275034" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638015757539275034" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_638015757539275034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638015757539275034" xlink:to="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_638015757539275034" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_638015757539275034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638015757539275034" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_638015757539275034" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_638015757539285029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638015757539275034" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_638015757539285029" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638015757539285029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638015757539275034" xlink:to="us-gaap_UnrecognizedTaxBenefits_638015757539285029" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638015757539285029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_StatementTable_638015757539285029" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757539285029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757539285029" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757539285029" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757539285029" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638015757539294781" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638015757539294781" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638015757539294781" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757539285029" xlink:to="us-gaap_StatementLineItems_638015757539294781" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539294781" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638015757539294781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638015757539294781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638015757539294781" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsInventory_638015757539294781" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638015757539294781" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638015757539294781" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638015757539294781" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638015757539294781" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638015757539304999" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638015757539304999" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638015757539304999" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638015757539304999" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638015757539304999" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638015757539304999" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_638015757539304999" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_638015757539304999" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638015757539304999" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsOther_638015757539304999" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638015757539304999" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsGross_638015757539304999" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638015757539304999" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638015757539304999" order="13" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638015757539304999" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxAssetsNet_638015757539304999" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_638015757539304999" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_638015757539304999" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_638015757539315033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638015757539304999" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_638015757539315033" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638015757539315033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638015757539304999" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638015757539315033" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638015757539315033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638015757539304999" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638015757539315033" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638015757539315033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638015757539304999" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638015757539315033" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638015757539315033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638015757539304999" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638015757539315033" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638015757539315033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638015757539304999" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638015757539315033" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_638015757539315033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638015757539294781" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_638015757539315033" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638015757539325026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_638015757539315033" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638015757539325026" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638015757539325026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_638015757539315033" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638015757539325026" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_638015757539325026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_638015757539315033" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_638015757539325026" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards_638015757539325026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539294781" xlink:to="us-gaap_OperatingLossCarryforwards_638015757539325026" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_638015757539325026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539294781" xlink:to="csiq_OperatingLossCarryforwardsSubjectToExpiration_638015757539325026" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xlink:type="extended" xlink:title="41804 - Disclosure - INCOME TAXES - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="csiq_IncomeTaxesTable_638015757539335054" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesTable_638015757539335054" xlink:to="srt_RangeAxis_638015757539335054" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757539335054" xlink:to="srt_RangeMember_638015757539335054" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539335054" xlink:to="srt_MinimumMember_638015757539335054" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539335054" xlink:to="srt_MaximumMember_638015757539335054" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesTable_638015757539335054" xlink:to="csiq_IncomeTaxesLineItems_638015757539335054" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_638015757539335054" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638015757539335054" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638015757539335054" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638015757539335054" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638015757539335054" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638015757539345312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638015757539345312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638015757539345312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638015757539345312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638015757539345312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638015757539345312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638015757539345312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638015757539345312" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638015757539345312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638015757539345312" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_638015757539345312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_638015757539345312" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638015757539345312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638015757539335054" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638015757539345312" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract_638015757539345312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_638015757539335054" xlink:to="csiq_IncomeTaxAdditionalDisclosureAbstract_638015757539345312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_638015757539345312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638015757539345312" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_638015757539345312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638015757539354986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638015757539345312" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638015757539354986" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_638015757539354986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638015757539345312" xlink:to="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_638015757539354986" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_638015757539354986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638015757539345312" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_638015757539354986" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate_638015757539354986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638015757539345312" xlink:to="csiq_PreferentialWithholdingTaxRate_638015757539354986" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract_638015757539354986" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_638015757539335054" xlink:to="csiq_IncomeTaxHolidayAbstract_638015757539354986" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_638015757539365236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_638015757539354986" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount_638015757539365236" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_638015757539365236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_638015757539354986" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_638015757539365236" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_638015757539365236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_638015757539354986" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_638015757539365236" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xlink:type="extended" xlink:title="41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_638015757539365236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_638015757539365236" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757539365236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_638015757539365236" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757539365236" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638015757539374971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638015757539365236" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638015757539374971" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638015757539374971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638015757539374971" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638015757539374971" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_638015757539374971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_638015757539365236" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_638015757539374971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757539374971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems_638015757539374971" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757539374971" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638015757539374971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757539374971" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638015757539374971" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638015757539374971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757539374971" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638015757539374971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638015757539374971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757539374971" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638015757539374971" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_6380157575393749711" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638015757539374971" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_6380157575393749711" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xlink:type="extended" xlink:title="41901 - Disclosure - EARNINGS PER SHARE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638015757539384957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638015757539384957" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638015757539384957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638015757539384957" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638015757539384957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638015757539384957" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember_638015757539384957" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638015757539384957" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638015757539384957" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638015757539384957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_638015757539384957" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted_638015757539384957" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638015757539384957" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638015757539384957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638015757539384957" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_638015757539395156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_638015757539395156" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638015757539395156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638015757539395156" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638015757539395156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_EarningsPerShareBasic_638015757539395156" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638015757539395156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638015757539384957" xlink:to="us-gaap_EarningsPerShareDiluted_638015757539395156" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xlink:type="extended" xlink:title="42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638015757539395156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638015757539395156" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638015757539395156" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638015757539405025" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638015757539405025" xlink:to="us-gaap_RelatedPartyDomain_638015757539405025" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638015757539405025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AffiliatedEntityMember" xlink:label="srt_AffiliatedEntityMember_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="srt_AffiliatedEntityMember_638015757539405025" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIRenewableEnergyS.aMember" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_SalgueiroIRenewableEnergyS.aMember_638015757539405025" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_SalgueiroIiRenewableEnergyS.a.Member_638015757539405025" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_Jaba4EnergiasRenovveisS.a.Member" xlink:label="csiq_Jaba4EnergiasRenovveisS.a.Member_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_Jaba4EnergiasRenovveisS.a.Member_638015757539405025" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIiiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_SalgueiroIiiRenewableEnergyS.a.Member_638015757539405025" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_Jaiba3RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_Jaiba3RenewableEnergyS.a.Member_638015757539405025" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_Jaiba9RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_Jaiba9RenewableEnergyS.a.Member_638015757539405025" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EtSolutionsSouthAfricaOnePtyMember" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_EtSolutionsSouthAfricaOnePtyMember_638015757539405025" order="9" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638015757539405025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638015757539405025" order="10" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouIsilverMaterialsMember" xlink:label="csiq_SuzhouIsilverMaterialsMember_638015757539414958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_SuzhouIsilverMaterialsMember_638015757539414958" order="11" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_638015757539414958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_SuzhouKzoneEquipmentTechnologyMember_638015757539414958" order="12" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember_638015757539414958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="srt_ChiefExecutiveOfficerMember_638015757539414958" order="13" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_638015757539414958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_638015757539414958" order="14" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasSolarHoldingS.aMember" xlink:label="csiq_LavrasSolarHoldingS.aMember_638015757539414958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_LavrasSolarHoldingS.aMember_638015757539414958" order="15" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_HorusSolarS.a.DeCapitalVariableMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableMember_638015757539414958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableMember_638015757539414958" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" xlink:label="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_638015757539414958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_638015757539414958" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FranciscoSaIRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIRenewableEnergyS.a.Member_638015757539414958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_FranciscoSaIRenewableEnergyS.a.Member_638015757539414958" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FranciscoSaIiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member_638015757539414958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_FranciscoSaIiRenewableEnergyS.a.Member_638015757539414958" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_638015757539425008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_638015757539425008" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasISolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member_638015757539425008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_LavrasISolarRenewableEnergyS.a.Member_638015757539425008" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasIiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member_638015757539425008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_LavrasIiSolarRenewableEnergyS.a.Member_638015757539425008" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_638015757539425008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_638015757539425008" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasIvSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member_638015757539425008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_LavrasIvSolarRenewableEnergyS.a.Member_638015757539425008" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasVSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member_638015757539425008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_LavrasVSolarRenewableEnergyS.a.Member_638015757539425008" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SonoranWestSolarHoldingsLlcMember" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember_638015757539425008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_SonoranWestSolarHoldingsLlcMember_638015757539425008" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SonoranWestSolarHoldings2LlcMember" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember_638015757539425008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_SonoranWestSolarHoldings2LlcMember_638015757539425008" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_638015757539434961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638015757539405025" xlink:to="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_638015757539434961" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis_638015757539434961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638015757539395156" xlink:to="us-gaap_LineOfCreditFacilityAxis_638015757539434961" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_638015757539434961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis_638015757539434961" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_638015757539434961" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember_638015757539434961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain_638015757539434961" xlink:to="csiq_ChineseCommercialBanksMember_638015757539434961" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_638015757539434961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638015757539395156" xlink:to="us-gaap_IncomeStatementLocationAxis_638015757539434961" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_638015757539434961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis_638015757539434961" xlink:to="us-gaap_IncomeStatementLocationDomain_638015757539434961" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember_638015757539434961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_638015757539434961" xlink:to="us-gaap_SalesMember_638015757539434961" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis_638015757539445118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638015757539395156" xlink:to="us-gaap_RelatedPartyTransactionAxis_638015757539445118" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain_638015757539445118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionAxis_638015757539445118" xlink:to="us-gaap_RelatedPartyTransactionDomain_638015757539445118" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AssetManagementServiceMember" xlink:label="csiq_AssetManagementServiceMember_638015757539445118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionDomain_638015757539445118" xlink:to="csiq_AssetManagementServiceMember_638015757539445118" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember_638015757539445118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionDomain_638015757539445118" xlink:to="csiq_OMServiceMember_638015757539445118" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638015757539445118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638015757539395156" xlink:to="us-gaap_AwardTypeAxis_638015757539445118" order="5" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638015757539445118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638015757539445118" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638015757539445118" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638015757539445118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638015757539445118" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638015757539445118" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757539505207" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638015757539395156" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757539505207" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638015757539514983" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638015757539505207" xlink:to="srt_EquityMethodInvesteeNameDomain_638015757539514983" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638015757539514983" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757539514983" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638015757539514983" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIRenewableEnergyS.aMember" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember_638015757539514983" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757539514983" xlink:to="csiq_SalgueiroIRenewableEnergyS.aMember_638015757539514983" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SalgueiroIiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member_638015757539514983" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757539514983" xlink:to="csiq_SalgueiroIiRenewableEnergyS.a.Member_638015757539514983" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FranciscoSaIRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIRenewableEnergyS.a.Member_638015757539514983" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757539514983" xlink:to="csiq_FranciscoSaIRenewableEnergyS.a.Member_638015757539514983" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FranciscoSaIiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member_638015757539514983" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757539514983" xlink:to="csiq_FranciscoSaIiRenewableEnergyS.a.Member_638015757539514983" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LavrasSolarHoldingS.aMember" xlink:label="csiq_LavrasSolarHoldingS.aMember_638015757539524974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757539514983" xlink:to="csiq_LavrasSolarHoldingS.aMember_638015757539524974" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638015757539524974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638015757539514983" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638015757539524974" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638015757539395156" xlink:to="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_638015757539524974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_638015757539524974" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansAndLeasesReceivableRelatedParties" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties_638015757539524974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_LoansAndLeasesReceivableRelatedParties_638015757539524974" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableRelatedParties" xlink:label="us-gaap_AccountsReceivableRelatedParties_638015757539534780" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_AccountsReceivableRelatedParties_638015757539534780" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638015757539534780" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638015757539534780" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_638015757539534780" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_DueToRelatedPartiesCurrent_638015757539534780" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638015757539534780" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638015757539534780" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_638015757539534780" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_LineOfCredit_638015757539534780" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638015757539545036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638015757539545036" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_638015757539545036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_638015757539545036" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage_638015757539545036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="csiq_PurchaseOfUnitsPercentage_638015757539545036" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties_638015757539545036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_RevenueFromRelatedParties_638015757539545036" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ServiceRevenueFromRelatedParty" xlink:label="csiq_ServiceRevenueFromRelatedParty_638015757539555053" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="csiq_ServiceRevenueFromRelatedParty_638015757539555053" 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/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638015757539555053" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638015757539555053" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_638015757539555053" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_638015757539555053" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpensesRelatedParty" xlink:label="us-gaap_CostsAndExpensesRelatedParty_638015757539555053" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638015757539524974" xlink:to="us-gaap_CostsAndExpensesRelatedParty_638015757539555053" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xlink:type="extended" xlink:title="42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_635950298350555031" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638015757539564874" />
    <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_638015757539564874" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638015757539564874" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638015757539564874" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638015757539564874" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638015757539564874" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638015757539564874" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638015757539564874" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638015757539575016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638015757539564874" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638015757539575016" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638015757539575016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638015757539564874" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638015757539575016" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_638015757539575016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638015757539575016" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_638015757539575016" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_638015757539575016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638015757539575016" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths_638015757539575016" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_638015757539575016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638015757539575016" xlink:to="us-gaap_PurchaseObligationDueInSecondYear_638015757539575016" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInThirdYear" xlink:label="us-gaap_PurchaseObligationDueInThirdYear_638015757539575016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638015757539575016" xlink:to="us-gaap_PurchaseObligationDueInThirdYear_638015757539575016" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation_638015757539575016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638015757539575016" xlink:to="us-gaap_PurchaseObligation_638015757539575016" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xlink:type="extended" xlink:title="42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_LossContingenciesTable_638015757539585010" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638015757539585010" xlink:to="srt_LitigationCaseAxis_638015757539585010" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis_638015757539585010" xlink:to="srt_LitigationCaseTypeDomain_638015757539585010" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638015757539585010" xlink:to="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638015757539585010" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FirstAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FirstAdministrativeReviewOfSolarOneMember_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638015757539585010" xlink:to="csiq_FirstAdministrativeReviewOfSolarOneMember_638015757539585010" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SecondAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SecondAdministrativeReviewOfSolarOneMember_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638015757539585010" xlink:to="csiq_SecondAdministrativeReviewOfSolarOneMember_638015757539585010" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ThirdAdministrativeReviewOfSolarOneMember" xlink:label="csiq_ThirdAdministrativeReviewOfSolarOneMember_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638015757539585010" xlink:to="csiq_ThirdAdministrativeReviewOfSolarOneMember_638015757539585010" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FourthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FourthAdministrativeReviewOfSolarOneMember_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638015757539585010" xlink:to="csiq_FourthAdministrativeReviewOfSolarOneMember_638015757539585010" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FifthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FifthAdministrativeReviewOfSolarOneMember_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638015757539585010" xlink:to="csiq_FifthAdministrativeReviewOfSolarOneMember_638015757539585010" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SixthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SixthAdministrativeReviewOfSolarOneMember_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638015757539585010" xlink:to="csiq_SixthAdministrativeReviewOfSolarOneMember_638015757539585010" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SeventhAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SeventhAdministrativeReviewOfSolarOneMember_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638015757539585010" xlink:to="csiq_SeventhAdministrativeReviewOfSolarOneMember_638015757539585010" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638015757539585010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638015757539585010" xlink:to="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638015757539585010" order="9" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757539595005" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638015757539585010" xlink:to="srt_RangeAxis_638015757539595005" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757539595005" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757539595005" xlink:to="srt_RangeMember_638015757539595005" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638015757539595005" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539595005" xlink:to="srt_MinimumMember_638015757539595005" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757539595005" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539595005" xlink:to="srt_MaximumMember_638015757539595005" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems_638015757539595005" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638015757539585010" xlink:to="us-gaap_LossContingenciesLineItems_638015757539595005" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PeriodOfSunsetReviews" xlink:label="csiq_PeriodOfSunsetReviews_638015757539595005" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638015757539595005" xlink:to="csiq_PeriodOfSunsetReviews_638015757539595005" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638015757539595005" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638015757539595005" xlink:to="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638015757539595005" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638015757539595005" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638015757539595005" xlink:to="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638015757539595005" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_638015757539595005" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638015757539595005" xlink:to="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_638015757539595005" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails" xlink:type="extended" xlink:title="42201 - Disclosure - SEGMENT INFORMATION (Narrative) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638015757539604778" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_NumberOfReportableSegments_638015757539604778" order="1" use="optional" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="42202 - Disclosure - SEGMENT INFORMATION (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638015757539614777" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638015757539614777" xlink:to="srt_ConsolidationItemsAxis_638015757539614777" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638015757539614777" xlink:to="srt_ConsolidationItemsDomain_638015757539614777" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638015757539614777" xlink:to="us-gaap_OperatingSegmentsMember_638015757539614777" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EliminationsAndReconcilingItemsMember" xlink:label="csiq_EliminationsAndReconcilingItemsMember_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638015757539614777" xlink:to="csiq_EliminationsAndReconcilingItemsMember_638015757539614777" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638015757539614777" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638015757539614777" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638015757539614777" xlink:to="us-gaap_SegmentDomain_638015757539614777" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638015757539614777" xlink:to="csiq_CsiSolarSegmentMember_638015757539614777" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638015757539614777" xlink:to="csiq_GlobalEnergySegmentMember_638015757539614777" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638015757539614777" xlink:to="us-gaap_SegmentReportingInformationLineItems_638015757539614777" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638015757539614777" xlink:to="us-gaap_NumberOfReportableSegments_638015757539614777" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_638015757539614777" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638015757539614777" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract_638015757539614777" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757539625156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638015757539614777" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757539625156" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638015757539625156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638015757539614777" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638015757539625156" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638015757539625156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638015757539614777" xlink:to="us-gaap_GrossProfit_638015757539625156" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638015757539625156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638015757539614777" xlink:to="us-gaap_OperatingIncomeLoss_638015757539625156" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xlink:type="extended" xlink:title="42203 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638015757539625156" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638015757539625156" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638015757539625156" xlink:to="srt_StatementGeographicalAxis_638015757539635048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638015757539635048" xlink:to="srt_SegmentGeographicalDomain_638015757539635048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638015757539635048" xlink:to="csiq_AmericaMember_638015757539635048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638015757539635048" xlink:to="country_US_638015757539635048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638015757539635048" xlink:to="country_BR_638015757539635048" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638015757539635048" xlink:to="country_CA_638015757539635048" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_MX" xlink:label="country_MX_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638015757539635048" xlink:to="country_MX_638015757539635048" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638015757539635048" xlink:to="csiq_OtherCountriesAmericaMember_638015757539635048" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638015757539635048" xlink:to="srt_AsiaMember_638015757539635048" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="country_JP_638015757539635048" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN_638015757539635048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="country_CN_638015757539635048" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KR" xlink:label="country_KR_638015757539645028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="country_KR_638015757539645028" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IN" xlink:label="country_IN_638015757539645028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="country_IN_638015757539645028" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AE" xlink:label="country_AE_638015757539645028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="country_AE_638015757539645028" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_VN" xlink:label="country_VN_638015757539645028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="country_VN_638015757539645028" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH_638015757539645028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="country_TH_638015757539645028" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CY" xlink:label="country_CY_638015757539645028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="country_CY_638015757539645028" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_PK" xlink:label="country_PK_638015757539645028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="country_PK_638015757539645028" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember_638015757539645028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638015757539635048" xlink:to="csiq_OtherCountriesAsiaMember_638015757539645028" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember_638015757539645028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638015757539635048" xlink:to="srt_EuropeMember_638015757539645028" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AU" xlink:label="country_AU_638015757539655013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="country_AU_638015757539655013" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_DE" xlink:label="country_DE_638015757539655013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="country_DE_638015757539655013" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ZA" xlink:label="country_ZA_638015757539655013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="country_ZA_638015757539655013" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ES" xlink:label="country_ES_638015757539655013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="country_ES_638015757539655013" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_NL" xlink:label="country_NL_638015757539655013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="country_NL_638015757539655013" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB" xlink:label="country_GB_638015757539655013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="country_GB_638015757539655013" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CZ" xlink:label="country_CZ_638015757539655013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="country_CZ_638015757539655013" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_FR" xlink:label="country_FR_638015757539664846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="country_FR_638015757539664846" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AR" xlink:label="country_AR_638015757539664846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="country_AR_638015757539664846" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember_638015757539664846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638015757539645028" xlink:to="csiq_OtherCountriesEuropeMember_638015757539664846" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SeriesOfIndividuallyImmaterialCountriesMember" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember_638015757539664846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638015757539635048" xlink:to="csiq_SeriesOfIndividuallyImmaterialCountriesMember_638015757539664846" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638015757539664846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638015757539625156" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638015757539664846" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757539664846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638015757539664846" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757539664846" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets_638015757539664846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638015757539664846" xlink:to="us-gaap_NoncurrentAssets_638015757539664846" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xlink:type="extended" xlink:title="42204 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638015757539675058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638015757539675058" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638015757539675058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638015757539675058" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638015757539675058" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638015757539675058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638015757539675058" xlink:to="us-gaap_SegmentDomain_638015757539675058" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638015757539675058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638015757539675058" xlink:to="csiq_CsiSolarSegmentMember_638015757539675058" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember_638015757539675058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638015757539675058" xlink:to="csiq_GlobalEnergySegmentMember_638015757539675058" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638015757539675058" xlink:to="srt_ProductOrServiceAxis_638015757539685026" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638015757539685026" xlink:to="srt_ProductsAndServicesDomain_638015757539685026" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarModulesMember" xlink:label="csiq_SolarModulesMember_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757539685026" xlink:to="csiq_SolarModulesMember_638015757539685026" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarSystemKitsProductMember" xlink:label="csiq_SolarSystemKitsProductMember_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757539685026" xlink:to="csiq_SolarSystemKitsProductMember_638015757539685026" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_BatteryStorageSolutionsMember" xlink:label="csiq_BatteryStorageSolutionsMember_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757539685026" xlink:to="csiq_BatteryStorageSolutionsMember_638015757539685026" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757539685026" xlink:to="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_638015757539685026" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherCsiSolarProductsMember" xlink:label="csiq_OtherCsiSolarProductsMember_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757539685026" xlink:to="csiq_OtherCsiSolarProductsMember_638015757539685026" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SolarPowerProjectsMember" xlink:label="csiq_SolarPowerProjectsMember_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757539685026" xlink:to="csiq_SolarPowerProjectsMember_638015757539685026" order="6" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OmAndAssetManagementServicesMember" xlink:label="csiq_OmAndAssetManagementServicesMember_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757539685026" xlink:to="csiq_OmAndAssetManagementServicesMember_638015757539685026" order="7" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638015757539685026" xlink:to="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_638015757539685026" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638015757539685026" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638015757539675058" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638015757539685026" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757539695029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638015757539685026" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757539695029" 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-20211231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="MajorCustomersDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_638015757539695029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MajorCustomersDisclosureAbstract" xlink:to="us-gaap_ConcentrationRiskTable_638015757539695029" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638015757539695029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638015757539695029" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638015757539695029" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638015757539695029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638015757539695029" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638015757539695029" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember_638015757539695029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638015757539695029" xlink:to="us-gaap_AccountsReceivableMember_638015757539695029" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638015757539695029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638015757539695029" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638015757539695029" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638015757539695029" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638015757539704783" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638015757539704783" xlink:to="us-gaap_CreditConcentrationRiskMember_638015757539704783" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638015757539695029" xlink:to="srt_MajorCustomersAxis_638015757539704783" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638015757539704783" xlink:to="srt_NameOfMajorCustomerDomain_638015757539704783" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CustomerOneMember" xlink:label="csiq_CustomerOneMember_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638015757539704783" xlink:to="csiq_CustomerOneMember_638015757539704783" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CustomerTwoMember" xlink:label="csiq_CustomerTwoMember_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638015757539704783" xlink:to="csiq_CustomerTwoMember_638015757539704783" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CustomerThreeMember" xlink:label="csiq_CustomerThreeMember_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638015757539704783" xlink:to="csiq_CustomerThreeMember_638015757539704783" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638015757539695029" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_638015757539704783" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_NumberOfCustomers" xlink:label="csiq_NumberOfCustomers_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems_638015757539704783" xlink:to="csiq_NumberOfCustomers_638015757539704783" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems_638015757539704783" xlink:to="us-gaap_ConcentrationRiskPercentage1_638015757539704783" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet_638015757539704783" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems_638015757539704783" xlink:to="us-gaap_AccountsReceivableNet_638015757539704783" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xlink:type="extended" xlink:title="42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_StatementTable_638015757539725036" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757539725036" xlink:to="srt_RangeAxis_638015757539725036" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757539725036" xlink:to="srt_RangeMember_638015757539725036" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539725036" xlink:to="srt_MinimumMember_638015757539725036" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539725036" xlink:to="srt_MaximumMember_638015757539725036" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638015757539725036" xlink:to="us-gaap_StatementLineItems_638015757539725036" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539725036" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_638015757539725036" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539725036" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_638015757539725036" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539725036" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_638015757539725036" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_638015757539725036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539725036" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_638015757539725036" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_638015757539735025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539725036" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_638015757539735025" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_638015757539735025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539725036" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_638015757539735025" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_638015757539735025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638015757539725036" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount_638015757539735025" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xlink:type="extended" xlink:title="42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539735025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539735025" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638015757539735025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539735025" xlink:to="us-gaap_AwardTypeAxis_638015757539735025" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638015757539735025" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638015757539744958" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638015757539744958" xlink:to="us-gaap_EmployeeStockOptionMember_638015757539744958" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539735025" xlink:to="us-gaap_GranteeStatusAxis_638015757539744958" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusAxis_638015757539744958" xlink:to="us-gaap_GranteeStatusDomain_638015757539744958" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusDomain_638015757539744958" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638015757539744958" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539735025" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638015757539744958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638015757539744958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638015757539744958" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_638015757539744958" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_638015757539744958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_638015757539744958" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638015757539755023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638015757539755023" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638015757539755023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638015757539755023" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638015757539755023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638015757539755023" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638015757539755023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638015757539755023" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638015757539755023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638015757539755023" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638015757539755023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638015757539755023" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638015757539755023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539744958" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638015757539755023" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xlink:type="extended" xlink:title="42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539764848" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539764848" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638015757539764848" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539764848" xlink:to="us-gaap_AwardTypeAxis_638015757539764848" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638015757539764848" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638015757539764848" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638015757539764848" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638015757539764848" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638015757539764848" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638015757539764848" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638015757539764848" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539764848" xlink:to="srt_RangeAxis_638015757539764848" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638015757539764848" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638015757539764848" xlink:to="srt_RangeMember_638015757539764848" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638015757539764848" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539764848" xlink:to="srt_MinimumMember_638015757539764848" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638015757539764848" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638015757539764848" xlink:to="srt_MaximumMember_638015757539764848" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539764848" xlink:to="us-gaap_VestingAxis_638015757539775018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis_638015757539775018" xlink:to="us-gaap_VestingDomain_638015757539775018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_638015757539775018" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_638015757539775018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_638015757539775018" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_638015757539775018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539764848" xlink:to="us-gaap_GranteeStatusAxis_638015757539775018" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusAxis_638015757539775018" xlink:to="us-gaap_GranteeStatusDomain_638015757539775018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusDomain_638015757539775018" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638015757539775018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638015757539764848" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638015757539775018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638015757539775018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638015757539775018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_638015757539785024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_638015757539785024" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638015757539785024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638015757539785024" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638015757539785024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638015757539785024" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_638015757539785024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_638015757539785024" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_638015757539785024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_638015757539785024" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638015757539785024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638015757539785024" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638015757539785024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638015757539785024" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638015757539795035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638015757539795035" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638015757539795035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638015757539795035" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638015757539795035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638015757539795035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638015757539795035" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638015757539795035" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638015757539795035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638015757539795035" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638015757539795035" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638015757539795035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638015757539795035" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638015757539795035" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6380157575397950351" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638015757539795035" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6380157575397950351" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638015757539805221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638015757539775018" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638015757539805221" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638015757539805221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638015757539805221" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638015757539805221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638015757539805221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638015757539805221" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638015757539805221" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638015757539805221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638015757539805221" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638015757539805221" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638015757539805221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638015757539805221" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638015757539805221" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6380157575398052211" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638015757539805221" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6380157575398052211" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_638015757539805221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638015757539805221" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_638015757539805221" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" xlink:type="extended" xlink:title="42701 - Disclosure - Financial Statement Schedule I (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638015757539815035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638015757539815035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638015757539815035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" xlink:to="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638015757539815035" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539825065" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539825065" xlink:to="srt_ConsolidatedEntitiesAxis_638015757539825065" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638015757539825065" xlink:to="srt_ConsolidatedEntitiesDomain_638015757539825065" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638015757539825065" xlink:to="srt_ParentCompanyMember_638015757539825065" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539825065" xlink:to="srt_ConsolidationItemsAxis_638015757539825065" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638015757539825065" xlink:to="srt_ConsolidationItemsDomain_638015757539825065" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638015757539825065" xlink:to="srt_ReportableLegalEntitiesMember_638015757539825065" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539825065" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539825065" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539825065" xlink:to="us-gaap_AssetsAbstract_638015757539825065" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757539825065" xlink:to="us-gaap_AssetsCurrentAbstract_638015757539825065" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638015757539825065" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757539825065" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638015757539825065" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_638015757539835164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757539825065" xlink:to="us-gaap_RestrictedCashAndCashEquivalents_638015757539835164" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_638015757539835164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757539825065" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_638015757539835164" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_638015757539835164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757539825065" xlink:to="us-gaap_DerivativeAssetsCurrent_638015757539835164" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638015757539835164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757539825065" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638015757539835164" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638015757539835164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638015757539825065" xlink:to="us-gaap_AssetsCurrent_638015757539835164" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries_638015757539835164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757539825065" xlink:to="csiq_InvestmentInSubsidiaries_638015757539835164" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates_638015757539835164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757539825065" xlink:to="csiq_InvestmentInAffiliates_638015757539835164" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638015757539835164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757539825065" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638015757539835164" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638015757539835164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757539825065" xlink:to="us-gaap_OtherAssetsNoncurrent_638015757539835164" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638015757539845034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638015757539825065" xlink:to="us-gaap_Assets_638015757539845034" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757539845034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539825065" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757539845034" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638015757539845034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757539845034" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638015757539845034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638015757539845034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757539845034" xlink:to="us-gaap_ShortTermBorrowings_638015757539845034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_638015757539845034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757539845034" xlink:to="us-gaap_DueToRelatedPartiesCurrent_638015757539845034" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638015757539845034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757539845034" xlink:to="us-gaap_OtherLiabilitiesCurrent_638015757539845034" 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/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638015757539845034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638015757539845034" xlink:to="us-gaap_LiabilitiesCurrent_638015757539845034" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable_638015757539845034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757539845034" xlink:to="us-gaap_ConvertibleNotesPayable_638015757539845034" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638015757539855019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757539845034" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638015757539855019" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638015757539855019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757539845034" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638015757539855019" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638015757539855019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638015757539845034" xlink:to="us-gaap_Liabilities_638015757539855019" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757539855019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539825065" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757539855019" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638015757539855019" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757539855019" xlink:to="us-gaap_CommonStockValue_638015757539855019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638015757539865051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757539855019" xlink:to="us-gaap_TreasuryStockCommonValue_638015757539865051" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638015757539865051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757539855019" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638015757539865051" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638015757539865051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757539855019" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638015757539865051" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638015757539865051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757539855019" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638015757539865051" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638015757539865051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638015757539855019" xlink:to="us-gaap_StockholdersEquity_638015757539865051" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638015757539865051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539825065" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638015757539865051" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xlink:type="extended" xlink:title="42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539875128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539875128" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638015757539875128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539875128" xlink:to="srt_ConsolidationItemsAxis_638015757539875128" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638015757539875128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638015757539875128" xlink:to="srt_ConsolidationItemsDomain_638015757539875128" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638015757539875128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638015757539875128" xlink:to="srt_ReportableLegalEntitiesMember_638015757539875128" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638015757539875128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539875128" xlink:to="srt_ConsolidatedEntitiesAxis_638015757539875128" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638015757539885080" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638015757539875128" xlink:to="srt_ConsolidatedEntitiesDomain_638015757539885080" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638015757539885080" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638015757539885080" xlink:to="srt_ParentCompanyMember_638015757539885080" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539885080" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539875128" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539885080" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638015757539885080" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539885080" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638015757539885080" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638015757539885080" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539885080" xlink:to="us-gaap_CommonStockSharesIssued_638015757539885080" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638015757539885080" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539885080" xlink:to="us-gaap_CommonStockSharesOutstanding_638015757539885080" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638015757539885080" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539885080" xlink:to="us-gaap_TreasuryStockCommonShares_638015757539885080" order="4" use="optional" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xlink:type="extended" xlink:title="42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539894844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539894844" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638015757539894844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539894844" xlink:to="srt_ConsolidationItemsAxis_638015757539894844" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638015757539894844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638015757539894844" xlink:to="srt_ConsolidationItemsDomain_638015757539894844" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638015757539894844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638015757539894844" xlink:to="srt_ReportableLegalEntitiesMember_638015757539894844" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638015757539894844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539894844" xlink:to="srt_ConsolidatedEntitiesAxis_638015757539894844" order="2" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638015757539894844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638015757539894844" xlink:to="srt_ConsolidatedEntitiesDomain_638015757539894844" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638015757539894844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638015757539894844" xlink:to="srt_ParentCompanyMember_638015757539894844" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539894844" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757539894844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638015757539894844" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638015757539905092" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_GrossProfit_638015757539905092" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_OperatingExpensesAbstract_638015757539905092" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638015757539905092" xlink:to="us-gaap_SellingExpense_638015757539905092" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638015757539905092" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638015757539905092" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638015757539905092" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638015757539905092" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638015757539905092" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638015757539905092" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_OperatingExpenses_638015757539905092" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_OperatingIncomeLoss_638015757539905092" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_638015757539905092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_638015757539905092" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638015757539915130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757539905092" xlink:to="us-gaap_InterestExpense_638015757539915130" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_638015757539915130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757539905092" xlink:to="us-gaap_InvestmentIncomeInterest_638015757539915130" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757539915130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757539905092" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757539915130" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638015757539915130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757539905092" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638015757539915130" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_638015757539915130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757539905092" xlink:to="us-gaap_GainLossOnInvestments_638015757539915130" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638015757539915130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638015757539905092" xlink:to="us-gaap_NonoperatingIncomeExpense_638015757539915130" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638015757539915130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638015757539915130" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638015757539915130" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638015757539915130" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_638015757539925133" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_638015757539925133" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638015757539925133" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539894844" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638015757539925133" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xlink:type="extended" xlink:title="42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539935214" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539935214" xlink:to="srt_ConsolidationItemsAxis_638015757539935214" order="1" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638015757539935214" xlink:to="srt_ConsolidationItemsDomain_638015757539935214" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638015757539935214" xlink:to="srt_ReportableLegalEntitiesMember_638015757539935214" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539935214" xlink:to="srt_ConsolidatedEntitiesAxis_638015757539935214" order="2" use="optional" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638015757539935214" xlink:to="srt_ConsolidatedEntitiesDomain_638015757539935214" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638015757539935214" xlink:to="srt_ParentCompanyMember_638015757539935214" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539935214" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539935214" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539935214" xlink:to="us-gaap_ProfitLoss_638015757539935214" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539935214" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638015757539935214" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638015757539935214" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539935214" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638015757539935214" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossTax_638015757539945108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539935214" xlink:to="us-gaap_OtherComprehensiveIncomeLossTax_638015757539945108" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539945108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539945108" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638015757539945108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539945108" xlink:to="srt_ConsolidatedEntitiesAxis_638015757539945108" order="1" use="optional" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638015757539945108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638015757539945108" xlink:to="srt_ConsolidatedEntitiesDomain_638015757539945108" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638015757539945108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638015757539945108" xlink:to="srt_ParentCompanyMember_638015757539945108" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638015757539945108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539945108" xlink:to="srt_ConsolidationItemsAxis_638015757539945108" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638015757539954799" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638015757539945108" xlink:to="srt_ConsolidationItemsDomain_638015757539954799" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638015757539954799" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638015757539954799" xlink:to="srt_ReportableLegalEntitiesMember_638015757539954799" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638015757539945108" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638015757539954799" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_ProfitLoss_638015757539954799" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638015757539954799" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638015757539954799" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638015757539954799" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_AccretionExpense_638015757539954799" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638015757539954799" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638015757539954799" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_638015757539964868" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_638015757539964868" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757539964868" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638015757539964868" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638015757539964868" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638015757539964868" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_638015757539964868" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_638015757539964868" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638015757539964868" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_ShareBasedCompensation_638015757539964868" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757539964868" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757539964868" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638015757539964868" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757539964868" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638015757539964868" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638015757539964868" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757539964868" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638015757539964868" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638015757539964868" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757539964868" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638015757539964868" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638015757539975098" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757539964868" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638015757539975098" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638015757539975098" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757539964868" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638015757539975098" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638015757539975098" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757539964868" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638015757539975098" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638015757539975098" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638015757539964868" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638015757539975098" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638015757539975098" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638015757539975098" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638015757539975098" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638015757539975098" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638015757539975098" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638015757539975098" 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/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757539985077" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638015757539954799" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638015757539985077" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757539985077" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757539985077" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries_638015757539985077" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757539985077" xlink:to="csiq_PaymentsToAcquireSubsidiaries_638015757539985077" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates_638015757539985077" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757539985077" xlink:to="csiq_PaymentsToAcquireAffiliates_638015757539985077" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638015757539985077" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757539985077" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638015757539985077" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638015757539985077" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757539985077" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638015757539985077" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757539985077" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638015757539985077" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638015757539985077" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_638015757539995088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="us-gaap_RepaymentsOfNotesPayable_638015757539995088" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638015757539995088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638015757539995088" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ProceedsFromLoansFromSubsidiaries" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_638015757539995088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="csiq_ProceedsFromLoansFromSubsidiaries_638015757539995088" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638015757539995088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638015757539995088" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638015757539995088" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638015757539995088" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_638015757540005104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_638015757540005104" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_638015757540005104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts_638015757540005104" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638015757540005104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638015757540005104" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638015757540005104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638015757540005104" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757540005104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638015757539995088" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638015757540005104" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638015757540014951" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638015757540014951" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638015757540014951" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638015757540014951" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638015757540014951" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638015757540014951" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6380157575400149511" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6380157575400149511" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638015757540014951" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638015757539954799" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638015757540014951" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638015757540025109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638015757540014951" xlink:to="us-gaap_InterestPaidNet_638015757540025109" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" xlink:type="extended" xlink:title="42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_MajorSubsidiariesDisclosuresAbstract" xlink:label="csiq_MajorSubsidiariesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_638015757540025109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_MajorSubsidiariesDisclosuresAbstract" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_638015757540025109" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_638015757540025109" xlink:to="dei_LegalEntityAxis_638015757540035111" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638015757540035111" xlink:to="dei_EntityDomain_638015757540035111" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiNewEnergyHoldingCo.LtdMember" xlink:label="csiq_CsiNewEnergyHoldingCo.LtdMember_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CsiNewEnergyHoldingCo.LtdMember_638015757540035111" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingLuoyangIncMember" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarManufacturingLuoyangIncMember_638015757540035111" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member_638015757540035111" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiCellsCo.Ltd.Member" xlink:label="csiq_CsiCellsCo.Ltd.Member_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CsiCellsCo.Ltd.Member_638015757540035111" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarUSAIncMember_638015757540035111" order="5" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarJapanKKMember_638015757540035111" order="6" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarSolutionsIncMember_638015757540035111" order="7" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarEMEAGmbHMember_638015757540035111" order="8" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_638015757540035111" order="9" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarOAndMOntarioIncMember" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember_638015757540035111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarOAndMOntarioIncMember_638015757540035111" order="10" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_638015757540045111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_638015757540045111" order="11" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSouthEastAsiaPteLtdMember" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember_638015757540045111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarSouthEastAsiaPteLtdMember_638015757540045111" order="12" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_638015757540045111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_638015757540045111" order="13" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember_638015757540045111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarProjectKKMember_638015757540045111" order="14" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarUkLtdMember" xlink:label="csiq_CanadianSolarUkLtdMember_638015757540045111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarUkLtdMember_638015757540045111" order="15" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarUkProjectsLtdMember" xlink:label="csiq_CanadianSolarUkProjectsLtdMember_638015757540045111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarUkProjectsLtdMember_638015757540045111" order="16" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarManufacturingFuningCoLtdMember" xlink:label="csiq_CsiSolarManufacturingFuningCoLtdMember_638015757540045111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CsiSolarManufacturingFuningCoLtdMember_638015757540045111" order="17" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_638015757540045111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_638015757540045111" order="18" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_ChangshuTlianCo.Ltd.Member" xlink:label="csiq_ChangshuTlianCo.Ltd.Member_638015757540045111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_ChangshuTlianCo.Ltd.Member_638015757540045111" order="19" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember_638015757540055100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_RecurrentEnergyLlcMember_638015757540055100" order="20" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_638015757540055100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_638015757540055100" order="21" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638015757540055100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638015757540055100" order="22" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_638015757540055100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_638015757540055100" order="23" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_638015757540055100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_638015757540055100" order="24" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CSISolarNewEnergySuzhouCoLtdMember" xlink:label="csiq_CSISolarNewEnergySuzhouCoLtdMember_638015757540055100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CSISolarNewEnergySuzhouCoLtdMember_638015757540055100" order="25" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_638015757540055100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_638015757540055100" order="26" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiModulesJiaxingCoLtdMember" xlink:label="csiq_CsiModulesJiaxingCoLtdMember_638015757540064885" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CsiModulesJiaxingCoLtdMember_638015757540064885" order="27" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiWaferLuoyangCoLtdMember" xlink:label="csiq_CsiWaferLuoyangCoLtdMember_638015757540064885" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CsiWaferLuoyangCoLtdMember_638015757540064885" order="28" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember" xlink:label="csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember_638015757540064885" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember_638015757540064885" order="29" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_638015757540064885" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_638015757540064885" order="30" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_638015757540064885" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_638015757540064885" order="31" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarNetherlandCooperativeUaMember" xlink:label="csiq_CanadianSolarNetherlandCooperativeUaMember_638015757540064885" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarNetherlandCooperativeUaMember_638015757540064885" order="32" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarSsesCanadaInc.Member" xlink:label="csiq_CanadianSolarSsesCanadaInc.Member_638015757540075128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarSsesCanadaInc.Member_638015757540075128" order="33" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_FieldfareArgentinaS.r.l.Member" xlink:label="csiq_FieldfareArgentinaS.r.l.Member_638015757540075128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_FieldfareArgentinaS.r.l.Member_638015757540075128" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarInvestmentManagementPtyLtdMember" xlink:label="csiq_CanadianSolarInvestmentManagementPtyLtdMember_638015757540075128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarInvestmentManagementPtyLtdMember_638015757540075128" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember" xlink:label="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember_638015757540075128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember_638015757540075128" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member" xlink:label="csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member_638015757540075128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member_638015757540075128" order="37" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiElectricitySalesJiangsuCo.Ltd.Member" xlink:label="csiq_CsiElectricitySalesJiangsuCo.Ltd.Member_638015757540075128" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CsiElectricitySalesJiangsuCo.Ltd.Member_638015757540075128" order="38" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiCellsYanchangCoLtdMember" xlink:label="csiq_CsiCellsYanchangCoLtdMember_638015757540085099" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CsiCellsYanchangCoLtdMember_638015757540085099" order="39" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiModulesDafengCoLtdMember" xlink:label="csiq_CsiModulesDafengCoLtdMember_638015757540085099" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638015757540035111" xlink:to="csiq_CsiModulesDafengCoLtdMember_638015757540085099" order="40" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_638015757540085099" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_638015757540025109" xlink:to="srt_CounterpartyNameAxis_638015757540085099" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_638015757540085099" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_638015757540085099" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_638015757540085099" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiCellsCo.Ltd.Member" xlink:label="csiq_CsiCellsCo.Ltd.Member_638015757540085099" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638015757540085099" xlink:to="csiq_CsiCellsCo.Ltd.Member_638015757540085099" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member_638015757540085099" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638015757540085099" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member_638015757540085099" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_CsiSolarPowerChinaInc.Member" xlink:label="csiq_CsiSolarPowerChinaInc.Member_638015757540095279" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638015757540085099" xlink:to="csiq_CsiSolarPowerChinaInc.Member_638015757540095279" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_638015757540095279" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_638015757540025109" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_638015757540095279" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_638015757540095279" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_638015757540095279" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_638015757540095279" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityInterestHeldAsGeneralPartner" xlink:label="csiq_EquityInterestHeldAsGeneralPartner_638015757540095279" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_638015757540095279" xlink:to="csiq_EquityInterestHeldAsGeneralPartner_638015757540095279" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20211231.xsd#csiq_EquityInterestHeldAsLimitedPartner" xlink:label="csiq_EquityInterestHeldAsLimitedPartner_638015757540095279" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_638015757540095279" xlink:to="csiq_EquityInterestHeldAsLimitedPartner_638015757540095279" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://xbrl.sec.gov/cef/role/N2" xlink:type="extended" xlink:title="995470 - Disclosure - N-2" xmlns="http://www.xbrl.org/2003/linkbase" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177107504">
<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, 2021 </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/A<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentRegistrationStatement', window );">Document Registration Statement</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentShellCompanyReport', window );">Document Shell Company Report</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2021<span></span>
</td>
</tr>
<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 );">Securities Act 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">A1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">545&#160;Speedvale Avenue West<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Guelph, Ontario<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">CA<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">N1K&#160;1E6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common shares with no par value<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CSIQ<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">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_AmendmentDescription', window );">Amendment Description</a></td>
<td class="text">Amendment No. 1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
</tr>
<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_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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="nump">64,022,678<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2021<span></span>
</td>
</tr>
<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_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</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_AuditorName', window );">Auditor Name</a></td>
<td class="text">Deloitte Touche Tohmatsu Certified Public Accountants&#160;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 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">545&#160;Speedvale Avenue West<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Guelph, Ontario<span></span>
</td>
</tr>
<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_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">CA<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">N1K&#160;1E6<span></span>
</td>
</tr>
<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_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_AmendmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of changes contained within amended document.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AmendmentDescription</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_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_ContactPersonnelName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of contact personnel</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_ContactPersonnelName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAccountingStandard">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAccountingStandard</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:accountingStandardItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentRegistrationStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a registration statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentRegistrationStatement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentShellCompanyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentShellCompanyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCountry">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>ISO 3166-1 alpha-2 country code.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCountry</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:countryCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressesAddressTypeAxis=dei_BusinessContactMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressesAddressTypeAxis=dei_BusinessContactMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176630160">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></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_AssetsCurrentAbstract', window );"><strong>Current assets:</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>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 869,831<span></span>
</td>
<td class="nump">$ 1,178,752<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">560,633<span></span>
</td>
<td class="nump">458,334<span></span>
</td>
</tr>
<tr class="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 of allowance of $40,293 and $47,126 as of December 31, 2020 and 2021, respectively</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">651,372<span></span>
</td>
<td class="nump">408,958<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">37,244<span></span>
</td>
<td class="nump">28,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_DueFromRelatedPartiesCurrent', window );">Amounts due from related parties</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">73,042<span></span>
</td>
<td class="nump">5,834<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,192,374<span></span>
</td>
<td class="nump">695,981<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValueAddedTaxReceivableCurrent', window );">Value added tax recoverable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">125,882<span></span>
</td>
<td class="nump">102,460<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvancesOnInventoryPurchases', window );">Advances to suppliers, net of allowance of $5,845 and $5,822 as of December 31, 2020 and 2021, respectively</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">225,879<span></span>
</td>
<td class="nump">182,146<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeAssetsCurrent', window );">Derivative assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,286<span></span>
</td>
<td class="nump">23,351<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLandCurrentPortion', window );">Project assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">594,107<span></span>
</td>
<td class="nump">747,764<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">434,177<span></span>
</td>
<td class="nump">353,781<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,771,827<span></span>
</td>
<td class="nump">4,185,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_RestrictedCashAndCashEquivalentsNoncurrent', window );">Restricted cash</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,818<span></span>
</td>
<td class="nump">2,629<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,401,877<span></span>
</td>
<td class="nump">1,157,731<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarPowerSystems', window );">Solar power systems, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">108,263<span></span>
</td>
<td class="nump">158,262<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">236,503<span></span>
</td>
<td class="nump">170,656<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_AdvancesOnInventoryPurchasesNonCurrent', window );">Advances to suppliers, net of allowance of $13,855 and $13,860 as of December 31, 2020 and 2021, respectively</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">34,239<span></span>
</td>
<td class="nump">97,173<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseNoncurrent', window );">Prepaid land use rights</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">71,011<span></span>
</td>
<td class="nump">62,414<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">98,819<span></span>
</td>
<td class="nump">78,291<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">18,992<span></span>
</td>
<td class="nump">22,429<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">433,254<span></span>
</td>
<td class="nump">389,702<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">35,286<span></span>
</td>
<td class="nump">26,793<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other non-current assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">174,453<span></span>
</td>
<td class="nump">184,952<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,388,342<span></span>
</td>
<td class="nump">6,536,854<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</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>
</tr>
<tr class="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, including long-term borrowings - current portion</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,271,215<span></span>
</td>
<td class="nump">1,202,285<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LongTermBorrowingsOnProjectAssetsCurrent', window );">Long-term borrowings on project assets - current</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">321,655<span></span>
</td>
<td class="nump">198,794<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">502,995<span></span>
</td>
<td class="nump">514,742<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">881,184<span></span>
</td>
<td class="nump">710,636<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">143<span></span>
</td>
<td class="nump">314<span></span>
</td>
</tr>
<tr class="ro">
<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">667,854<span></span>
</td>
<td class="nump">508,839<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">135,512<span></span>
</td>
<td class="nump">189,470<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,622<span></span>
</td>
<td class="nump">10,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_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">12,185<span></span>
</td>
<td class="nump">15,204<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">242,783<span></span>
</td>
<td class="nump">237,316<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,038,148<span></span>
</td>
<td class="nump">3,588,355<span></span>
</td>
</tr>
<tr class="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 );">Accrued warranty costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_LongTermNotesAndLoans', window );">Long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">523,634<span></span>
</td>
<td class="nump">446,090<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">224,675<span></span>
</td>
<td class="nump">223,214<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Liability for uncertain tax positions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,448<span></span>
</td>
<td class="nump">14,729<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">48,150<span></span>
</td>
<td class="nump">49,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyAccrualAtCarryingValue', window );">Loss contingency accruals</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">15,148<span></span>
</td>
<td class="nump">26,458<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">23,215<span></span>
</td>
<td class="nump">13,232<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_FinancingLiabilitiesNonCurrent', window );">Financing liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">53,641<span></span>
</td>
<td class="nump">81,871<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other non-current liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">282,699<span></span>
</td>
<td class="nump">163,308<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5,261,904<span></span>
</td>
<td class="nump">4,644,069<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 21)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Equity:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common shares - no par value: unlimited authorized shares, 59,820,384 and 64,022,678 shares issued and outstanding at December 31, 2020 and 2021, respectively</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">835,543<span></span>
</td>
<td class="nump">687,033<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(19,428)<span></span>
</td>
<td class="num">(28,236)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,035,552<span></span>
</td>
<td class="nump">940,304<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(50,584)<span></span>
</td>
<td class="num">(28,679)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Canadian Solar Inc. shareholders' equity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,801,083<span></span>
</td>
<td class="nump">1,570,422<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Non-controlling interests in subsidiaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">325,355<span></span>
</td>
<td class="nump">322,363<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">TOTAL EQUITY</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,126,438<span></span>
</td>
<td class="nump">1,892,785<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND EQUITY</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 7,388,342<span></span>
</td>
<td class="nump">$ 6,536,854<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><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;">Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</span></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AdvancesOnInventoryPurchasesNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value of capitalized payments made in advance for inventory that is expected to be received after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AdvancesOnInventoryPurchasesNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_FinancingLiabilitiesNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of financing liabilities due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_FinancingLiabilitiesNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LongTermBorrowingsOnProjectAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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-borrowings associated with certain solar power projects that are expected to be sold within one 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_LongTermBorrowingsOnProjectAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsPlantsAndLandCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsPlantsAndLandNonCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandNonCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ShortTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowings classified s short term notes payable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShortTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableOtherCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligations incurred classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableOtherCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableTradeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableTradeCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvancesOnInventoryPurchases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value of capitalized payments made in advance for inventory that is expected to be received within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvancesOnInventoryPurchases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, carrying value as of the balance sheet date of a written promise to pay a note, initially due after one year or beyond the operating cycle if longer, which can be exchanged for a specified amount of one or more securities (typically common stock), at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120401414&amp;loc=d3e603758-122996<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyAccrualAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss contingency liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14615-108349<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyAccrualAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts paid in advance for expenses which will be charged against earnings in periods after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 210<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120413173&amp;loc=SL116631458-115580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValueAddedTaxReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValueAddedTaxReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172826768">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></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_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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable trade, allowance</a></td>
<td class="nump">$ 47,126<span></span>
</td>
<td class="nump">$ 40,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_AllowanceForDoubtfulAdvancesToSuppliersCurrent', window );">Advances to suppliers - current, allowance</a></td>
<td class="nump">5,822<span></span>
</td>
<td class="nump">5,845<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent', window );">Advances to suppliers - non-current, allowance</a></td>
<td class="nump">$ 13,860<span></span>
</td>
<td class="nump">$ 13,855<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">64,022,678<span></span>
</td>
<td class="nump">59,820,384<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">64,022,678<span></span>
</td>
<td class="nump">59,820,384<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation allowance for advances made to suppliers expected to be utilized within twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent</td>
</tr>
<tr>
<td style="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_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation allowance for advances made to suppliers expected to be utilized after twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent</td>
</tr>
<tr>
<td style="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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160170921296">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SalesRevenueAbstract', window );"><strong>Net revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
<td class="nump">$ 3,200,583<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldAbstract', window );"><strong>Cost of revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">4,367,857<span></span>
</td>
<td class="nump">2,786,581<span></span>
</td>
<td class="nump">2,482,086<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">909,312<span></span>
</td>
<td class="nump">689,914<span></span>
</td>
<td class="nump">718,497<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Selling and distribution expenses</a></td>
<td class="nump">398,650<span></span>
</td>
<td class="nump">224,243<span></span>
</td>
<td class="nump">180,326<span></span>
</td>
</tr>
<tr class="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">308,942<span></span>
</td>
<td class="nump">225,597<span></span>
</td>
<td class="nump">242,783<span></span>
</td>
</tr>
<tr class="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">58,407<span></span>
</td>
<td class="nump">45,167<span></span>
</td>
<td class="nump">47,045<span></span>
</td>
</tr>
<tr class="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">(47,068)<span></span>
</td>
<td class="num">(25,523)<span></span>
</td>
<td class="num">(10,536)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">718,931<span></span>
</td>
<td class="nump">469,484<span></span>
</td>
<td class="nump">459,618<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">190,381<span></span>
</td>
<td class="nump">220,430<span></span>
</td>
<td class="nump">258,879<span></span>
</td>
</tr>
<tr class="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">(58,153)<span></span>
</td>
<td class="num">(71,874)<span></span>
</td>
<td class="num">(81,326)<span></span>
</td>
</tr>
<tr class="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">11,051<span></span>
</td>
<td class="nump">9,306<span></span>
</td>
<td class="nump">12,039<span></span>
</td>
</tr>
<tr class="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="nump">23,785<span></span>
</td>
<td class="nump">50,001<span></span>
</td>
<td class="num">(22,218)<span></span>
</td>
</tr>
<tr class="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)</a></td>
<td class="num">(47,234)<span></span>
</td>
<td class="num">(64,820)<span></span>
</td>
<td class="nump">10,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_GainLossOnInvestments', window );">Investment income (loss)</a></td>
<td class="nump">18,634<span></span>
</td>
<td class="num">(8,559)<span></span>
</td>
<td class="nump">1,929<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other expenses, net</a></td>
<td class="num">(51,917)<span></span>
</td>
<td class="num">(85,946)<span></span>
</td>
<td class="num">(79,206)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income taxes and equity in earnings of unconsolidated investees</a></td>
<td class="nump">138,464<span></span>
</td>
<td class="nump">134,484<span></span>
</td>
<td class="nump">179,673<span></span>
</td>
</tr>
<tr class="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">(35,844)<span></span>
</td>
<td class="nump">1,983<span></span>
</td>
<td class="num">(42,066)<span></span>
</td>
</tr>
<tr class="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 (loss) of unconsolidated investees</a></td>
<td class="nump">7,256<span></span>
</td>
<td class="nump">10,779<span></span>
</td>
<td class="nump">28,948<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">109,876<span></span>
</td>
<td class="nump">147,246<span></span>
</td>
<td class="nump">166,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_NetIncomeLossAttributableToNoncontrollingInterest', window );">Less: net income (loss) attributable to non-controlling interests</a></td>
<td class="nump">14,628<span></span>
</td>
<td class="nump">543<span></span>
</td>
<td class="num">(5,030)<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">$ 95,248<span></span>
</td>
<td class="nump">$ 146,703<span></span>
</td>
<td class="nump">$ 171,585<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Earnings per share - basic</a></td>
<td class="nump">$ 1.55<span></span>
</td>
<td class="nump">$ 2.46<span></span>
</td>
<td class="nump">$ 2.88<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Shares used in computation - basic</a></td>
<td class="nump">61,614,391<span></span>
</td>
<td class="nump">59,575,898<span></span>
</td>
<td class="nump">59,633,855<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings per share - diluted</a></td>
<td class="nump">$ 1.46<span></span>
</td>
<td class="nump">$ 2.38<span></span>
</td>
<td class="nump">$ 2.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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Shares used in computation - diluted</a></td>
<td class="nump">68,872,102<span></span>
</td>
<td class="nump">62,306,819<span></span>
</td>
<td class="nump">60,777,696<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SalesRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>n/a</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SalesRevenueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSoldAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSoldAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=125521441&amp;loc=d3e30690-110894<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30226-110892<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28228-110885<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124440516&amp;loc=d3e30840-110895<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27405-111563<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177082528">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 109,876<span></span>
</td>
<td class="nump">$ 147,246<span></span>
</td>
<td class="nump">$ 166,555<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss) (net of tax of nil):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(26,296)<span></span>
</td>
<td class="nump">76,188<span></span>
</td>
<td class="nump">319<span></span>
</td>
</tr>
<tr 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_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax', window );">Gain (loss) on interest rate swap</a></td>
<td class="nump">59<span></span>
</td>
<td class="num">(4,115)<span></span>
</td>
<td class="num">(5,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_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap', window );">De-recognition of interest rate swap</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,724<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Comprehensive income</a></td>
<td class="nump">83,639<span></span>
</td>
<td class="nump">230,043<span></span>
</td>
<td class="nump">161,027<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Less: comprehensive income (loss) attributable to non-controlling interests</a></td>
<td class="nump">10,296<span></span>
</td>
<td class="nump">2,412<span></span>
</td>
<td class="num">(11,100)<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">$ 73,343<span></span>
</td>
<td class="nump">$ 227,631<span></span>
</td>
<td class="nump">$ 172,127<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount represents De-recognition of commodity hedge and interest rate swap</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - interest rate swap, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4613674-111683<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30304-110892<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28129-110885<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180200368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other Comprehensive Income, Net of Tax, Portion Attributable to Parent</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossTax', window );">Other comprehensive income tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_OtherComprehensiveIncomeLossTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) allocated to 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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e39076-109324<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171898416">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Shares</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings (Accumulated Deficit)</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income</div></th>
<th class="th"><div>Equity (Deficits) Attribute to Canadian Solar Inc.</div></th>
<th class="th"><div>Non-Controlling Interest</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, 2018</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 702,931<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,675<span></span>
</td>
<td class="nump">$ 622,016<span></span>
</td>
<td class="num">$ (110,149)<span></span>
</td>
<td class="nump">$ 1,225,473<span></span>
</td>
<td class="nump">$ 47,372<span></span>
</td>
<td class="nump">$ 1,272,845<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, 2018</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">59,180,624<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income (loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,585<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,585<span></span>
</td>
<td class="num">(5,030)<span></span>
</td>
<td class="nump">166,555<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,389<span></span>
</td>
<td class="nump">6,389<span></span>
</td>
<td class="num">(6,070)<span></span>
</td>
<td class="nump">319<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromRedemptions', window );">Acquisition of non-controlling interest's ownership</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,178)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,178)<span></span>
</td>
<td class="num">(9,998)<span></span>
</td>
<td class="num">(14,176)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common shares</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (11,845)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,845)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,845)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common shares (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="num">(609,516)<span></span>
</td>
<td class="nump">609,516,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,682<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,682<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,682<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of share options and RSUs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">875<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of share options and RSUs (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">800,576<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest', window );">Proceeds from non-controlling interests</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,650<span></span>
</td>
<td class="nump">5,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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Fair value change on derivatives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,847)<span></span>
</td>
<td class="num">(5,847)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,847)<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, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 703,806<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,179<span></span>
</td>
<td class="nump">793,601<span></span>
</td>
<td class="num">(109,607)<span></span>
</td>
<td class="nump">1,393,134<span></span>
</td>
<td class="nump">31,924<span></span>
</td>
<td class="nump">1,425,058<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">59,371,684<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonValue', window );">Treasury stock, balance at Dec. 31, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (11,845)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, balance (in shares) at Dec. 31, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">609,516,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income (loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">146,703<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">146,703<span></span>
</td>
<td class="nump">543<span></span>
</td>
<td class="nump">147,246<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">74,319<span></span>
</td>
<td class="nump">74,319<span></span>
</td>
<td class="nump">1,869<span></span>
</td>
<td class="nump">76,188<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromRedemptions', window );">Acquisition of non-controlling interest's ownership</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,414)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,414)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,414)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common shares</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (5,963)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963)<span></span>
</td>
</tr>
<tr class="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 );">Repurchase of common shares (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="num">(381,330)<span></span>
</td>
<td class="nump">381,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance', window );">Transfer of equity interest in subsidiaries to non-controlling shareholders</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(49,351)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(49,351)<span></span>
</td>
<td class="nump">273,904<span></span>
</td>
<td class="nump">224,553<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of share options and RSUs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of share options and RSUs (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">830,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesRetired', window );">Retirement of treasury stock (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(990,846,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockRetiredCostMethodAmount', window );">Retirement of treasury stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">$ 17,808<span></span>
</td>
<td class="nump">$ 17,808<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap', window );">De-recognition of derivatives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,724<span></span>
</td>
<td class="nump">10,724<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,724<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest', window );">Proceeds from non-controlling interests</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,123<span></span>
</td>
<td class="nump">14,123<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Fair value change on derivatives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,115)<span></span>
</td>
<td class="num">(4,115)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,115)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2020</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 687,033<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(28,236)<span></span>
</td>
<td class="nump">940,304<span></span>
</td>
<td class="num">(28,679)<span></span>
</td>
<td class="nump">1,570,422<span></span>
</td>
<td class="nump">322,363<span></span>
</td>
<td class="nump">$ 1,892,785<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2020</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">59,820,384<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">59,820,384<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income (loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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="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_MinorityInterestDecreaseFromRedemptions', window );">Acquisition of non-controlling interest's ownership</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,719)<span></span>
</td>
<td class="num">(10,719)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of share options and RSUs (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">562,376<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>[4]</sup></td>
<td class="nump">$ 148,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148,510<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of ordinary shares, net of issuance costs (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[4]</sup></td>
<td class="nump">3,639,918<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest', window );">Proceeds from non-controlling interests</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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="text">&#160;<span></span>
</td>
<td class="nump">6,588<span></span>
</td>
<td class="nump">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</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">59<span></span>
</td>
<td class="nump">59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">59<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2021</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 835,543<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (19,428)<span></span>
</td>
<td class="nump">$ 1,035,552<span></span>
</td>
<td class="num">$ (50,584)<span></span>
</td>
<td class="nump">$ 1,801,083<span></span>
</td>
<td class="nump">$ 325,355<span></span>
</td>
<td class="nump">$ 2,126,438<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2021</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">64,022,678<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">64,022,678<span></span>
</td>
</tr>
<tr><td colspan="9"></td></tr>
<tr><td colspan="9"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Following the share repurchase plan authorized by the Board Directors on December 9, 2019, the Company repurchased </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">609,516</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> outstanding shares with total costs of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$11,845</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> in December 2019. The Company retired all outstanding shares repurchased during 2020.</span></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Following the share repurchase plan authorized by the Board Directors on December 9, 2019, the Company repurchased </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">91,424</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">289,906</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> outstanding shares with total costs of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$2,000</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$3,963</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> in January 2020 and March 2020, respectively. The Company retired all outstanding shares repurchased during 2020.</span></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The Company completed capital raising RMB</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.78</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> billion (approximately </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$261,332</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">) for CSI Solar Co., Ltd., to qualify it for the planned carve-out IPO in China and bring in leading institutional investors and strategic partners. Refer to Note 1 to the consolidated financial statements for further information.</span></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[4]</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;">Represents 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;"> </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">shares of common shares in 2021, net of commissions and offering expenses of $</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1,490</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span></td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount represents De-recognition of commodity hedge and interest rate swap</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of equity in securities of subsidiaries or equity method investee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(g))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestDecreaseFromRedemptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest (for example, but not limited to, redeeming or purchasing the interests of noncontrolling shareholders, issuance of shares (interests) by the non-wholly owned subsidiary to the parent entity for other than cash, and a buyback of shares (interest) by the non-wholly owned subsidiary from the noncontrolling interests).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569655-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4616395-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromRedemptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in noncontrolling interest from sale of a portion of the parent's controlling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569655-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569655-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30304-110892<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28129-110885<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockRetiredCostMethodAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease of par value, additional paid in capital (APIC) and retained earnings of common and preferred stock retired from treasury when treasury stock is accounted for under the cost method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockRetiredCostMethodAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesRetired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common and preferred stock retired from treasury during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesRetired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173108512">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)<br> $ in Thousands, &#165; in Millions</strong></div></th>
<th class="th">
<div>May 27, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Number of shares repurchased</a></td>
<td class="nump">3,639,918<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Number of shares sold at-the-market</a></td>
<td class="nump">3,639,918<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Commissions and offering expenses | $</a></td>
<td class="nump">$ 1,490<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172957024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 109,876,000<span></span>
</td>
<td class="nump">$ 147,246,000<span></span>
</td>
<td class="nump">$ 166,555,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_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">282,769,000<span></span>
</td>
<td class="nump">209,118,000<span></span>
</td>
<td class="nump">159,723,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_AccretionExpense', window );">Accretion of convertible notes</a></td>
<td class="nump">1,461,000<span></span>
</td>
<td class="nump">388,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss (gain) on disposal of property, plant and equipment</a></td>
<td class="nump">83,000<span></span>
</td>
<td class="num">(253,000)<span></span>
</td>
<td class="nump">1,227,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments', window );">Gain on disposal of solar power systems</a></td>
<td class="num">(10,091,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,666,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_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on disposal of investment in affiliates</a></td>
<td class="num">(10,392,000)<span></span>
</td>
<td class="num">(13,936,000)<span></span>
</td>
<td class="num">(1,928,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_AssetImpairmentCharges', window );">Impairment loss of property, plant and equipment</a></td>
<td class="nump">6,084,000<span></span>
</td>
<td class="nump">11,854,000<span></span>
</td>
<td class="nump">21,866,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_ProjectAssetsImpairmentCharge', window );">Impairment loss of project assets</a></td>
<td class="nump">17,152,000<span></span>
</td>
<td class="nump">369,000<span></span>
</td>
<td class="nump">20,194,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_ImpairmentOfInvestments', window );">Impairment loss of investment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">24,060,000<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="num">(23,785,000)<span></span>
</td>
<td class="num">(50,001,000)<span></span>
</td>
<td class="nump">22,218,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_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">8,808,000<span></span>
</td>
<td class="nump">12,350,000<span></span>
</td>
<td class="nump">10,682,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_IncomeLossFromEquityMethodInvestments', window );">Equity in earnings of unconsolidated investees</a></td>
<td class="num">(7,256,000)<span></span>
</td>
<td class="num">(10,779,000)<span></span>
</td>
<td class="num">(28,948,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_ProvisionForDoubtfulAccounts', window );">Allowance for credit losses</a></td>
<td class="nump">7,615,000<span></span>
</td>
<td class="nump">9,874,000<span></span>
</td>
<td class="nump">1,250,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_NonCashOperatingLeaseExpenses', window );">Non-cash operating lease expenses</a></td>
<td class="nump">14,321,000<span></span>
</td>
<td class="nump">19,260,000<span></span>
</td>
<td class="nump">14,318,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_InventoryWriteDown', window );">Write-down of inventories</a></td>
<td class="nump">14,070,000<span></span>
</td>
<td class="nump">42,907,000<span></span>
</td>
<td class="nump">19,447,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_UnrealizedGainLossFromSalesToInvestees', window );">Unrealized gain (loss) from sales to affiliates</a></td>
<td class="nump">35,890,000<span></span>
</td>
<td class="num">(66,000)<span></span>
</td>
<td class="nump">6,194,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap', window );">Derecognition of interest rate swap</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,439,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable trade</a></td>
<td class="num">(284,785,000)<span></span>
</td>
<td class="nump">65,379,000<span></span>
</td>
<td class="nump">51,670,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_IncreaseDecreaseInContractWithCustomerAsset', window );">Accounts receivable, unbilled</a></td>
<td class="num">(8,783,000)<span></span>
</td>
<td class="num">(12,064,000)<span></span>
</td>
<td class="num">(15,268,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_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from related parties</a></td>
<td class="num">(68,912,000)<span></span>
</td>
<td class="nump">26,828,000<span></span>
</td>
<td class="num">(17,347,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_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(518,741,000)<span></span>
</td>
<td class="num">(180,974,000)<span></span>
</td>
<td class="num">(312,781,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncreaseDecreaseInValueAddedTaxReceivable', window );">Value added tax recoverable</a></td>
<td class="num">(21,873,000)<span></span>
</td>
<td class="nump">2,687,000<span></span>
</td>
<td class="num">(849,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_IncreaseDecreaseInAdvanceToSuppliers', window );">Advances to suppliers</a></td>
<td class="num">(30,416,000)<span></span>
</td>
<td class="num">(138,915,000)<span></span>
</td>
<td class="num">(27,066,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncreaseDecreaseInProjectAssets', window );">Project assets</a></td>
<td class="num">(73,375,000)<span></span>
</td>
<td class="num">(443,730,000)<span></span>
</td>
<td class="nump">28,527,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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(85,754,000)<span></span>
</td>
<td class="num">(72,188,000)<span></span>
</td>
<td class="nump">33,283,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_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other non-current assets</a></td>
<td class="nump">20,357,000<span></span>
</td>
<td class="num">(11,913,000)<span></span>
</td>
<td class="num">(24,037,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_IncreaseDecreaseInAccountsPayableTrade', window );">Accounts payable</a></td>
<td class="nump">11,023,000<span></span>
</td>
<td class="num">(89,180,000)<span></span>
</td>
<td class="nump">209,175,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_IncreaseDecreaseInNotesPayableCurrent', window );">Short-term notes payable</a></td>
<td class="nump">150,982,000<span></span>
</td>
<td class="nump">120,445,000<span></span>
</td>
<td class="nump">185,827,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_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due to subsidiaries</a></td>
<td class="num">(171,000)<span></span>
</td>
<td class="num">(9,773,000)<span></span>
</td>
<td class="num">(5,798,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_IncreaseDecreaseInOtherAccountsPayable', window );">Other payables</a></td>
<td class="nump">126,215,000<span></span>
</td>
<td class="nump">10,386,000<span></span>
</td>
<td class="nump">42,810,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_IncreaseDecreaseInContractWithCustomerLiability', window );">Advances from customers</a></td>
<td class="num">(53,998,000)<span></span>
</td>
<td class="nump">51,683,000<span></span>
</td>
<td class="nump">96,115,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_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="num">(15,803,000)<span></span>
</td>
<td class="num">(19,369,000)<span></span>
</td>
<td class="num">(12,566,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_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other liabilities</a></td>
<td class="nump">41,835,000<span></span>
</td>
<td class="nump">179,911,000<span></span>
</td>
<td class="num">(10,851,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncreaseDecreaseInProductWarrantyAccrual', window );">Accrued warranty costs</a></td>
<td class="nump">9,413,000<span></span>
</td>
<td class="num">(19,143,000)<span></span>
</td>
<td class="nump">4,624,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_IncreaseDecreaseInPrepaidLandUseRight', window );">Prepaid land use rights</a></td>
<td class="nump">1,647,000<span></span>
</td>
<td class="nump">452,000<span></span>
</td>
<td class="nump">2,622,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncreaseDecreaseInGoodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,005,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_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes', window );">Liability for uncertain tax positions</a></td>
<td class="num">(7,281,000)<span></span>
</td>
<td class="num">(623,000)<span></span>
</td>
<td class="num">(4,775,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_IncreaseDecreaseInDeferredIncomeTaxes', window );">Deferred taxes</a></td>
<td class="num">(67,386,000)<span></span>
</td>
<td class="num">(21,439,000)<span></span>
</td>
<td class="num">(12,455,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_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="nump">31,886,000<span></span>
</td>
<td class="nump">33,054,000<span></span>
</td>
<td class="num">(27,012,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_OtherOperatingActivitiesCashFlowStatement', window );">Loss contingency accruals</a></td>
<td class="num">(10,939,000)<span></span>
</td>
<td class="nump">1,115,000<span></span>
</td>
<td class="nump">4,126,000<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="num">(408,254,000)<span></span>
</td>
<td class="num">(120,541,000)<span></span>
</td>
<td class="nump">600,111,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_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_PaymentsToAcquireEquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="num">(54,004,000)<span></span>
</td>
<td class="num">(17,758,000)<span></span>
</td>
<td class="num">(7,684,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_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital', window );">Return of investment from affiliates</a></td>
<td class="nump">2,671,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,012,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_ProceedsFromSaleOfEquityMethodInvestments', window );">Proceeds from disposal of investment in affiliates</a></td>
<td class="nump">14,311,000<span></span>
</td>
<td class="nump">33,037,000<span></span>
</td>
<td class="nump">1,649,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets', window );">Purchase of property, plant and equipment and intangible assets</a></td>
<td class="num">(428,725,000)<span></span>
</td>
<td class="num">(334,781,000)<span></span>
</td>
<td class="num">(291,182,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_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from disposal of property, plant and equipment</a></td>
<td class="nump">18,555,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_PaymentsToAcquireSolarPowerSystems', window );">Purchase of solar power systems</a></td>
<td class="num">(775,000)<span></span>
</td>
<td class="num">(160,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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">18,397,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">103,000<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">(429,570,000)<span></span>
</td>
<td class="num">(319,662,000)<span></span>
</td>
<td class="num">(294,102,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_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,742,064,000<span></span>
</td>
<td class="nump">1,667,703,000<span></span>
</td>
<td class="nump">1,257,009,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_RepaymentsOfNotesPayable', window );">Repayment of short-term borrowings</a></td>
<td class="num">(1,879,884,000)<span></span>
</td>
<td class="num">(1,561,597,000)<span></span>
</td>
<td class="num">(1,649,721,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt', window );">Proceeds from long-term borrowings</a></td>
<td class="nump">588,082,000<span></span>
</td>
<td class="nump">207,632,000<span></span>
</td>
<td class="nump">530,990,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_PaymentsToMinorityShareholders', window );">Acquisition of non-controlling interest</a></td>
<td class="num">(10,719,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14,176,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_ProceedsFromMinorityShareholders', window );">Proceeds from non-controlling interests</a></td>
<td class="nump">10,003,000<span></span>
</td>
<td class="nump">261,332,000<span></span>
</td>
<td class="nump">11,488,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_ProceedsFromPaymentsToMinorityShareHolder', window );">Repayment to non-controlling interests</a></td>
<td class="num">(6,588,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_ProceedsFromIssuanceOfCommonStock', window );">Net proceeds from issuance of common shares</a></td>
<td class="nump">148,510,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProceedsFromThirdPartyFinancingLiabilities', window );">Proceeds from third party financing liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,419,000<span></span>
</td>
<td class="nump">3,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SaleLeasebackTransactionProceedsFinancingActivities', window );">Proceeds from sales-leaseback arrangement</a></td>
<td class="nump">45,693,000<span></span>
</td>
<td class="nump">9,945,000<span></span>
</td>
<td class="nump">9,044,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_PaymentsOfDistributionsToTaxEquityInvestors', window );">Distributions to tax equity investors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,120,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_FinanceLeasePrincipalPayments', window );">Repayment of finance lease obligation</a></td>
<td class="num">(23,090,000)<span></span>
</td>
<td class="num">(22,173,000)<span></span>
</td>
<td class="num">(42,658,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_ProceedsFromConvertibleDebt', window );">Net proceeds from issuance of convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">222,826,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Payments for repurchase of convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(127,500,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProceedsFromSubscriptionAdvances', window );">Proceeds from subscription of employee stock ownership plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,342,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035,000<span></span>
</td>
<td class="nump">875,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_PaymentsForRepurchaseOfCommonStock', window );">Payments for repurchase of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963,000)<span></span>
</td>
<td class="num">(11,845,000)<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 (used in) financing activities</a></td>
<td class="nump">614,071,000<span></span>
</td>
<td class="nump">823,501,000<span></span>
</td>
<td class="num">(34,614,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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes</a></td>
<td class="nump">18,320,000<span></span>
</td>
<td class="nump">50,997,000<span></span>
</td>
<td class="num">(6,965,000)<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">(205,433,000)<span></span>
</td>
<td class="nump">434,295,000<span></span>
</td>
<td class="nump">264,430,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the beginning of the year</a></td>
<td class="nump">1,639,715,000<span></span>
</td>
<td class="nump">1,205,420,000<span></span>
</td>
<td class="nump">940,990,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">1,434,282,000<span></span>
</td>
<td class="nump">1,639,715,000<span></span>
</td>
<td class="nump">1,205,420,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_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">71,006,000<span></span>
</td>
<td class="nump">78,747,000<span></span>
</td>
<td class="nump">85,362,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_IncomeTaxesPaidNet', window );">Income taxes paid, net of tax refund</a></td>
<td class="nump">57,396,000<span></span>
</td>
<td class="nump">38,193,000<span></span>
</td>
<td class="nump">40,454,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_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" 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">$ 299,664,000<span></span>
</td>
<td class="nump">$ 244,512,000<span></span>
</td>
<td class="nump">$ 244,483,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of derecognition of commodity hedge and interest rate swap.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of solar power systems and other investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncreaseDecreaseInAdvanceToSuppliers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in advances to suppliers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInAdvanceToSuppliers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncreaseDecreaseInGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInGoodwill</td>
</tr>
<tr>
<td style="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_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_IncreaseDecreaseInPrepaidLandUseRight">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for land use right that bring economic benefits for future periods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInPrepaidLandUseRight</td>
</tr>
<tr>
<td style="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_IncreaseDecreaseInProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 obligations 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncreaseDecreaseInProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of the amount of cost of uncompleted contracts in excess of related billings, or unbilled accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncreaseDecreaseInValueAddedTaxReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInValueAddedTaxReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_NonCashOperatingLeaseExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of non-cash operating lease expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NonCashOperatingLeaseExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PaymentsOfDistributionsToTaxEquityInvestors">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 distributions provided to tax equity investors.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsOfDistributionsToTaxEquityInvestors</td>
</tr>
<tr>
<td style="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_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets and Intangible assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PaymentsToAcquireSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of solar power systems that are used in the normal conduct of business to produce solar power.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquireSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the information pertaining to Proceeds from long term borrowings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProceedsFromPaymentsToMinorityShareHolder">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents to Proceeds From Payments To Minority Share holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromPaymentsToMinorityShareHolder</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>It represents the proceeds from the sale or disposal of solar power systems.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProceedsFromSubscriptionAdvances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash inflow from subscription advances.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromSubscriptionAdvances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProceedsFromThirdPartyFinancingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 financing liabilities of third parties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromThirdPartyFinancingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the impairment charges and write-off for investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsImpairmentCharge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SaleLeasebackTransactionProceedsFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow received by a seller-lessee in a sale-leaseback recognized in financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SaleLeasebackTransactionProceedsFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_UnrealizedGainLossFromSalesToInvestees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents amount of unrealized gain, (loss) from sales to investees.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_UnrealizedGainLossFromSalesToInvestees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccretionExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 35<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6394232&amp;loc=d3e17558-110866<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableTrade</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126938201&amp;loc=d3e55415-109406<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate increase (decrease) during the reporting period in the amount due from the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in current portion (due within one year or one business cycle) of obligations evidenced by formal promissory notes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligations classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingActivitiesCashFlowStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingActivitiesCashFlowStatement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of distribution received from equity method investee for return of investment, classified as investing activities. Excludes distribution for return on investment, classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21D<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=SL94080555-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173100688">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="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">$ 869,831<span></span>
</td>
<td class="nump">$ 1,178,752<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">560,633<span></span>
</td>
<td class="nump">458,334<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">3,818<span></span>
</td>
<td class="nump">2,629<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash and cash equivalents, and restricted cash shown in the statements of cash flows</a></td>
<td class="nump">$ 1,434,282<span></span>
</td>
<td class="nump">$ 1,639,715<span></span>
</td>
<td class="nump">$ 1,205,420<span></span>
</td>
<td class="nump">$ 940,990<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 210<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120413173&amp;loc=SL116631458-115580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfCashFlowsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfCashFlowsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160181454144">
<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, 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>ORGANIZATION AND PRINCIPAL ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">ORGANIZATION AND PRINCIPAL ACTIVITIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">1. ORGANIZATION AND PRINCIPAL ACTIVITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Canadian Solar Inc. (&#8220;CSI&#8221;) was incorporated pursuant to the laws of the Province of Ontario in October 2001, and changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006. In July 2020, CSI filed articles of continuance, or the articles, to change its jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. As a result, CSI is governed by the British Columbia Business Corporation Act, or the BCBCA, and its affairs are governed by its notice of articles and the articles.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">CSI and its subsidiaries (collectively, the &#8220;Company&#8221;) design, develop, and manufacture solar ingots, wafers, cells, modules and other solar power and battery storage products. In recent years, the Company has increased investment in its energy business, which primarily consists of solar and battery storage project development and sale, operating solar power systems and sale of electricity. As of December 31, 2021, major subsidiaries of CSI are included in Appendix 1.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In July 2020, the Company announced its plan to carve-out and publicly list its legacy Module and System Solutions (&#8220;MSS&#8221;) subsidiary, CSI Solar Co., Ltd., in China (&#8220;the IPO&#8221;). In preparation for the IPO, the Company successfully completed the restructuring of its business segments during the fourth quarter of 2020, and transferred China solar power system and project assets from CSI Solar to the Global Energy segment in November 2021 as part of the CSI Solar Co., Ltd. carve-out listing process. Refer to Note 22 for further information. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">To qualify CSI Solar Co., Ltd. for the planned carve-out IPO and to bring in leading institutional investors and strategic partners (&#8220;third-party investors&#8221;), the Company also completed a capital raising in 2020 by transferring a portion of CSI Solar Co., Ltd. shares to third-party investors for an aggregate consideration of RMB1.50 billion (approximately $219,000), which was determined based on the equity value of CSI Solar Co., Ltd. of RMB7.50 billion (approximately $1,100,000). At the same time, selected employees also purchased existing CSI Solar Co., Ltd. shares from the Company for an aggregated consideration of RMB31 million (approximately $4,500) at the same price. As of December 31, 2020 and 2021, total proceeds of $224,553 were fully received and recorded as non-controlling interests in subsidiaries on the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In addition, CSI Solar Co., Ltd. approved an employee incentive plan (the &#8220;ESOP scheme&#8221;) and utilized a limited liability partnership (the &#8220;LLP&#8221;) as a vehicle to hold CSI Solar Co., Ltd. shares that will be used under the ESOP scheme. Eligible CSI Solar Co., Ltd. directors and employees and board members have collectively agreed to subscribe to equity interest in the LLP for an aggregate of RMB248 million($36,342) at a discount of 30%, or at an equity valuation of RMB5.25 billion (approximately $768,000), for which the vesting conditions include the successful completion of the IPO and service period. The ESOP scheme will be accounted for based on the grant date fair value which equals to the value of the discount benefited by the ESOP scheme participants. Compensation cost will be recognized over the vesting period upon and after completion of IPO, therefore, nil was recognized in the years ended December 31, 2020 and 2021. As of December 31, 2020 and 2021, $36,342 of subscription advances were fully received and recorded as other payables on the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2020 and 2021, the third-party investors and Canadian Solar employees, in aggregate, owned 20.4% of for CSI Solar Co., Ltd. The Company&#8217;s wholly-owned global project development business, its Global Energy subsidiary, is not part of this transaction.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173897568">
<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, 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)&#160;&#160;&#160;Basis of presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#8220;U.S.&#160;GAAP&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#8220;VIEs&#8221;) for which the Company is a primary beneficiary. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. 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;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#8217;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the Company&#8217;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(c)&#160;&#160;&#160;Use of estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#8217;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of budget cost and estimates of variable consideration), allowance for credit losses on accounts receivable, other receivables and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#8220;ARO&#8221;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted cash represents amounts held by banks, which are not available for the Company&#8217;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(e)&#160;&#160;&#160;Accounts receivable, unbilled</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(f)&#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;">Before 2020, the Company determined its allowance for doubtful accounts by actively monitoring the financial condition of its customers to determine the potential for any nonpayment of accounts receivable trade, advances to suppliers and other receivables. In determining its allowance for doubtful accounts, the Company also considered other economic factors, such as aging trends. The Company believed that its process of specific review of customers, combined with overall analytical review, provided an effective evaluation of ultimate collectability of trade receivables. Provisions for allowance for doubtful accounts were recorded as general and administrative expenses 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;">After the adoption of ASU 2016-13 &#8220;Financial Instruments&#8212;Credit Losses (Topic 326)&#8221; beginning on January 1, 2020, the financial instruments 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 cater for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company began purchasing credit insurance from insurers, such as the China Export &amp; Credit Insurance Corporation, since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $386 and $1,409 as of December 31, 2020 and 2021, respectively and a corresponding reduction in bad debt&#160;expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)&#160;&#160;&#160;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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h)&#160;&#160;&#160;Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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 6pt 0pt;">Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(i)&#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 and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects to a third party customer. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage power system. 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 and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase 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 6pt 0pt;">Solar and battery storage projects are preliminarily 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 electricity are classified as solar power systems on the consolidated balance sheets. As of December 31, 2020 and 2021, no battery storage power system were recorded on the consolidated balance sheets. During the development phase, solar and battery storage projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970-360, as they are considered in substance real estates. The costs to construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year, which meet the criteria of ASC 360, 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 6pt 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 project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, 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 operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#8220;project companies&#8221;. The Company consolidates project companies as described in note 2(b) above. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar and battery storage power systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#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. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)&#160;&#160;&#160;Assets acquisition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#8217; carrying amounts on the Company&#8217;s books. If the consideration given is not in the form of cash (that is, in the form of non cash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)&#160;&#160;Property, plant and equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><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;">20 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5-10 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued) </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(m)&#160;&#160;&#160;Solar power systems</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Solar power systems 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, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. </span></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 is 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 of 20 to 25 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#8217;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from 20-25 years to 30 years, based on internal studies and market analysis that support a 30-year useful life as appropriate given advances in solar power technology. The useful life was not changed for projects to be transferred to an offtaker at the end of a PPA that is less than 30 years in duration. The change is being accounted for prospectively as a change in accounting estimate. Depreciation expense for the year ended December 31, 2021 would have been lowered by $2,186 if the change had been made at the beginning of 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(n)&#160;&#160;&#160;Intangible assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">1-10 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(o)&#160;&#160;&#160;Prepaid 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;">Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#8220;PRC&#8221;). Amounts are charged to earnings ratably over the lease periods of 20 to 50 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(p)&#160;&#160;&#160;&#160;Investments in affiliates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on investment, and the rest of the amount is considered as return of investment.</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, 2019, 2020 and 2021, the Company recorded nil, $24,060 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(q)&#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 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 based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $21,866, $11,854 and $6,084 for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(r)&#160;&#160;&#160;&#160;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 sell the asset to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(s)&#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. Assets retirement obligation (&#8220;ARO&#8221;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#8220;ASC 410-20&#8221;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it 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. The Company&#8217;s ARO included in solar power systems was not material as of December 31, 2020 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Effective January 1, 2019, the Company adopted Accounting Standards Update (&#8220;ASU&#8221;) No. 2016-02, Leases (Topic 842), as amended (&#8220;ASC 842&#8221;) for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use (&#8220;ROU&#8221;) assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use (&#8220;ROU&#8221;) asset and lease liability. 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 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;">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 are not recorded on the consolidated balance sheets.</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 and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in 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 charge in asset impairments on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(v)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">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.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar power products and materials</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Solar power products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains 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 (aa) for the Company&#8217;s accounting policy for warranty. </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 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 customer. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery storage solutions and EPC services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recognizes revenue for the sales of battery storage solutions (system integration business, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#8217;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;Revenue recognition (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total anticipated 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar and battery storage projects</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects and battery storage power projects (project development business, including sourcing land, interconnection, structuring power purchase agreements and other permits and requirements for battery storage projects) are recognized at a point in time when customers obtain control of solar and battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The solar and battery storage projects are often held in separate legal entities which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#8220;project companies&#8221;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">O&amp;M and asset management services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#8217;s performance under the terms of service arrangements. Revenues from O&amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performances and the costs of O&amp;M and asset management services are expensed when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Electricity revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by the Company&#8217;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when 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, 2019, 2020 and 2021, the Company recognized performance-based energy incentives related to electricity generated of $3,915, $6,628 and $9,402, 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&#8217;s electricity revenue during the years ended December 31, 2019, 2020 and 2021 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;">2019</b></p></td><td style="vertical-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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;"> 5,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,302</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#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;"> 629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,118</p></td></tr><tr><td style="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;"> 5,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,420</p></td></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-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 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The disaggregation of revenue from contracts with customers for the years ended December 31, 2019, 2020, and 2021 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 (Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation. Refer to Note 22 for further information.):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,210,459</p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,704,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;">$</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></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,389</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 696,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,068,179</p></td></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;"> 22,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,904</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#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&#8217;s contract assets and liabilities are as follow:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td 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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">2021</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;">$</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;"> 28,461</p></td><td style="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;">$</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;"> 37,244</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;">&#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.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;"> 189,470</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 3pt 0pt 0pt;"> 135,512</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,494</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 234,006</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;">For the year ended December 31, 2021, $199,140 of the Company&#8217;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2021. Contract liabilities of $234,006 as of December 31, 2021 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 0pt 6pt 0pt;">The Company has applied the practical expedients related to the revenue requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the revenue guidance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</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 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Shipping and handling </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of $88,079, $134,248 and $316,358, are included in selling and distribution expenses for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;&#160;Research and development</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Costs related to the design, development, testing and enhancement of products are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $47,045, $45,167 and $58,407 for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Government grants primarily consist of unrestricted and restricted grants and subsidies. Unrestricted grants received that allowed the Company&#8217;s full discretion in utilizing the funds are recognized as other operating income when it is probable that all the conditions stipulated by the local governments, generally for operating a business in their jurisdictions and compliance with specific policies promoted by the local governments, have been satisfied. Restricted grants received that are related to prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;"> (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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,245)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (38,468)</p></td></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 on disposal of solar power system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,666)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,091)</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 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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Insurance claims on) weather-related project damages </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,025)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,408</p></td></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;"> (10,536)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,523)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (47,068)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2009, the Company 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company increased its guarantee for defects in materials and workmanship up to 12 years and the Company warrant that, for a period of 25 years, its standard polycrystalline 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 24th year, the actual annual power output decline of the module will be no more than 0.7%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of 30 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For solar projects built by the Company, 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 for a period of up to ten years following the energizing of the solar 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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties 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 for sales of solar power&#160;products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties. 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 $1,728 and $528 as of December 31, 2020 and 2021, respectively and was included as a component of prepaid expenses and other current&#160;assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#8217;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#8217;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is 25 or 30 years and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $82,532 and $87,729 as of December 31, 2020 and 2021, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made upward adjustments to its accrued warranty costs of $2,622 and other non-current assets of $2,153 for the year ended December 31, 2021, to reflect the recent increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $28,044, $26,931 and $45,053 are included in cost of revenues for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The United States dollars (&#8220;U.S. dollars&#8221; or &#8220;$&#8221;), the currency in which a substantial amount of the Company&#8217;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial records of certain of the Company&#8217;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#8220;RMB&#8221;), Euros, Canadian dollars (&#8220;CAD&#8221;), Japanese yen, Brazilian reals (&#8220;BRL&#8221;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#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)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;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 and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#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 2019, 2020 and 2021 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 Canadian dollars. The Company&#8217;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, toll manufacturing fees, 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, Australian dollars and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. 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. Since 2008, the Company has hedged part of its foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#160;Concentration of credit risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the Company&#8217;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. 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, 2020 and 2021, 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:77.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:8.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.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:9.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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:20.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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">2020</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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.66%;margin:0pt;padding:0pt;"><p 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:77.21%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 43,821</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="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,257</p></td></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:8.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;"> &#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;margin:0pt;"><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:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,117</p></td></tr><tr><td style="vertical-align:bottom;width:77.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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:8.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;"> &#8212;</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;"><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:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,026</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Not in excess of 10% of total advances to suppliers as of December 31, 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 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#160;Fair value of financial instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 1</i>&#8212;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#8217;s restricted cash balance and listed equity securities for all periods presented uses level one fair value inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 2</i>&#8212;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Level 3&#8212;</i>Unobservable inputs reflecting the Company&#8217;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.<span style="font-style:italic;font-weight:bold;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#160;Derivatives instruments and hedging activity</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#8217;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#8217;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#8217;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and the Company, as necessary. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#160;Earnings per share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#160;Share-based compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#8220;RSUs&#8221;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#160;Risks and uncertainties related to the COVID-19 pandemic</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#8217;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#8217;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#8217;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed to slow the spread of COVID-19.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#160;Recently issued accounting pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2019, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU 2019-12, &#8220;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#8221;, which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. This ASU is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company adopted this standard effective January 1, 2021. 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 March 2020, the FASB issued ASU No. 2020-04, &#8220;Reference Rate Reform (Topic 848)&#8221;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#8217;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#8220;Reference Rate Reform &#8212; Scope,&#8221; which clarified the scope of ASC 848 relating to contract modifications. With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The company has $956,523 of LIBOR debt as of December 31, 2021 and projects the balance will be approximately $530,662 by the June 2023 discontinuance date. All of the Company&#8217;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#160;Recently issued accounting pronouncements (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In August, 2020, the FASB issued ASU No. 2020-06, Debt&#8212;Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging&#8212;Contracts in Entity&#8217;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#8217;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard is not expected to 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 November 2021, the FASB issued ASU 2021-10, &#8220;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#8221;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#8217;s financial statements. The new standard was effective for the Company beginning January 1, 2022. The Company is currently evaluating the impact of adopting this guidance and the potential effects it could have on the Company&#8217;s consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI https://asc.fasb.org/topic&amp;trid=2197479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI https://asc.fasb.org/topic&amp;trid=2122394<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176849040">
<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, 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_ReceivablesAbstract', window );"><strong>ALLOWANCE FOR CREDIT LOSSES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesTextBlock', window );">ALLOWANCE FOR CREDIT LOSSES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">3.&#160;ALLOWANCE FOR CREDIT LOSSES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Allowance for credit losses is comprised of allowances for accounts receivable trade, advances to suppliers and other receivables. Other receivables 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;">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;">2020</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;">2021</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;"> 449,251</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.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;"> 698,498</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;"> (40,293)</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.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;"> (47,126)</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;"> 408,958</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.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;"> 651,372</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;">2020</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;">2021</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;"> 299,019</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.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;"> 279,800</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,700)</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.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;"> (19,682)</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;"> 279,319</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.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;"> 260,118</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;">2020</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;">2021</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;"> 238,779</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.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;"> 280,350</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;"> (8,802)</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.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,397)</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;"> 229,977</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.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;"> 270,953</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">3. ALLOWANCE FOR CREDIT LOSSES (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 and advances to suppliers:</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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Advances&#160;to&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts&#160;Receivable&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Suppliers&#160;and</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trade</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other&#160;Receivable</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2018</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,630</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,386)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,657</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts written-off against allowances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,452)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;border-bottom: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,493)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (123)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,712</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cumulative-effect adjustment for the adoption of ASU 2016-13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,647</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Writeoffs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (639)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,490)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 633</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;"> 40,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,502</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;"> 7,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Writeoffs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (197)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (53)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (141)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 186</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForCreditLossesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for allowance for credit losses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -URI https://asc.fasb.org/topic&amp;trid=2196771<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForCreditLossesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180210944">
<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, 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_InventoryDisclosureAbstract', window );"><strong>INVENTORIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">INVENTORIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">4.&#160;INVENTORIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Inventories consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,308</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155,433</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,509</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 536,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 919,432</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 695,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,192,374</p></td></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 $181,012 and $163,078 as of December 31, 2020 and 2021, respectively, that allow solar energy systems to qualify for the U.S. Federal Investment Tax Credit by satisfying the 5% safe harbor method outlined in the U.S. Internal Revenue Service (IRS) guidance notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2019, 2020 and 2021, inventory was written down by $19,447, $42,907 and $14,070, respectively, to reflect the lower of cost and net realizable value.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174721536">
<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, 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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProjectAssetsDisclosureTextBlock', window );">PROJECT ASSETS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">5.&#160;PROJECT ASSETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Project assets consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; Acquisition cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,549</p></td><td style="vertical-align:bottom;white-space: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;"> 70,651</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; EPC and other cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,092,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 956,710</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,137,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,361</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 747,764</p></td><td style="vertical-align:bottom;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;"> 594,107</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 389,702</p></td><td style="vertical-align:bottom;white-space: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;"> 433,254</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 $20,194, $369 and $17,152 for the years ended December 31, 2019, 2020 and 2021, 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>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176493392">
<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, 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_PropertyPlantAndEquipmentAbstract', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">PROPERTY, PLANT AND EQUIPMENT, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">6.&#160;PROPERTY, PLANT AND EQUIPMENT, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Property, plant and equipment, net consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</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;">2021</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;"> 533,647</p></td><td style="vertical-align:bottom;white-space: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.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;"> 724,940</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;"> 14,804</p></td><td style="vertical-align:bottom;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.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;"> 32,995</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,191,780</p></td><td style="vertical-align:bottom;white-space: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.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,477,638</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;"> 75,656</p></td><td style="vertical-align:bottom;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.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;"> 86,616</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;"> 7,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;">&#160;</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;"> 9,833</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;">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;"> 20,231</p></td><td style="vertical-align:bottom;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;"> 31,691</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;"> 1,843,761</p></td><td style="vertical-align:bottom;white-space: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.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,363,713</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (827,601)</p></td><td style="vertical-align:bottom;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,019,988)</p></td></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;">Impairment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (52,149)</p></td><td style="vertical-align:bottom;white-space: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.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (42,828)</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;">Subtotal</p></td><td style="vertical-align:bottom;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;"> 964,011</p></td><td style="vertical-align:bottom;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.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;"> 1,300,897</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;">Construction in process</p></td><td style="vertical-align:bottom;white-space: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:1px solid #000000;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,720</p></td><td style="vertical-align:bottom;white-space: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.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,980</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;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;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:3px double #000000;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,157,731</p></td><td style="vertical-align:bottom;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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,401,877</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 $148,034, $197,600 and $266,956 for the years ended December 31, 2019, 2020 and 2021, respectively. Construction in process primarily represents production facilities under construction and the machinery under installation. </p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI https://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180176992">
<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, 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_SolarPowerSystemsAbstract', window );"><strong>SOLAR POWER SYSTEMS, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarPowerSystemsTextBlock', window );">SOLAR POWER SYSTEMS, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">7. SOLAR POWER SYSTEMS, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Solar power systems, net consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems in operation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,339</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems under construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;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,565</p></td><td style="vertical-align:bottom;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,684</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space: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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30,535)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,760)</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 158,262</p></td><td style="vertical-align:bottom;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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,263</p></td></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 solar power systems was $6,379, $6,396 and $11,212 for the years ended December 31, 2019, 2020 and 2021, 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>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160181585216">
<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, 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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>INTANGIBLE ASSETS, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">INTANGIBLE ASSETS, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">8.&#160;INTANGIBLE ASSETS, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s intangible assets, net:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,562)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,082)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,977</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,644)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,992</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,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;"> (1,525)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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</p></td></tr><tr><td style="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;"> 41,085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (18,674)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 22,411</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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;"> 42,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;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,199)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 22,429</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Amortization expense for the years ended December 31, 2019, 2020 and 2021 were $5,310, $5,122 and $4,601, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Amortization expenses of the above intangible assets are expected to be approximately $4,409, $3,228, $2,691, $2,198, $2,052 and $4,414 for the years ending December&#160;31, 2022, 2023, 2024, 2025, 2026 and thereafter, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -URI https://asc.fasb.org/subtopic&amp;trid=2144471<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160181571504">
<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, 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">FAIR VALUE MEASUREMENT</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures at fair value its financial assets and liabilities by using a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value. Fair value is the price that would be received from the sale of an asset or paid to transfer a liability (i.e., an exit price) on the measurement date in an orderly transaction between market participants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2020 and 2021, with the exception of its listed equity securities which was measured based on unadjusted quoted prices for identical assets in active market (Level 1 inputs), the Company&#8217;s financial assets and liabilities were measured at fair value on a recurring basis in periods subsequent to their initial recognition all using the significant other observable inputs (Level 2 inputs). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Foreign exchange</span> <span style="font-style:italic;font-weight:bold;">option and forward contracts</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company entered into certain foreign currency derivative contracts to protect against volatility of future cash flows caused by the changes in foreign exchange rates. The foreign currency derivative contracts do not qualify for hedge accounting and, as a result, the changes in fair value of the foreign currency derivative contracts are recognized in the consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s foreign currency derivative instruments relate to foreign exchange options or forward contracts involving major currencies such as Renminbi, Brazilian reals, Euros, Canadian dollars and South African rand. Since its derivative instruments are not traded on an exchange, the Company values them using valuation models. Interest rate yield curves and foreign exchange rates are the significant inputs into these valuation models. These inputs are observable in active markets over the terms of the instruments the Company holds, and accordingly, the fair value measurements are classified as Level 2 in the hierarchy. The Company considers the effect of its own credit standing and that of its counterparties in valuations of its derivative financial instruments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest rate swap and commodity hedge</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In July 2020, the Company completed the sale of its class B membership interests in the Roserock project to an unrelated third party, and consequently the Company&#8217;s interest rate swap contracts with total notional amounts of approximately $399,000 were paid off following the loan repayment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company 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 6pt 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">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;text-indent:18pt;margin:0pt;">The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2020 and 2021 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2019, 2020 and 2021 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Assets</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,124</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 162</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">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;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 assets</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: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;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 assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">76</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;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;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;">&#160;</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;"> 23,351</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;">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:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,362</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,622</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</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;"> 10,755</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;">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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,622</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;of&#160;Gain&#160;(Loss)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized&#160;in&#160;Statements</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Operations</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gain&#160;(Loss)&#160;Recognized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Statements&#160;of&#160;Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">2021</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;"> (20,249)</p></td><td style="vertical-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:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,807</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</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 3pt 0pt 0pt;"> 22,582</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;"> (1,022)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 220</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;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></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (947)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (22,218)</p></td><td style="vertical-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:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,001</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,785</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;">Listed equity securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2020, the Company received shares of a company that is listed on Shenzhen stock exchange for the disposal of its ownership of Suzhou iSilver Materials Co., Ltd, valued at RMB91,370 (approximately $14,003) on the transaction date as part of the consideration. These shares were carried at fair value of $15,056 and $20,195 as of December 31, 2020 and 2021, respectively, included as a component of Prepaid expenses and other current assets. Unrealized gains on these shares of $1,048 and $4,744 was recorded as investment income in the consolidated statements of operations for the years ended December 31, 2020 and 2021, respectively.</p><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;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other fair value measurements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures certain long-lived assets or long-term investments at fair value on a non-recurring basis in periods after initial measurement in circumstances when the fair value of such assets is below its recorded cost and impairment is required. The Company assesses ROU assets for impairment quarterly. If the carrying value of ROU asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recorded impairment charges for certain manufacturing asset group of $21,866, $11,854 and $6,084 for the years ended December 31, 2019, 2020 and 2021, respectively. The fair value of these assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded in general and administrative expenses of CSI Solar segment on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other fair value measurements </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recorded impairment loss on project assets of $20,194, $369 and $17,152 for the years ended December 31, 2019, 2020 and 2021, respectively. The fair value of project assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded as cost of revenues on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company also holds financial instruments that are not recorded at fair value in the consolidated balance sheets, but whose fair value is required to be disclosed under the U.S. GAAP. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, other receivables, accounts payables, short-term notes payable, amounts due to related parties, other payables and short-term borrowings approximate their fair values due to the shorter -term maturity of these instruments. Long-term borrowings were $446,090 and $523,634 as of December 31, 2020 and 2021, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The fair value of long-term borrowings was measured based on discounted cash flow approach, which is classified as Level 2 as the key inputs can be corroborated with market data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The carrying value of the Company&#8217;s outstanding convertible notes was $223,214 and $224,675 as of December 31, 2020 and 2021, respectively, which approximates the fair value.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180176992">
<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, 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_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract', window );"><strong>VARIABLE INTEREST ENTITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableInterestEntityDisclosureTextBlock', window );">VARIABLE INTEREST ENTITIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">10. VARIABLE INTEREST ENTITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2016, the Company, through its subsidiaries, entered into silent partnership agreements and/or various types of bankruptcy remote arrangements for the sole purpose of holding Japan project companies. Under the silent partnership agreements and/or the bankruptcy remote arrangements, the project companies are considered VIEs in which the Company has no majority equity interests, but is entitled to substantially all of the economic interests of the projects. In addition, the Company has the power to make decisions over the activities that most significantly impact the economic performance of the projects under the asset management agreement signed simultaneously between the project companies and a wholly-owned subsidiary, Canadian Solar Projects K.K. As such, the Company concluded it was the primary beneficiary of the project companies and thus these project companies were accounted for as consolidated VIEs since their establishment. The Company does not retain any ownership interest nor control of the bankruptcy remote entities, which individually and, in the aggregate, are insignificant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2020 and 2021, 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:69.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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: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:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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: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:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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: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:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,200</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 337,836</p></td><td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,315</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,580</p></td><td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,091</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 459,480</p></td><td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 390,606</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 180,773</p></td><td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,857</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,880</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,845</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,872</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 294,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 257,609</p></td></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;">Net income and overall cash flow activities during the years ended December 31, 2020 and 2021 were immaterial to the Company&#8217;s consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableInterestEntityDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a variable interest entity (VIE), including but not limited to, judgments and assumptions in determining whether to consolidate and in identifying the primary beneficiary, gain (loss) recognized on the initial consolidation of the VIE, terms of arrangements, amounts and classification of the VIE's assets and liabilities, and the entity's maximum exposure to loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI https://asc.fasb.org/topic&amp;trid=2197479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160181585216">
<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, 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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract', window );"><strong>INVESTMENTS IN AFFILIATES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsDisclosureTextBlock', window );">INVESTMENTS IN AFFILIATES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Investments in affiliates consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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></tr><tr><td style="vertical-align:bottom;width:59.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: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 colspan="7" style="vertical-align:bottom;white-space:nowrap;width:38.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;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.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: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 colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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></tr><tr><td style="vertical-align:bottom;width:59.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: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:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.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: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:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.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: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:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;background:#cceeff;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,980</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:8.75%;background:#cceeff;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.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,889</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.64</p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,969</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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.78</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.78</p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#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:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;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:59.79%;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.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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,274</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.55</p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,342</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:8.75%;background:#cceeff;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-49</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;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:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;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-49</p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;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,291</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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p 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 6pt 0pt;">In 2017, Canadian Solar Infrastructure Fund, Inc. (&#8220;CSIF&#8221;) completed its initial public offering. On March 5, 2021, CSIF issued 151,500 investment units at 125,115 Japanese yen per unit through public offering, the Company purchased 22,725 units in the amount of JPY2,843,238 ($25,683). Through its initial private placement of 1,500 units, the purchase of 25,395 units in the initial public offering on October 26, 2017 and allotment of 7,000 units on September 5, 2018, the Company held a total of 56,620 units as of December 31, 2021 at a total subscription amount of JPY6,247,998 ($55,697). As of December 31, 2020 and 2021, the Company owned 14.66% and 14.64% of total units of CSIF, respectively. One out of the three members of the board of directors of CSIF represents the Company. The quorum for a board resolution of CSIF is a majority of the members of the board of directors, and the adoption of a resolution requires a majority of the votes present. As such, the Company is considered having significant influence over the investee and the equity method is used in this investment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2015, the Company, through CSI Solar Co., Ltd., established an entity, Suzhou Financial Leasing Co., Ltd. with 4.78% effective interests. One of five board members is designated by CSI Solar Co., Ltd. This investment is accounted for under the equity method as CSI Solar Co., Ltd. has significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 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 in investments in affiliates on its consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2021, the Company, through CSI Solar Co., Ltd., acquired a 4.55% effective interest in JuSheng (Suzhou) Solar Tech Co., Ltd.. This investment is accounted for by CSI Solar Co., Ltd. under the equity method as it designated a representative director to participate in the investee&#8217;s policy-making processes and exercised significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2020 and December 2021, the Company completed the sales of its majority interests in Horus Solar S.A. De Capital Variable (&#8220;Horus&#8221;) which holds its Horus project, and Recursos Solares PV De M&#233;xico II S.A. De Capital Variable (&#8220;Recursos&#8221;) which holds its Tastiota project, respectively, to unrelated third parties. In connection with these sales, the Company&#8217;s interest in Horus and Recursos decreased to 49%. 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Equity in earnings of unconsolidated investees were $28,948, $10,779 and $7,256 for the years ended December 31, 2019, 2020 and 2021, 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_EquityMethodInvestmentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -URI https://asc.fasb.org/topic&amp;trid=2196965<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160181571504">
<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, 2021</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">LEASE</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company leases office space, office equipment and vehicles for solar power plants construction, and manufacturing facilities in various regions where the Company operates. Leased assets are mainly located in the PRC, United States and Canada.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The leases considered as ROU assets have various terms of up to twenty years. The Company also has certain leases with terms of 12 months or less, which are not recorded on the consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of lease expenses were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2020</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;2021</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 right-of-use 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;"> 8,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,920</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,497</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,349</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;"> 19,630</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;"> 18,443</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;"> 850</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,884</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;"> 30,013</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;"> 36,596</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Other supplemental information related to leases 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: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;2020</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;2021</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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">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,497)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,349)</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">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;"> (20,589)</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,972)</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">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;"> (19,163)</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;"> (35,554)</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;padding-left:7.2pt;text-indent:-7.2pt;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;"> 10,666</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;"> 60,102</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;padding-left:7.2pt;text-indent:-7.2pt;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,892</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;"> 24,694</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;padding-left:7.2pt;text-indent:-7.2pt;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;"> (6,572)</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;"> (1,880)</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;">2020</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;">2021</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 operating 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;"> 0.90</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;"> 2.66</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 operating 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;"> 3.07</p></td><td style="vertical-align:bottom;white-space: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;"> 4.40</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;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></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;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.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;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: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 operating lease discount rate - finance 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;"> 5.54</p></td><td style="vertical-align:bottom;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;"> 4.95</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: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 operating lease discount rate - operating 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.18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.34</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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2021, maturities of operating and finance lease liabilities were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year Ending December&#160;31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 33,149</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 17,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,993</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 16,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 21,105</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,880</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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;"> 2,398</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,651</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,651</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,471</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 53,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 94,176</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,071</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,623</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">NPV for future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 50,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,553</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,934</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,404</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,619</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,553</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, 2020, 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.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;">Operating&#160;Lease&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.64%;margin:0pt;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.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.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;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.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-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.64%;margin:0pt;padding:0pt;"><p 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.86%;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.08%;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.58%;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.08%;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%;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.64%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 14,374</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: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;"> 22,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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,080</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 7,427</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: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;"> 2,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,941</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 3,632</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:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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,632</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 1,242</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: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;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;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,242</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 369</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:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 369</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;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.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;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,859</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:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;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,859</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 28,903</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: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;"> 25,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,123</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 467</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: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;"> 963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;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,430</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">NPV for future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:3px double #000000;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,436</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: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;"> 24,257</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:3px double #000000;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:56.86%;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:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#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.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: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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#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:56.86%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p 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:56.86%;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_HBHGmGHHfEuos-2dVi7JDg;"><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.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 15,204</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: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;"> 21,887</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;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,091</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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_MtGyIV6DrU6RTTlWhUYIsw;"><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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;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,232</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: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;"> 2,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 15,602</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;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,436</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 24,257</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 52,693</p></td></tr></table><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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176482784">
<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, 2021</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>BORROWINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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;margin:0pt;">Borrowings consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 912,549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,092,329</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings, current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,736</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,886</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings on project assets &#8212; current<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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;"> 198,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 321,655</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,401,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,592,870</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 446,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 523,634</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,847,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,116,504</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</span></td></tr></table><div style="margin-top:6pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, the Company had contractual credit facilities of $3,357,009, of which $1,595,684 has been drawn under borrowings and $511,700 has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and $1,249,625 was available for draw down upon demand. In addition, as of December 31, 2021, the Company also had uncommitted credit facilities of $962,564, of which $375,963 has been drawn under borrowings and $250,321 under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. As of December 31, 2021, $514,756 of the Company&#8217;s borrowings under its energy business were non-recourse in nature.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, borrowings of $1,348,352 were secured by property, plant and equipment with carrying amounts of $417,055, inventories of $163,910, prepaid land use rights of $52,253, restricted cash of $67,031, accounts receivable of $32,481, equity interest of $348,238 and project assets and solar power systems of&#160;$682,136. These borrowings were recorded as short-term borrowings of $596,484, long-term borrowings, current portion of $98,949, long-term borrowings on project assets &#8211; current of $318,506 and long-term borrowings of $334,413.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s significant borrowings during the years ended December 31, 2020 and 2021 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2016, Canadian Solar Projects K.K. obtained a syndicated three-year loan facility of JPY9,600,000 ($85,200) with Sumitomo Mitsui Banking Corporation (&#8220;SMBC&#8221;), acting as the lead arranger and 13 other participating financial institutions. The facility is unsecured and is guaranteed by the Company. The loan proceeds may be used to develop its solar project pipeline in Japan and for general corporate working capital purposes. In October 2020, the facility agreement was renewed with 11 participating financial institutions led by SMBC at a term of two years and a facility amount of JPY9,100,000 ($88,200). In September 2021, the subsidiary further expanded the facility to JPY10,000,000 ($89,859) and the facility will mature in September 2024. As of December 31, 2021, the loan was fully drawn and all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">In 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd.  obtained a </span>five-year syndicated credit facility of $188,000 with the Siam Commercial Bank Public Company Limited (&#8220;SCB&#8221;), acting as the lead arranger and China Minsheng Banking Corporation Ltd as one of the lenders. The facility is guaranteed by the Company. Under the same facility agreement, the subsidiary obtained a working capital facility of THB3,540,000 ($106,729) from SCB to support the operations of its manufacturing company in Thailand. As of December 31, 2021, the long-term loan outstanding balance was $61,506 and the outstanding balance of working capital facility was $103,487. As of December 31, 2021, all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Recurrent executed a $75,000 development loan with Nomura. The loan facility leverages Recurrent&#8217;s pipeline of solar and battery storage projects in the U.S. and Canada and is guaranteed by the Company. In November 2021, the facility was renewed with an extended amount totaling $125,000 that matures in November 2023. As of December 31, 2021, the loan was fully drawn, and all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd. obtained a syndicated five-year non-recourse facility of AUD289,419 ($206,022) with Australia and New Zealand Banking Group Limited acting as the facility agent and 3 other financial institutions, to finance the construction of the Suntop and Gunnedah Solar Farms in Australia. The facility is secured by the project assets and will mature in 2025. As of December 31, 2021, the outstanding balance was $154,027 and all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February 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. The facility is for construction of the 100MWp Azuma Kofuji project in Japan. The project finance loan is secured by project assets and will mature in November 2023, As of December 31, 2021, the outstanding balance was $105,542 and all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In Mar 2021, four Japanese subsidiaries issued JPY8,100,000 ($73,167) of non-recourse green project bonds to construct 42.8 MW of projects in Japan. The project bonds are secured by project assets and will mature in 2039.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April 2021, CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc. entered into two credit facilities in the aggregate of RMB1,150,000 ($177,820) with Bank of China to support manufacturing operations in China. CSI Solar Co., Ltd. is the borrower or guarantor of these credit facilities and the credit facilities mature in March 2023.. As of December 31, 2021, $135,008 was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In August 2021, Canadian Solar Manufacturing (Changshu) Inc. entered into a RMB600,000 ($92,766) one-year credit facility with China Merchants Bank. The credit facility is unsecured and is guaranteed by CSI Solar Co., Ltd and matures in August 2022. As of December 31, 2021, $62,333 was drawn, and all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November 2021, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.) entered into a RMB580,000 ($90,918) long term loan facility with Shanghai Pudong Development Bank. The loan facility is secured by certain property, plant and equipment, guaranteed by CSI Solar Co., Ltd., and matures in November 2028. As of December 31, 2021, $7,387 was drawn. As of December 31, 2021, all the requirements of financial covenants were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">These obtained long-term borrowings mentioned above bear effective floating interest rates from 1.0% to 5.7%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Future principal repayments on the long-term borrowings are as follows. Included in the future principal repayment of 2022 are $321,655 of long-term borrowings on project assets &#8211; current, associated with certain solar and battery storage projects that are expected to be sold within one year:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</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;"> 500,541</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;">2023</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;"> 336,504</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;">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;</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;"> 160,043</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;"><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;"> 6,822</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;"> 4,783</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;"> 15,482</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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 1,024,175</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;">Less: future principal repayment related to long-term borrowings, current portion</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%;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;"> (500,541)</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 long-term portion</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;"><span style="visibility:hidden;">&#8203;</span></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;"> 523,634</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 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest expenses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">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.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.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.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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.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.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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</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.16%;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.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:11.32%;background:#cceeff;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.26</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;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.03</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.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings on project assets &#8211; current</p></td><td style="vertical-align:bottom;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:11.32%;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.63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;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.04</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:71.16%;background:#cceeff;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.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:11.32%;background:#cceeff;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.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;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.46</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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company capitalized interest costs incurred on borrowings obtained to finance construction of solar and battery storage projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2019, 2020 and 2021 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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 17,316</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; property, plant and equipment</p></td><td style="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;"> 2,620</p></td><td style="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;"> 154</p></td><td style="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;"> &#8212;</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 expense</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:1px solid #000000;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,326</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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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:1px solid #000000;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></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;">Total interest incurred</p></td><td style="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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,740</p></td><td style="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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-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%;border-bottom:3px double #000000;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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174807296">
<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, 2021</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayableAbstract', window );"><strong>SHORT-TERM NOTES PAYABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ShortTermNotesPayableTextBlock', window );">SHORT-TERM NOTES PAYABLE</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">14.&#160;SHORT-TERM NOTES PAYABLE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company enters into arrangements with banks whereby the banks issue notes to the Company&#8217;s 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 banks&#8217; settlement of the notes. Given the purpose of these arrangements is to extend the payment dates of accounts payable, 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, 2020 and 2021, short-term notes payable was $710,636 and $881,184, 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>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176482784">
<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, 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_ProductWarrantiesDisclosuresAbstract', window );"><strong>ACCRUED WARRANTY COSTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyDisclosureTextBlock', window );">ACCRUED WARRANTY COSTS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">15.&#160;ACCRUED WARRANTY COSTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s warranty activity is summarized below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">2021</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;">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;"> 50,605</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;"> 37,732</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;"> 28,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,931</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;"> 45,053</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;"> (23,282)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (46,067)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;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></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;"> (2,207)</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;"> 55,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,146</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -URI https://asc.fasb.org/topic&amp;trid=2155896<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174527024">
<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, 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_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract', window );"><strong>RESTRICTED NET ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedAssetsDisclosureTextBlock', window );">RESTRICTED NET ASSETS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">16.&#160;RESTRICTED NET ASSETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As stipulated by the relevant laws and regulations applicable to PRC&#8217;s foreign investment enterprise, the Company&#8217;s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (&#8220;PRC&#160;GAAP&#8221;) to non-distributable reserves, which include general reserve, enterprise expansion reserve and staff welfare and bonus reserve. The wholly-owned PRC subsidiaries are not required to make appropriations to the enterprise expansion reserve but appropriations to the general reserve are required to be made at not less than 10% of the profit after tax as determined under PRC GAAP. The board of directors determines the staff welfare and bonus&#160;reserve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The general reserve is used to offset future losses. The PRC subsidiaries may, upon a resolution passed by the stockholder, convert the general reserve into capital. The staff welfare and bonus reserve is used for the collective welfare of the employee 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 $602,460 as of December 31, 2021.</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>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177076880">
<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, 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_ConvertibleNotesDisclosureAbstract', window );"><strong>CONVERTIBLE NOTES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ConvertibleNotesDisclosureTextBlock', window );">CONVERTIBLE NOTES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">17.&#160;CONVERTIBLE NOTES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 16, 2020, the Company issued $200,000 of convertible notes (the &#8220;2020 Notes&#8221;). The Company granted the initial purchasers a 30-day option to purchase up to an additional $30,000 aggregate principal amount of the 2020 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2020 Notes are described as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Maturity date.</i> The 2020 Notes mature on October 1, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest.</i> The 2020 Notes holders are entitled to receive interest at 2.50% per annum on the principal outstanding, in semi-annually installments, payable in arrears on April 1 and October 1 of each year, beginning April 1, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Conversion.</i> The initial conversion rate is 27.2707 shares per $1,000 initial principal amount, which represents an initial conversion price of approximately $36.67 per share. The 2020 Notes are convertible at any time prior to maturity. The conversion rate is subject to change for certain anti-dilution events and upon a change in control. If the holders elect to convert the 2020 Notes upon a change of control, the conversion rate will increase by a number of additional shares as determined by reference to an adjustment schedule based on the date on which the change in control becomes effective and the price paid per common share in the transaction (referred to as the &#8220;Fundamental Change Make-Whole Premium&#8221;). The Fundamental Make-Whole Premium is intended to compensate holders for the loss of time value upon early exercise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Redemption.</i> The Company may redeem for cash all or any portion of the notes (i) at the Company&#8217;s option, on or after October 6, 2023, if the last reported sale price of the Company&#8217;s common stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption, or (ii) following the occurrence of certain tax related events, in each case, at a redemption price equals to 100% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2020 and 2021, the carrying value of the convertible notes was $223,214 and $224,675, net of unamortized issuance costs of $6,786 and $5,325, 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 $388 and $1,461 for the years ended December 31, 2020 and 2021, respectively. Coupon interest of $1,677 and $5,750 was recorded for the years ended December 31, 2020 and 2021, respectively, of which $1,677 and $1,438 was not paid and was recorded in other payables on the consolidated balance sheets as of December 31, 2020 and 2021, 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_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>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177076880">
<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, 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_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAXES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAXES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Income tax expenses (benefits)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The provision for income taxes is comprised of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;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;"> (61,880)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,896)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 5,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 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;"> 8,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (113,262)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,431</p></td></tr><tr><td style="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;"> 204,632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 189,398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (32,716)</p></td></tr><tr><td style="vertical-align: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;"> 29,335</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,642</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,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 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;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;"> 28,215</p></td><td style="vertical-align:bottom;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;"> 50,381</p></td><td style="vertical-align:bottom;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;"> 51,313</p></td></tr><tr><td style="vertical-align: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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 208,621</p></td><td style="vertical-align:bottom;white-space: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;"> 145,263</p></td><td style="vertical-align:bottom;white-space: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;"> 145,720</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-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;">Canada</p></td><td style="vertical-align:bottom;white-space: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;"> (3,420)</p></td><td style="vertical-align:bottom;white-space: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;"> 36,226</p></td><td style="vertical-align:bottom;white-space: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;"> (1,124)</p></td></tr><tr><td style="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;">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;"> (4,803)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (71,421)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="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;">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;"> 13,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 3pt 0pt 0pt;"> 18,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;"> 24,047</p></td></tr><tr><td style="vertical-align: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,057</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 16,865</p></td></tr><tr><td style="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;"> 56,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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;"> (6,558)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,792)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;"> (2,412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,604)</p></td></tr><tr><td style="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;"> (5,333)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,998)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (65,017)</p></td></tr><tr><td style="vertical-align: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;"> (2,953)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,571)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (353)</p></td></tr><tr><td style="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;">Other</p></td><td style="vertical-align:bottom;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;"> 2,637</p></td><td style="vertical-align:bottom;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;"> (8,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;">&#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;"> (948)</p></td></tr><tr><td style="vertical-align: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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,619)</p></td><td style="vertical-align:bottom;white-space: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;"> (24,238)</p></td><td style="vertical-align:bottom;white-space: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;"> (67,237)</p></td></tr><tr><td style="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 income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-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;">Canada</p></td><td style="vertical-align:bottom;white-space: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;"> (9,978)</p></td><td style="vertical-align:bottom;white-space: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,434</p></td><td style="vertical-align:bottom;white-space: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;"> (439)</p></td></tr><tr><td style="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;">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;"> (7,215)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,248)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="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;">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;"> 10,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,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:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;"> 9,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;">&#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;"> 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;">&#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;"> 15,917</p></td></tr><tr><td style="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;"> 42,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,983)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></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;">The Company mainly operates in Canada, PRC, Japan, the United States and Hong Kong.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">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% for the year ended December 31, 2019, and for the period from January 2020 to June 2020. In July 2020, CSI filed articles of continuance, or the articles, to change its jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. CSI is subject to federal, Ontario provincial and British Columbia provincial corporate income taxes at a rate of 26.5% for the period from July 2020 through December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Solutions&#160;Inc. was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of 25% for all years ended December 31, 2019, 2020 and 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">United&#160;States</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 22.9%, 22.2% and 26.4% for the years ended December 31, 2019, 2020 and 2021, 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 27.9%, 26.1% and 22.2% for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Japan</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Japan K.K. was incorporated in Japan and is subject to Japanese corporate income taxes at a normal statutory rate of approximately 31.8% for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Germany</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar EMEA&#160;GmbH was incorporated in Munich, Germany and is subject to German corporate income tax at a rate of approximately 33% for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Vietnam</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 Vietnam Co., Ltd was incorporated in Vietnam and is subject to Vietnamese corporate income taxes at a normal statutory rate of 10%. The Company enjoyed full tax exemption from 2016 to 2019 and uses a reduced statutory rate of 5% from 2020 to 2028.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Thailand</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand and is subject to Thailand corporate income taxes at a normal statutory rate of 20%. The Company currently has two Board of Investment certificates for full tax exemption which have different effective years. The licenses both started from year 2017, one of which will expire in 2022 and the other in 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and are subject to Hong Kong profits tax at a rate of 16.5% for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The other 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;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of the Company&#8217;s PRC subsidiaries, such as Suzhou Sanysolar Materials Technology Co., Ltd., Changshu Tegu New Material Technology Co., Ltd., CSI New Energy Development (Suzhou) Co., Ltd. (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd.), and Changshu Tlian Co., Ltd. were HNTEs and enjoyed preferential enterprise income tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">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 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:70.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:24.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><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Combined federal and provincial income tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of permanent difference</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Effect of different tax rate on earnings in other jurisdictions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of tax holiday</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Effect of true-up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Unrecognized tax provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of change in tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;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:6.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;border-bottom:3px double #000000;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></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:58.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: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.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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;">2019</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;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</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;">2021</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.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;">(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:58.68%;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: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;"> 7,956</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,287</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.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;"> 4,466</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;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: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;"> 0.13</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;"> 0.02</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.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;"> 0.07</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;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: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;"> 0.13</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;"> 0.02</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.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;"> 0.07</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of the deferred tax assets and liabilities are presented as&#160;follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,699</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,942</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Bad debt 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;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,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,175</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Inventory write-down</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,121</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,404</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Future deductible expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,910</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation and impairment difference of property, plant and equipment and solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,138</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,561</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</p></td><td style="vertical-align:bottom;white-space: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;"> 406</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Government subsidies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,470</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net operating losses carry-forward</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,850</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 110,012</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange loss and capital loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 491</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Interest limitation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,800</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,958</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,690</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 286,494</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (50,118)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (45,682)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, net of valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 240,812</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,153</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation difference of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,776</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Insurance recoverable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,746</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,452</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,046</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,788</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,459</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 188,353</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 236,503</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,080)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,150)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 188,353</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">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 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, 2021, all of the undistributed earnings of approximately $604,781 attributable to the Company&#8217;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and no provision for PRC withholding income tax on dividend has been made thereon accordingly. Upon distribution of those earnings generated after January 1, 2008, in the form of dividends or otherwise, the Company would be subject to the then applicable PRC tax laws and regulations. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $30,239 to $60,478 depending on whether the immediate offshore companies can enjoy the preferential withholding tax rate of 5%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Movement of the valuation allowance is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;"> 76,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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;"> (6,156)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,585)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;"> 261</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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;"> 70,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, the Company has accumulated net operating losses of $700,667 of which $398,744 will expire between 2022 and 2041, and the remaining can be carried forward and back.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers positive and negative evidences to determine whether some portion or all of the deferred tax assets will not be realized. This assessment considers, among other matters, the nature, frequency and severity of recent losses, forecasts of future profitability, the duration of statutory carry-forward periods, the Company&#8217;s experience with tax attributes expiring unused and tax planning alternatives. The Company has considered the following possible sources of taxable income when assessing the realization of deferred tax&#160;assets:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Tax planning strategies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Future reversals of existing taxable temporary differences;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Further taxable income exclusive of reversing temporary differences and carry-forwards;</span></td></tr></table><div style="margin-top:6pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:6pt;text-indent:18pt;margin:0pt;">The Company has recognized a valuation allowance of $50,118 and $45,682 as at December 31, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Uncertain tax positions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company makes an assessment of the level of authority for each of its uncertain tax positions (including the potential application of interest and penalties) based on their technical merits, and has measured the unrecognized benefits associated with such tax positions. This liability is recorded as liability for uncertain tax positions in the consolidated balance sheets. In accordance with its policies, the Company accrues and classifies interest and penalties associated with such unrecognized tax benefits as a component of its income tax provision. The amount of interest and penalties accrued as of December 31, 2020 and 2021 was $5,101 and $1,585, 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, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;">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;"> 15,730</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Addition for tax positions related to the current 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;">&#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;"> 11</p></td><td style="vertical-align:bottom;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;">&#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;">&#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;"> &#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;">Reductions for tax positions from prior years/Statute of limitations expirations</p></td><td style="vertical-align:bottom;white-space: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;"> (5,720)</p></td><td style="vertical-align:bottom;white-space: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;"> (1,011)</p></td><td style="vertical-align:bottom;white-space: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;"> (3,763)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 536</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (2)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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.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;"> 10,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 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;">&#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;"> 5,863</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company&#8217;s taxation years from 2015 to 2021 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 2016 through 2021 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 2016 retrospectively, and on transfer pricing matters for taxation years up to 2011 retrospectively. There is no statute of limitations in case of tax evasion in PRC.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160181587616">
<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, 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_EarningsPerShareAbstract', window );"><strong>EARNINGS PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">EARNINGS PER SHARE</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">19.&#160;EARNINGS PER SHARE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the computation of basic and diluted earnings per share for the years indicated:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:13.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.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.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:13.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: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:1.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:13.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></tr><tr><td style="vertical-align:bottom;width:47.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:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.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 Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.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: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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-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:14.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-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:14.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></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:47.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:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.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;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:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.1%;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.8%;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.78%;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:13.07%;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.77%;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.78%;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:13.07%;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:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 171,585</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 146,703</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 95,248</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;background:#cceeff;border-bottom:1px solid #000000;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></tr><tr><td style="vertical-align:bottom;width:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;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,560</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;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></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.1%;background:#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.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.07%;background:#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.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.07%;background:#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:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="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.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;"> 59,633,855</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="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.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;"> 59,575,898</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="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.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;"> 61,614,391</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Diluted effects of share number from share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 794,526</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 897,258</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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 985,554</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 349,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 1,833,663</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 6,272,157</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 60,777,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 62,306,819</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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 68,872,102</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;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.88</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;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></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 2.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 2.38</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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 1.46</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: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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 41,950</p></td><td style="vertical-align:bottom;white-space: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;"> 187,083</p></td><td style="vertical-align:bottom;white-space: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;"> 3,877</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177076880">
<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, 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_RelatedPartyTransactionsAbstract', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">RELATED PARTY BALANCES AND TRANSACTIONS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party balances</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The amount due from related parties of $73,042 as of December 31, 2021 primarily consists of (i) shareholder loans of $46,672 and $20,712 respectively to Horus and Recursos, each the Company&#8217;s 20% owned affiliates in Mexico, and (ii) trade receivables for module sales of $5,517 provided to various 20% <span style="-sec-ix-hidden:Hidden_Jr39bvl8CE2bMzeF44OEAw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_Pyyjx1zI8kO4D61SSBFmuQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliates</span></span> of the <span style="-sec-ix-hidden:Hidden_s6guRBZwY0a5JU31YszosA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Company</span></span>, including $2,580 to Salgueiro I Renewable Energy S.A., $266 to Salgueiro II Renewable Energy S.A., $1,676 to Francisco SA I Renewable Energy S.A., $530 to Francisco SA II Renewable Energy S.A. No amount was due as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The amount due to related parties as of December 31, 2021 was not material. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party balances (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Guarantees and loans</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dr. Shawn Qu fully guaranteed loan facilities from two Chinese banks of RMB1,420,000 ($203,549) and RMB135,000 ($20,648) 2019 and 2020, respectively, and from a Chinese bank of RMB12,000 ($1,882) in 2021. Amounts drawn down under the facilities as of December 31, 2019, 2020 and 2021 were $82,937, nil and nil, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company granted 26,691, 26,073 restricted share units to Dr. Shawn Qu in 2019 and 2020, respectively, on account of his having guaranteed these loan facilities. No grants on account of his having guaranteed these loan facilities were made in 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Sales and purchase contracts with affiliates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, 2020 and 2021, the Company sold three, two and two solar power projects to CSIF, the Company&#8217;s 14.64% owned affiliate in Japan, respectively, in the amount of JPY5,889,000 ($53,874), JPY888,000 ($8,392) and JPY30,601,181 ($282,133), respectively, recorded in revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Additionally, in 2019, 2020 and 2021, the Company provided asset management service to CSIF in the amount of JPY281,094 ($2,573), JPY394,506 ($3,723) and JPY829,053 ($7,541), respectively, and provided O&amp;M service to CSIF in the amount of JPY223,598 ($2,052), JPY805,021 ($7,564) and JPY981,161 ($9,195), respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company sold modules to Salgueiro I Renewable Energy S.A., Salgueiro II Renewable Energy S.A. and Salgueiro III Renewable Energy S.A., each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_Ey00aiZep0GXxJPNhu1HBQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_4sM7dC303U-rDLJPitklYw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil, in the amounts of $105, $105 and $114, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $11,636, $9,996 and $9,403, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2021, the Company sold modules to Jaiba 3 Renewable Energy S.A., Jaiba 4 Renewable Energy S.A. and Jaiba 9 Renewable</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">Energy S.A., each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_2SBtbUuh90KAl6S4tIVWFg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_uZRAdK2de0yrx7QzcsLRbg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil, in the amounts of $834, $3,210 and $3,046, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $5,971, $3,696 and $1,372, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company sold modules to Francisco SA I Renewable Energy S.A., Francisco SA II Renewable Energy S.A. and Francisco SA III Renewable Energy S.A., each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_V4XzS5gLHEWS80P7cJ0Xug;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_2xtSB5FnAUCY7QAo-o34YA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil, in the amounts of $7,170, $7,592 and $8,121, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company sold modules to Lavras I Solar Renewable Energy S.A., Lavras II Solar Renewable Energy S.A., Lavras III Solar Renewable Energy S.A., Lavras IV Solar Renewable Energy S.A. and Lavras V Solar Renewable Energy S.A., each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_bbbGH3k4I0mssVfGb6vGxw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_VF6GP2lX5EyCxofIsyy3Yg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> <span style="-sec-ix-hidden:Hidden_SyseSaG11UeZvOMJVZ1gwQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">in</span></span> <span style="-sec-ix-hidden:Hidden_9AmCOjSZzES-jsrRU1jZDg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Brazil</span></span>, in the amounts of $5,707, $5,842, $6,049, $6,233 and $6,233, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company provided battery storage solutions to Sonoran West Solar Holdings, LLC. And Sonoran West Solar Holdings 2, LLC, each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_VErkGVmC20aIsFVi88JVNA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> affiliate in the United States held through RE Crimson Holdings LLC, in the amounts of $12,822 and $6,955, respectively</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019,2020 and 2021, the Company purchased raw materials from Luoyang Jiwa New Material Technology Co., Ltd., the Company&#8217;s 20% owned affiliate, in the amount of RMB18,124 ($2,584), RMB31,388 ($4,545) and RMB19,378 ($2,995), respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company purchased raw materials from Yancheng Jiwa New Material Technology Co., Ltd., the Company&#8217;s 20% owned affiliate, in the amount of RMB10,831 ($1,688).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2020, the Company provided EPC services to Lavras Solar Holding S.A., the Company&#8217;s 20% owned affiliate in Brazil, in the amount of BRL5,061 ($974).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Sales and purchase contracts with affiliates (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, the Company purchased raw materials from Suzhou iSilver Materials Co., Ltd., the Company&#8217;s former 14.63% owned affiliate in PRC, in the amount of RMB350,590 ($50,359). In December 2020, the Company fully disposed of its ownership of Suzhou iSilver Materials Co., Ltd. to an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB168,032 ($24,301) from this former affiliate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2019, the Company purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd., the Company&#8217;s former 32% owned affiliate in PRC, in the amount of RMB61,174 ($8,787). In July 2020, the Company fully disposed of its ownership of Suzhou Kzone Equipment Technology Co., Ltd. to an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB7,381 ($1,048) from this former affiliate.</p><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 2019, the Company sold solar power products to ET Solutions South Africa 1 Pty, the Company&#8217;s 49% owned affiliate in South Africa in the amount of ZAR586,832 ($40,970).</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -URI https://asc.fasb.org/topic&amp;trid=2122745<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39691-107864<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172904080">
<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, 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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>COMMITMENTS AND CONTINGENCIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">COMMITMENTS AND CONTINGENCIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">a)&#160;&#160;&#160;&#160;Capital commitments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2021, the commitments for the purchase of property, plant and equipment were approximately $167,871, 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;">$</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;">2022</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;"> 67,448</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;">2023</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;"> 49,475</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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;border-bottom:1px solid #000000;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,948</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;"> 167,871</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January 2015, the plaintiff in a class action lawsuit filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court approved a settlement of the action on October 30, 2020. The settlement is no admission of liability or wrongdoing by the Company or any of the other defendants. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 1</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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 6pt 0pt;">As a result of these determinations, the Company was required to pay cash deposits on Chinese-origin CSPV cells imported into the U.S., whether or not incorporated into modules. The rates applicable to the Company were 13.94% (antidumping duty) and 15.24% (countervailing duty). The Company paid all the cash deposits due under these determinations. Several parties challenged the determinations of the USITC in appeals to the CIT. On August 7, 2015, the CIT sustained the USITC&#8217;s final determination and on January 22, 2018, the Federal Circuit upheld the CIT&#8217;s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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;">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 is not subject to the second administrative review of the countervailing duty order, the Company&#8217;s countervailing duty rate remained at 20.94%. The antidumping duty rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s second antidumping duty rate. This decision by the CIT was appealed to the Federal Circuit, which in June 2020 reversed the CIT&#8217;s decision, in part, and directed the USDOC to reconsider certain issues related to its final determination. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. As a result, the Company&#8217;s antidumping duty rate was reduced to 0.00% (from 3.96%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the 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. <span style="white-space:pre-wrap;">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 </span>7.36% (from 18.16%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s countervailing duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fourth administrative reviews in July 2018 (both antidumping duty and countervailing duty), with the countervailing duty rate later amended in October 2018. Because the Company was not subject to the fourth administrative review of the antidumping duty order, its antidumping duty rate remained at 13.07%. In this review, the countervailing duty rate applicable to the Company was reduced to 11.59% (from 18.16%). 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%). 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.<span style="white-space:pre-wrap;">  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 </span>decision is&#160;final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the 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. The USDOC submitted its countervailing duty redetermination to the CIT in December 2021. A decision is expected in mid-2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the sixth administrative reviews in October 2020 (antidumping duty) and December 2020 (countervailing duty). USDOC assessed an antidumping duty rate of 68.93% (from 13.07%). The antidumping duty final results were amended to correct ministerial errors in December 2020 and as a result, the antidumping duty rate applicable to the Company was raised to 95.50% (from 68.93%). USDOC assessed a countervailing duty rate of 12.67% (from 9.70%). The countervailing duty final results were amended to correct ministerial errors in April 2021 and, as a result, the Company&#8217;s countervailing duty rate was reduced to 11.97% (from 12.67%<span style="white-space:pre-wrap;">). The antidumping duty rates were appealed to the CIT.  In April 2022, the CIT remanded the antidumping duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. 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 </span>11.97%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the seventh administrative reviews in August 2021 (countervailing duty) and October 2021 (antidumping duty). The antidumping duty rate applicable to the Company was lowered to 0.00% (from 95.50%). The countervailing duty rate applicable to Canadian Solar International Limited (&#8220;CSIL&#8221;) was raised to 19.28% (from 11.97%). USDOC did not change the rate of 11.97% for Canadian Solar Manufacturing (Changshu) Inc. and Canadian Solar Manufacturing (Luoyang) Inc. because the countervailing duty review was rescinded for both 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 its 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 6pt 0pt;">The eighth and ninth antidumping duty and countervailing duty administrative reviews were initiated in February 2021 and February 2022 and are currently underway. The USDOC is currently scheduled to release the final results of the eighth administrative reviews on June 21, 2022 (antidumping duty) and June 29, 2022 (countervailing duty), subject to potential extensions. USDOC will likely issue preliminary results of the ninth administrative reviews in late 2022 or early 2023. The final results of the eighth and ninth administrative reviews may result in duty rates that differ from the previous duty rates and cash deposit rates applicable to the Company. These duty rates could materially and adversely affect the Company&#8217;s U.S. import operations and increase its cost of selling into the U.S. market.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Between 2017 and 2019, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The Company did not participate in USDOC&#8217;s first sunset review. The Company did, however, participate in the USITC&#8217;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 2</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. The Company was identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">&#8220;Chinese CSPV products subject to Solar 2 orders&#8221; refers to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#8220;Taiwanese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">On December 23, 2014, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigation on these CSPV products. On January 21, 2015, the USITC determined that imports of these CSPV products had caused material injury to the U.S. CSPV industry. As a result of these determinations, the Company is required to pay cash deposits on these CSPV products, the rates of which applicable to the Company&#8217;s Chinese CSPV products were 30.06% (antidumping duty) and 38.43% (countervailing duty). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC&#8217;s determination and the assessed countervailing duty rates were appealed to the CIT and the Federal Circuit. In March 2019, the Federal Circuit affirmed the CIT&#8217;s decision confirming the USDOC&#8217;s determination but reduced the Company&#8217;s countervailing duty rate to 33.58% (from 38.43%). There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The antidumping cash deposit rate applicable to the Company&#8217;s Taiwanese CSPV products subject to Solar 2 orders varied by solar cell producer. The Company paid all the cash deposits due under these determinations. There is no countervailing duty order on Taiwan Solar 2 products. The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC published the final results of the first administrative reviews in July 2017 (China and Taiwan antidumping duty orders) and September 2017 (China-only countervailing duty order). Because the Company is not subject to the first administrative reviews of the Solar 2 orders, the Company&#8217;s duty rates will remain at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The Company&#8217;s antidumping duty rates for the Company&#8217;s Taiwanese CSPV products had ranged from 3.56% to 4.20%, until they were changed to 1.52% to 3.78% in June 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The second administrative reviews for the Solar 2 China antidumping and countervailing duty orders were rescinded, meaning that there is no change in the Chinese antidumping and countervailing duty rates applicable to the Company&#8217;s Chinese CSPV products 30.06% (antidumping duty) and 33.58% (countervailing duty). The USDOC published the final results of the second administrative review for the Taiwan antidumping duty order (there is no countervailing duty order) in June 2018. The rate applicable to the Company is 1.33%. There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The Company was not subject to the third administrative reviews of the Chinese orders and, therefore, the Company&#8217;s duty rates remained unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The third administrative review of the Taiwan antidumping order concluded in mid-2019. The rate assessed to the Company was 4.39% (from 1.33%). There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC rescinded the fourth administrative reviews of the Solar 2 China antidumping duty and countervailing duty orders in late 2019. The Company&#8217;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The rate assessed to the Company in the fourth administrative review of the Taiwan antidumping order was 2.57% (from 4.39%). The USDOC also found that certain Canadian Solar entities had no shipments during this period of this review.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC rescinded the fifth administrative reviews of the Solar 2 China antidumping and countervailing duty orders. The Company&#8217;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The USDOC published the final results of the fifth administrative review of the Taiwan antidumping duty order in September 2021. The USDOC determined that the Canadian Solar entities subject to the fifth administrative review had no shipments during the period of review and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">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;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"><span style="white-space:pre-wrap;">The USDOC initiated the seventh administrative reviews of the Solar 2 China antidumping and countervailing duty orders.  The countervailing duty review was not initiated with respect to all Canadian Solar entities. The countervailing duty rates will remain unchanged for all entities for whom the review was not initiated. The USDOC initiated the seventh administrative review of the Taiwan antidumping duty order in April 2022 with respect to certain of the Canadian Solar entities. The USDOC will likely issue the preliminary results of the seventh administrative review in late 2022.</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 USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 2 antidumping and countervailing duty orders. In May 2020, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 2 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The USITC issued an affirmative determination on September 4, 2020, declining to revoke the Solar 2 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 2 orders are expected to remain in effect through at least 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Section 201</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May 17, 2017, following receipt of a petition from Suniva, Inc., which was later joined by SolarWorld Americas, Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September 22, 2017, the USITC determined that CSPV products are being imported into the United States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells, whether or not partially or fully assembled into other products such as modules, consisting of (1) a tariff-rate quota for four years on imports of CSPV cells not partially or fully assembled into other products, with (a) an in-quota quantity of 2.5 gigawatts, and (b) a tariff rate applicable to over-quota CSPV cells of 30%, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year; and (2) a 30% tariff for four years on CSPV modules, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year. This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On June 13, 2019 and following an abbreviated public comment period, the Office of the U.S. Trade Representative (or USTR) granted an exclusion from the safeguard measure for solar panels comprising solely bifacial solar cells (or bifacial solar panels). In October 2019, USTR determined to withdraw this exclusion. Invenergy Renewables LLC (or Invenergy) promptly contested USTR&#8217;s withdrawal determination at the CIT and secured a temporary restraining order against USTR in November 2019. In December 2019, the CIT preliminarily enjoined USTR&#8217;s withdrawal due to procedural deficiencies. USTR then sought and was granted a voluntary remand to reconsider its withdrawal determination for bifacial solar panels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 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-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 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% ad valorem (as opposed to 15% ad valorem 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 and the appeal remains ongoing. The Federal Circuit&#8217;s decision is expected in late 2022 or early 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 Proclamation 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% in the eighth year. The Proclamation also excludes bifacial panels from the extended safeguard measure and authorizes USTR to negotiate agreements with Canada and Mexico that could lead to the exclusion of those countries from the safeguard measure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 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. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT may initiate an expiry review pursuant to Subsection 76.03(3) of the Special Import Measures Act (&#8220;SIMA&#8221;) before the end of 5 years of its finding. If the CITT does not initiate such an expiry review pursuant to Subsection 76.03(3) of SIMA, the finding is deemed to have been rescinded as of the expiry of the five years. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The expiry review was concluded on March 25, 2021. The CITT determined to continue its aforementioned finding to impose definitive duties on imports of Chinese solar modules and laminates into Canada. As a result the Canadian Solar-specific subsidies rate of RMB0.014 per Watt remains unchanged. The subsidies rate applies for a period of five years. The CITT is required to conduct a further expiry review at the end of that period, being July 2, 2025. Such subsidies rate does not have a material negative effect upon the Company&#8217;s results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160271205760">
<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, 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_SegmentReportingAbstract', window );"><strong>SEGMENT INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">SEGMENT INFORMATION</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) for making decisions, allocating resources and assessing performance. The Company&#8217;s CODM has been identified as the Chief Executive Officer of the Company, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">From 2016 through the third quarter of 2020, the Company had been operating in two principal businesses: MSS and Energy. The MSS business comprised primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provided engineering, procurement and construction (EPC) services. The Energy business comprised primarily the development and sale of solar projects, operating solar power projects, the sale of electricity and operating and maintenance (O&amp;M) services. The module sales from the Company&#8217;s MSS business to its Energy business were on terms and conditions similar to sales to third parties. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In July 2020, the Company reached a strategic decision to pursue a listing of its subsidiary, CSI Solar Co., Ltd., in China. From November 2021, the Company completed the transfer of the China solar power system and project assets from CSI Solar to the Global Energy segment to avoid any potential competition between the Company and its CSI Solar subsidiary, as part of the CSI Solar carve-out listing process. To align with the objective of ASC 280, Segment Reporting (&#8220;Topic 280&#8221;) and present the Company&#8217;s disaggregated financial information consistent with the management approach, the Company reports its financial performance, including revenue, gross profit and income from operations, based on the following two reportable segments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Global Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which includes all of the Company&#8217;s global project development activities for both solar and battery storage project development. The Global Energy segment develops both stand-alone solar and stand-alone battery storage projects, as well as hybrid solar plus storage projects. Its monetization strategies vary between develop-to-sell, build-to-sell, and build-to-own, depending on business strategies and market conditions, with the goal of maximizing returns, accelerating cash turn, and minimizing capital risk.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;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:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">CSI Solar</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which consists of solar module manufacturing and total system solutions, including inverters, solar system kits and EPC (engineering, procurement and construction) services. The CSI Solar segment also includes the Company&#8217;s battery storage integration business, delivering bankable, end-to-end, turnkey battery storage solutions for utility scale, commercial and industrial, and residential applications. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services.</span></td></tr></table><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 distinction of the two battery storage businesses is that the former, Global Energy, is in the project development business, including sourcing land, interconnection, structuring power purchase agreements and other permits and requirements for battery storage projects, whereas the latter, CSI Solar, is in the system integration business, delivering turnkey battery storage technology solutions.</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 module and EPC sales from the Company&#8217;s CSI Solar business to its Global Energy business are on terms and conditions similar to sales to third parties. Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company continually monitors and reviews its segment reporting structure in accordance with Topic 280 to determine whether any changes have occurred that would impact its reportable segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 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, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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;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;margin:0pt;"><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;margin:0pt;"><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;margin:0pt;"><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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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;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;margin:0pt;"><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;margin:0pt;"><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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,105,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 726,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (354,716)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,496,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 577,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (286,624)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,786,581</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 608,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 149,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (68,092)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 689,914</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 253,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (86,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 220,430</p></td></tr></table><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, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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;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;margin:0pt;"><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;margin:0pt;"><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;margin:0pt;"><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;"> 2,591,154</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;"> 718,735</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;"> (109,306)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</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;"> 1,977,502</p></td><td style="vertical-align:bottom;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;"> 604,856</p></td><td style="vertical-align:bottom;white-space: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;"> (100,272)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,482,086</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;"> 613,652</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;"> 113,879</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;"> (9,034)</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;"> 718,497</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;"> 267,642</p></td><td style="vertical-align:bottom;white-space: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;"> 18,795</p></td><td style="vertical-align:bottom;white-space: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;"> (27,558)</p></td><td style="vertical-align:bottom;white-space: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;"> 258,879</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes inter-segment elimination, and unallocated corporate costs not considered part of management&#8217;s evaluation of reportable segment operating performance.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Income from operations reflects management&#8217;s allocation and estimate as some services are shared by the Company&#8217;s </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> reportable segments.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s net revenues generated from different geographic locations. The information presented below is based on the location of customers&#8217; headquarters:</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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;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;">&#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;"> 852,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;"> 696,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,590,573</p></td></tr><tr><td style="vertical-align: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;"> 395,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 139,611</p></td></tr><tr><td style="vertical-align: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;Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,330</p></td><td style="vertical-align:bottom;white-space: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;"> 100,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,792</p></td></tr><tr><td style="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;"> 29,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 21,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 76,015</p></td></tr><tr><td style="vertical-align: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;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,402,041</p></td><td style="vertical-align:bottom;white-space: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;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,221,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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;"> 2,279,594</p></td></tr><tr><td style="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;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;">&#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;"> 317,077</p></td><td style="vertical-align:bottom;white-space: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;"> 504,656</p></td><td style="vertical-align:bottom;white-space: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></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;"> 372,687</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 560,701</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;"> 70,893</p></td><td style="vertical-align:bottom;white-space: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;"> 61,141</p></td><td style="vertical-align:bottom;white-space: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></tr><tr><td style="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;"> 12,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,108</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;Cyprus</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,175</p></td><td style="vertical-align:bottom;white-space: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;"> 13,265</p></td><td style="vertical-align:bottom;white-space: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;"> 51,038</p></td></tr><tr><td style="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;"> 10,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;">&#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;"> 15,417</p></td><td style="vertical-align:bottom;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></tr><tr><td style="vertical-align: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;"> 39,268</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,311</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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,168</p></td></tr><tr><td style="vertical-align: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;Korea</p></td><td style="vertical-align:bottom;white-space: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;"> 72,552</p></td><td style="vertical-align:bottom;white-space: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,896</p></td><td style="vertical-align:bottom;white-space: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;"> 3,413</p></td></tr><tr><td style="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;"> 76,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%;border-bottom:1px solid #000000;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,054</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 91,670</p></td></tr><tr><td style="vertical-align: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;"><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,018,083</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,620,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,139,070</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;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;">&#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;"> 109,119</p></td><td style="vertical-align:bottom;white-space: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;"> 119,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;">&#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;"> 231,995</p></td></tr><tr><td style="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;Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 313,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,770</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,715</p></td></tr><tr><td style="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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 138,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,658</p></td></tr><tr><td style="vertical-align: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;South Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="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="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;"> 17,717</p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 16,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;"> 34,604</p></td></tr><tr><td style="vertical-align: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;"> 13,516</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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 Kingdom</p></td><td style="vertical-align:bottom;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;"> 33,158</p></td><td style="vertical-align:bottom;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;"> 8,842</p></td><td style="vertical-align:bottom;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;"> 7,749</p></td></tr><tr><td style="vertical-align: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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,873</p></td><td style="vertical-align:bottom;white-space: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;"> 55,433</p></td><td style="vertical-align:bottom;white-space: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;"> 96,271</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;"><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;">780,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">634,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">858,505</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;">Total 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;border-bottom:3px double #000000;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,200,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">5,277,169</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets at December 31, 2020 and 2021 by geographic region, based on the physical location of the&#160;assets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,002,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,230,613</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 295,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 266,870</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 204,515</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,680</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Argentina</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,208</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,508</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,331</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,700</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,716</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,024</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,050</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 46,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,905</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total long-lived assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;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,790,538</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;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,033,397</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s revenues generated from each product or&#160;service:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</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;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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:center;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:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Solar modules</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,012,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,348,724</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,328,301</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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;"> 116,449</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 157,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 302,133</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Battery 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;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 222,655</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">China energy/EPC (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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;"> 58,096</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;"> 175,388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,830</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Others </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;"> 295,244</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;"> 60,661</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,167</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Global Energy:</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;"><span style="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="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="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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Solar and battery storage projects</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;"> 652,050</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;"> 654,827</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.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;"> 1,064,178</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">O&amp;M and asset management services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 19,750</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;"> 26,386</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,334</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Others (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,935</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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="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%;border-bottom:1px solid #000000;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></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:3px double #000000;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,200,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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;border-bottom:3px double #000000;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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI https://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172904080">
<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, 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_MajorCustomersDisclosureAbstract', window );"><strong>MAJOR CUSTOMERS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_MajorCustomersDisclosureTextBlock', window );">MAJOR CUSTOMERS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23.&#160;MAJOR CUSTOMERS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">No customers accounted for 10% or more of total net revenues for the years ended December 31, 2019, 2020 and 2021.</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 accounts receivable, net from three customers with the largest receivable balances represents 7%, 4% and 4% of the balance of the account at December 31, 2021, and 7%, 3% and 3% of the balance of the account at December 31, 2020, respectively. The balance from the customer with the largest receivable balance is $27,014 and $42,812 as of December 31, 2020 and 2021, 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_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>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174585200">
<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, 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_CompensationAndRetirementDisclosureAbstract', window );"><strong>EMPLOYEE BENEFIT PLANS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">EMPLOYEE BENEFIT PLANS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">24.&#160;EMPLOYEE BENEFIT PLANS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Employees of the Company located in the PRC are covered by the retirement schemes defined by local practice and regulations, which are essentially defined contribution schemes. The calculation of contributions for eligible employees is based on 16% of the applicable payroll cost in 2021. The expense incurred by the Company to these defined contributions schemes was $11,738, $8,064 and $14,362 for the years ended December 31, 2019, 2020 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In addition, in 2021, the Company is required by PRC law to contribute approximately 6-8.5%, 8%, 0.5-0.7% and 0.9-2.5% of applicable salaries for medical insurance benefits, housing funds, unemployment and other statutory benefits, respectively. The PRC government is directly responsible for the payment of the benefits to these employees. The amounts contributed for these benefit schemes were $11,409, $11,486 and $13,584 for the years ended December 31, 2019, 2020 and 2021, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section S99<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=21916913&amp;loc=d3e273930-122802<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI https://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6414203&amp;loc=d3e39689-114964<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174623776">
<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, 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">SHARE-BASED COMPENSATION</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March&#160;2006, the Company adopted a share incentive plan, or the Plan. The purpose of the Plan is to promote the success and enhance the value of the Company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of the Company&#8217;s operations is largely dependent. In September&#160;2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of options, restricted shares and RSUs under the Plan to the sum of (i)&#160;2,330,000 plus (ii)&#160;the sum of (a)&#160;1% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b)&#160;2.5% of the number of outstanding common shares of the Company outstanding on the first day of each calendar year after 2009. In June 2020, the shareholders approved an amendment to the Plan to extend the term of the Plan for a further ten years period. As a result, the Plan will expire on, and no awards may be granted after, June 30, 2029. Under the terms of the Plan, options are generally granted with an exercise price equal to the fair market value of the Company&#8217;s ordinary shares and expire ten years from the date of&#160;grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Options Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During the year ended December 31, 2021, no options were exercised. The total intrinsic value of options exercised during the years ended December 31, 2019 and 2020 was $1,422 and $893, respectively. As of December 31, 2021, there were 26,291 options outstanding with a weighted average exercise price of $9.33 and weighted average remaining contract terms of 1.4 year. The intrinsic value of outstanding options as of December 31, 2021 was $577. No compensation cost on options was recognized in the years ended December 31, 2019, 2020 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">RSUs Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company granted 706,637, 1,105,640 and 2,161,098 RSUs in 2019, 2020 and 2021, respectively. The RSUs entitle the holders to receive the Company&#8217;s common shares upon vesting. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The RSUs were granted for free and generally vest over periods from <span style="-sec-ix-hidden:Hidden_tRh4ksMz2UOesLNzdD09kQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> to four years based on the specific terms of the grants. In 2020, 2,096,000 of the RSUs granted were made to the Company&#8217;s directors and a group of key employees, whereby vesting is contingent on the successful carve-out IPO of CSI Solar Co., Ltd. (50% vesting on the IPO date, then 25% vesting each on the first and <span style="-sec-ix-hidden:Hidden_Lf8efQ4fgkqF2AE8deQC3Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">second</span></span> anniversaries of the IPO). The average grant date fair value of these awards contingent on the IPO was $25.69 per award. As of December 31, 2021, 2,076,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 6pt 0pt;">The fair market value of the Company&#8217;s ordinary shares at the date of grant resulted in total compensation cost of approximately $12,179, $24,918 and $55,822&#160;that will be recognized ratably over the vesting period for the RSUs granted in 2019, 2020 and 2021, respectively. In the years ended December 31, 2019, 2020 and 2021, the Company recognized $10,682, $12,350 and $8,808 in compensation expense associated with these awards, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021, there was $22,002 of total unrecognized share-based compensation related to unvested RSUs, which is expected to be recognized over a weighted-average period of 2.35 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">RSUs Activities (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">A summary of the RSU activity is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in whole US dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January&#160;1, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,888,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.78</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,161,098</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26.10</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (562,376)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;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.11</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (152,172)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22.04</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December&#160;31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,335,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24.23</p></td></tr></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 total fair value of RSUs vested during the years ended December 31, 2019, 2020 and 2021 was $10,733, $14,420 and $21,628, 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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171889200">
<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, 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_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; Financial Statement Schedule&#160;I</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canadian Solar&#160;Inc.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Schedule&#160;I 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, 2021 of $602,460, 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.</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;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;">2020</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;">2021</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;"> 33,709</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;"> 27,432</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;">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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,316</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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due from subsidiaries, net</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;"> 288,226</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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Derivative 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 3pt 0pt 0pt;"> 1,111</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;"> 521</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;"> 22,672</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;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,318</p></td></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;"> 347,034</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;"> 33,271</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;">Investment 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;"> 1,525,951</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;"> 1,992,658</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;"> 5,322</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;"> 10,755</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">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;"> 21,358</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;"> 1,946</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;"> 40,456</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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,213</p></td></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;"> 1,940,121</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;border-bottom:3px double #000000;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,083,843</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;">Short-term borrowings</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;"> 80,000</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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due to subsidiaries, net</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;"> &#8212;</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;"> 43,415</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;"> 32,969</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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,676</p></td></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;"> 112,969</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;"> 49,091</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;"> 223,214</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;"> 224,675</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;"> 20,169</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,562</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;"> 13,347</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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,432</p></td></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;"> 369,699</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;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 282,760</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, 59,820,384 and 64,022,678 shares <span style="-sec-ix-hidden:Hidden_fOZ4Qa-tVkW-SzzhdVKrPg;"><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_07SkRc04MEW6zu9Uni0FdA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">outstanding</span></span> at December&#160;31, 2020 and 2021, 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;"> 687,033</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;"> 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;"> (28,236)</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;"> (19,428)</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;"> 940,304</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;"> 1,035,552</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;"> (28,679)</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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (50,584)</p></td></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,570,422</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;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,801,083</p></td></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;"> 1,940,121</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%;border-bottom:3px double #000000;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,083,843</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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;"> 4,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:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 341</p></td></tr><tr><td style="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;"> 4,188</p></td><td style="vertical-align:bottom;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;">&#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></tr><tr><td style="vertical-align: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;"> 163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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;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 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;"> 1,727</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,174</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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;"> 29,093</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;"> 462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other operating income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (282)</p></td></tr><tr><td style="vertical-align: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;"> 31,282</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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;"> (31,119)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (50,384)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;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 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;"> (3,005)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,628)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;"> 25,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,536</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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;"> (5,193)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,043</p></td></tr><tr><td style="vertical-align: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)</p></td><td style="vertical-align:bottom;white-space: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;"> (11,318)</p></td><td style="vertical-align:bottom;white-space: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;"> 13,768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> (3,674)</p></td></tr><tr><td style="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;">Investment 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (116,879)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">Other income (expenses), 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;"> (111,123)</p></td><td style="vertical-align:bottom;white-space: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;"> 60,017</p></td><td style="vertical-align:bottom;white-space: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;"> 941</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes and equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (142,242)</p></td><td style="vertical-align:bottom;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;"> 9,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (8,561)</p></td></tr><tr><td style="vertical-align: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 tax benefit (expense)</p></td><td style="vertical-align:bottom;white-space: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;"> 5,230</p></td><td style="vertical-align:bottom;white-space: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;"> (34,223)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,424</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="font-family:'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;"> 308,597</p></td><td style="vertical-align:bottom;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;"> 171,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 101,385</p></td></tr><tr><td style="vertical-align: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;">&#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;"> 171,585</p></td><td style="vertical-align:bottom;white-space: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;"> 146,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 95,248</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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;"> 171,585</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,248</p></td></tr><tr><td style="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 of nil)</p></td><td style="vertical-align:bottom;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;"> 542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;"> 172,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 227,631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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;"> 171,585</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Adjustments to reconcile net income to 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:10pt;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;padding-left:7.2pt;text-indent:-7.2pt;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;"> 154</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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;"> &#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;"> 388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,461</p></td></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Loss on disposal of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;"> 116,879</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;padding-left:7.2pt;text-indent:-7.2pt;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> (25,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="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;"> (4,043)</p></td></tr><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;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.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;"> (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: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;"> 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: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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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;"> (308,597)</p></td><td style="vertical-align: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;"> (171,293)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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></tr><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;padding-left:7.2pt;text-indent:-7.2pt;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;"> 10,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: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;"> 12,350</p></td><td style="vertical-align:bottom;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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (43,630)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 287,865</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> (206,892)</p></td></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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 3pt 0pt 0pt;"> 17,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (13,183)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> 17,353</p></td></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,158)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> (4,907)</p></td></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Amounts due to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 183,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (340,502)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> (42,224)</p></td></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,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:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,809</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> (27,293)</p></td></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> (5,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:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net deferred tax 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;"> (1,292)</p></td><td style="vertical-align:bottom;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;"> (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: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;"> 805</p></td></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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;"> (11,125)</p></td><td style="vertical-align: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;"> 19,517</p></td><td style="vertical-align: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;"> 4,633</p></td></tr><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;padding-left:7.2pt;text-indent:-7.2pt;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 3pt 0pt 0pt;"> 136,996</p></td><td style="vertical-align:bottom;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;"> (22,877)</p></td><td style="vertical-align:bottom;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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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;"> (36,146)</p></td><td style="vertical-align:bottom;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;"> (126,487)</p></td><td style="vertical-align:bottom;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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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;"> (2,483)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> (2,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="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></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Funding of loans to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (40,600)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"> (264,848)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Repayment of loans 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:10pt;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;"> 12,809</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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></tr><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;padding-left:7.2pt;text-indent:-7.2pt;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;"> (66,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: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;"> (373,616)</p></td><td style="vertical-align:bottom;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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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 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;"> 30,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;">&#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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Proceeds long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;">&#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></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Funding of loans 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;"> &#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 3pt 0pt 0pt;"> 280,000</p></td></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;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;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;"> 148,510</p></td></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Proceeds from changes in ownership interests in subsidiaries without change of control</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;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;"> 224,553</p></td><td style="vertical-align:bottom;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></tr><tr><td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Net proceeds from issuance of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;"> 222,826</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Payments for repurchase of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (127,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="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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Payments for repurchase of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (11,845)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (5,963)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Proceeds from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 875</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,035</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> &#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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (88,470)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 472,451</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> 348,510</p></td></tr><tr><td style="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: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;padding-left:7.2pt;text-indent:-7.2pt;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;"> 11,110</p></td><td style="vertical-align: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;"> (43,246)</p></td><td style="vertical-align: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></tr><tr><td style="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: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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (6,784)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> (7,593)</p></td></tr><tr><td style="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: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;padding-left:7.2pt;text-indent:-7.2pt;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;"> 9,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: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;"> 2,313</p></td><td style="vertical-align: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></tr><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;padding-left:7.2pt;text-indent:-7.2pt;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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,313</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> 35,025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> 27,432</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Supplemental disclosure of cash flow information:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Interest paid (net of amounts capitalized)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,644</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,966</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#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;"> 20,272</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for condensed financial information, including the financial position, cash flows, and the results of operations of the registrant (parent company) as of the same dates or for the same periods for which audited consolidated financial statements are being presented. Alternatively, the details of this disclosure can be reported by the specific parent company taxonomy elements, indicating the appropriate date and period contexts in an instance document.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 10<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.5-04(Schedule I))<br> -URI https://asc.fasb.org/extlink&amp;oid=126898705&amp;loc=d3e5864-122674<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=d3e5283-111683<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180295888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Appendix 1 - Major Subsidiaries of CSI<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_MajorSubsidiariesDisclosuresAbstract', window );"><strong>Appendix 1 - Major Subsidiaries of CSI</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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock', window );">APPENDIX 1 - Major Subsidiaries of CSI</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">Appendix 1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">Significant Subsidiaries of CSI </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth information concerning CSI&#8217;s significant subsidiaries: </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:5pt;margin-top: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:top;width:45.73%;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: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:top;white-space:nowrap;width:8.92%;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:1.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:top;white-space:nowrap;width:7.22%;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:top;white-space:nowrap;width:2.86%;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:top;white-space:nowrap;width:31.78%;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:45.73%;margin:0pt;padding:0pt;"><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></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:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Place&#160;and</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Attributable</b></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.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:5pt;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:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"><b style="font-weight:bold;">Subsidiary </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:5pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Incorporation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interest&#160;Held</b></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;white-space:nowrap;width:31.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Principal&#160;Activity</b></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Solutions Inc.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power project and manufacturing of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 22, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar O and M (Ontario) Inc.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Solar farm operating and maintenance services</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 10, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Recurrent Energy, LLC</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">USA </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar and battery storage project</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 9, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar UK Projects Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 29, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Projects K.K.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 20, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar New Energy Holding Company Limited</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Project investment, financing, trading of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">March 20, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Netherlands Cooperative U.A.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Project holding and financing</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 8, 2016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Energy Singapore Pte. Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development &amp; ownership of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">October 29, 2015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Energy Holding Singapore Pte. Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development &amp; ownership of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">April 22, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Brasil I Fundo De Investimento Em Participacoes</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Investment holding and assets management</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 5, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Construction (Australia) Pty Ltd</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Engineering, procurement and construction (EPC) services</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">July 4, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Investment Management Pty Ltd</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">February 24, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">FieldFare Argentina S.R.L.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Argentina</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Electricity sales</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">December 27, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Energy Project Technology (SuZhou) Co., Ltd. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Development of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 19, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Solar Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 79.59</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Investment holding and trading</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">July 7, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI New Energy Holding Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Investment holding</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">January 7, 2005</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Manufacturing (Luoyang) Inc. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Manufacture of solar modules and wafers</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">February&#160;24, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Manufacturing (Changshu) Inc. </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:5pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August&#160;1, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Cells Co., Ltd. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar cells</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 23, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Suzhou Sanysolar Materials Technology Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar module materials</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 17, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Solar Manufacturing (Funing) Co., Ltd.</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:5pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Manufacturing and sales of solar wafers and cells</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 29, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Changshu Tegu New Material Technology Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Research and development, production and sales of EVA solar packaging film</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">September 2, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Changshu Tlian Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Junction box and connector research, development, production and sales</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">December 26, 2014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Sunenergy (Baotou) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar ingots</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">August 18, 2016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI New Energy Development (Suzhou) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 90</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Design, engineering construction and management of solar power projects</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">December 17, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Electricity Sales (JiangSu) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;">100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Electricity sales</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">January 18, 2018</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Modules (DaFeng) Co., Ltd. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 57.4197</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%* **</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 16, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI Cells (Yancheng) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;">73.2063</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%* ***</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar cells </p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">May 18, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">CSI NewEnergy (ZheJiang) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;">100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Investment holding</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">October 17, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.)</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 3, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar cells and wafers</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 27, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Manufacturing (Thailand) Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 99.999996</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar cells and modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 20, 2015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Manufacturing Vietnam Co., Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Vietnam</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 25, 2015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar (USA) Inc. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 8, 2007</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar EMEA GmbH </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">September 2, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Japan K.K. </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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">June 11, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar International Limited</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">March 25, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar South East Asia Pte. Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">September 29, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Sales and marketing of solar modules, and solar energy solutions</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">November 14, 2012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar SSES (US) Ltd</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Turnkey battery storage technology solutions</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">January 14, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Canadian Solar SSES (UK) Ltd</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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"> 100</p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">%*</p></td><td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">Intellectual property holding</p></td></tr><tr><td style="vertical-align:top;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;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:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;">December 18, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr></table><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 0 0;"/></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;">*<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span> Significant subsidiaries within the scope of CSI Solar are held through CSI Solar Co., Ltd. of which CSI holds 79.59% equity rights of CSI Solar Co., Ltd.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;">**<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;</span>Canadian Solar Manufacturing (Changshu) Inc. holds 46.73% equity rights of CSI Modules (DaFeng) Co., Ltd., a limited partnership fund, of which Canadian Solar Manufacturing (Changshu) Inc. holds 20% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Co., Ltd. holds 0.067% shares as a general partner and holds 53.27% equity rights of CSI Modules (DaFeng) Co., Ltd.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt;">***<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span>CSI Cells Co., Ltd. holds 57.13% equity rights of CSI Cells (Yancheng) Co., Ltd., a limited partnership fund, of which CSI Cells Co., Ltd. holds 37.33% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Co., Ltd. holds 0.17% shares as a general partner and holds 42.87% equity rights of CSI Cells (Yancheng) Co., Ltd.</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_MajorSubsidiariesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MajorSubsidiariesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 information summarizing investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates. It reflects specified information about ownership, financial results from, and financial position in such entities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 320<br> -URI https://asc.fasb.org/subtopic&amp;trid=2324412<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160178190304">
<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, 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of presentation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)&#160;&#160;&#160;Basis of presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#8220;U.S.&#160;GAAP&#8221;).</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Basis of consolidation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#8220;VIEs&#8221;) for which the Company is a primary beneficiary. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. 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;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#8217;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the Company&#8217;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. 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_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(c)&#160;&#160;&#160;Use of estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#8217;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of budget cost and estimates of variable consideration), allowance for credit losses on accounts receivable, other receivables and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#8220;ARO&#8221;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy', window );">Cash and cash equivalents and restricted cash</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted cash represents amounts held by banks, which are not available for the Company&#8217;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy', window );">Accounts receivable, unbilled</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(e)&#160;&#160;&#160;Accounts receivable, unbilled</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock', window );">Allowance for credit losses</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(f)&#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;">Before 2020, the Company determined its allowance for doubtful accounts by actively monitoring the financial condition of its customers to determine the potential for any nonpayment of accounts receivable trade, advances to suppliers and other receivables. In determining its allowance for doubtful accounts, the Company also considered other economic factors, such as aging trends. The Company believed that its process of specific review of customers, combined with overall analytical review, provided an effective evaluation of ultimate collectability of trade receivables. Provisions for allowance for doubtful accounts were recorded as general and administrative expenses 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;">After the adoption of ASU 2016-13 &#8220;Financial Instruments&#8212;Credit Losses (Topic 326)&#8221; beginning on January 1, 2020, the financial instruments 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 cater for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company began purchasing credit insurance from insurers, such as the China Export &amp; Credit Insurance Corporation, since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $386 and $1,409 as of December 31, 2020 and 2021, respectively and a corresponding reduction in bad debt&#160;expense.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_AdvancesToSuppliersPolicyTextBlock', window );">Advances to suppliers</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)&#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="re">
<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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h)&#160;&#160;&#160;Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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 6pt 0pt;">Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. </p><span></span>
</td>
</tr>
<tr class="ro">
<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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(i)&#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 and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects to a third party customer. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage power system. 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 and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase 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 6pt 0pt;">Solar and battery storage projects are preliminarily 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 electricity are classified as solar power systems on the consolidated balance sheets. As of December 31, 2020 and 2021, no battery storage power system were recorded on the consolidated balance sheets. During the development phase, solar and battery storage projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970-360, as they are considered in substance real estates. The costs to construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year, which meet the criteria of ASC 360, 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 6pt 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 project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, 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 operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#8220;project companies&#8221;. The Company consolidates project companies as described in note 2(b) above. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar and battery storage power systems.</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_BusinessCombinationsPolicy', window );">Business combination</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#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. </p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_AssetsAcquisitionPolicyTextBlock', window );">Assets acquisition</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)&#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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, plant and equipment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)&#160;&#160;Property, plant and equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><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;">20 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5-10 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarPowerSystemsPolicyPolicyTextBlock', window );">Solar power systems</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(m)&#160;&#160;&#160;Solar power systems</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Solar power systems 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, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. </span></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 is 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 of 20 to 25 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#8217;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from 20-25 years to 30 years, based on internal studies and market analysis that support a 30-year useful life as appropriate given advances in solar power technology. The useful life was not changed for projects to be transferred to an offtaker at the end of a PPA that is less than 30 years in duration. The change is 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy', window );">Intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(n)&#160;&#160;&#160;Intangible assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">1-10 years</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PrepaymentForLandUseRightPolicyTextBlock', window );">Prepaid land use rights</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(o)&#160;&#160;&#160;Prepaid 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;">Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#8220;PRC&#8221;). Amounts are charged to earnings ratably over the lease periods of 20 to 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsPolicy', window );">Investments in affiliates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(p)&#160;&#160;&#160;&#160;Investments in affiliates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on investment, and the rest of the amount is considered as return of investment.</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, 2019, 2020 and 2021, the Company recorded nil, $24,060 and nil of impairment charges on its investments, 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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of long-lived assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(q)&#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 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 based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $21,866, $11,854 and $6,084 for the years ended December 31, 2019, 2020 and 2021, 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_InterestCapitalizationPolicyPolicyTextBlock', window );">Interest capitalization</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(r)&#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 sell the asset 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="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;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(s)&#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. Assets retirement obligation (&#8220;ARO&#8221;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#8220;ASC 410-20&#8221;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it 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. The Company&#8217;s ARO included in solar power systems was not material as of December 31, 2020 and 2021.</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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Effective January 1, 2019, the Company adopted Accounting Standards Update (&#8220;ASU&#8221;) No. 2016-02, Leases (Topic 842), as amended (&#8220;ASC 842&#8221;) for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use (&#8220;ROU&#8221;) assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use (&#8220;ROU&#8221;) asset and lease liability. 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 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;">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 are not recorded on the consolidated balance sheets.</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 and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in 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 charge in asset impairments 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(v)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">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.</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_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar power products and materials</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Solar power products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains 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 (aa) for the Company&#8217;s accounting policy for warranty. </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 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 customer. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery storage solutions and EPC services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recognizes revenue for the sales of battery storage solutions (system integration business, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#8217;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;Revenue recognition (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total anticipated 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar and battery storage projects</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects and battery storage power projects (project development business, including sourcing land, interconnection, structuring power purchase agreements and other permits and requirements for battery storage projects) are recognized at a point in time when customers obtain control of solar and battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The solar and battery storage projects are often held in separate legal entities which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#8220;project companies&#8221;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">O&amp;M and asset management services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#8217;s performance under the terms of service arrangements. Revenues from O&amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performances and the costs of O&amp;M and asset management services are expensed when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Electricity revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by the Company&#8217;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when 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, 2019, 2020 and 2021, the Company recognized performance-based energy incentives related to electricity generated of $3,915, $6,628 and $9,402, 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&#8217;s electricity revenue during the years ended December 31, 2019, 2020 and 2021 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;">2019</b></p></td><td style="vertical-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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;"> 5,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,302</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#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;"> 629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,118</p></td></tr><tr><td style="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;"> 5,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,420</p></td></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-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 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The disaggregation of revenue from contracts with customers for the years ended December 31, 2019, 2020, and 2021 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 (Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation. Refer to Note 22 for further information.):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,210,459</p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,704,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;">$</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></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,389</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 696,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,068,179</p></td></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;"> 22,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,904</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#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&#8217;s contract assets and liabilities are as follow:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td 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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">2021</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;">$</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;"> 28,461</p></td><td style="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;">$</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;"> 37,244</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;">&#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.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;"> 189,470</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 3pt 0pt 0pt;"> 135,512</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,494</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 234,006</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;">For the year ended December 31, 2021, $199,140 of the Company&#8217;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2021. Contract liabilities of $234,006 as of December 31, 2021 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 0pt 6pt 0pt;">The Company has applied the practical expedients related to the revenue requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the revenue guidance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</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 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Shipping and handling </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of $88,079, $134,248 and $316,358, are included in selling and distribution expenses for the years ended December 31, 2019, 2020 and 2021, 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;&#160;Research and development</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Costs related to the design, development, testing and enhancement of products are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $47,045, $45,167 and $58,407 for the years ended December 31, 2019, 2020 and 2021, 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Government grants primarily consist of unrestricted and restricted grants and subsidies. Unrestricted grants received that allowed the Company&#8217;s full discretion in utilizing the funds are recognized as other operating income when it is probable that all the conditions stipulated by the local governments, generally for operating a business in their jurisdictions and compliance with specific policies promoted by the local governments, have been satisfied. Restricted grants received that are related to prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;"> (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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,245)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (38,468)</p></td></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 on disposal of solar power system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,666)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,091)</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 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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Insurance claims on) weather-related project damages </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,025)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,408</p></td></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;"> (10,536)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,523)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (47,068)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyPolicy', window );">Warranty cost</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2009, the Company 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company increased its guarantee for defects in materials and workmanship up to 12 years and the Company warrant that, for a period of 25 years, its standard polycrystalline 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 24th year, the actual annual power output decline of the module will be no more than 0.7%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of 30 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For solar projects built by the Company, 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 for a period of up to ten years following the energizing of the solar 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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties 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 for sales of solar power&#160;products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties. 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 $1,728 and $528 as of December 31, 2020 and 2021, respectively and was included as a component of prepaid expenses and other current&#160;assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#8217;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#8217;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is 25 or 30 years and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $82,532 and $87,729 as of December 31, 2020 and 2021, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made upward adjustments to its accrued warranty costs of $2,622 and other non-current assets of $2,153 for the year ended December 31, 2021, to reflect the recent increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $28,044, $26,931 and $45,053 are included in cost of revenues for the years ended December 31, 2019, 2020 and 2021, 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The United States dollars (&#8220;U.S. dollars&#8221; or &#8220;$&#8221;), the currency in which a substantial amount of the Company&#8217;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial records of certain of the Company&#8217;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#8220;RMB&#8221;), Euros, Canadian dollars (&#8220;CAD&#8221;), Japanese yen, Brazilian reals (&#8220;BRL&#8221;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.</p><span></span>
</td>
</tr>
<tr class="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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#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)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;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 and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. </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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#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 2019, 2020 and 2021 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 Canadian dollars. The Company&#8217;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, toll manufacturing fees, 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, Australian dollars and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. 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. Since 2008, 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#160;Concentration of credit risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the Company&#8217;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. 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, 2020 and 2021, 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:77.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:8.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.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:9.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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:20.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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">2020</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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.66%;margin:0pt;padding:0pt;"><p 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:77.21%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 43,821</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="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,257</p></td></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:8.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;"> &#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;margin:0pt;"><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:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,117</p></td></tr><tr><td style="vertical-align:bottom;width:77.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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:8.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;"> &#8212;</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;"><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:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,026</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Not in excess of 10% of total advances to suppliers as of December 31, 2020.</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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#160;Fair value of financial instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 1</i>&#8212;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#8217;s restricted cash balance and listed equity securities for all periods presented uses level one fair value inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 2</i>&#8212;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Level 3&#8212;</i>Unobservable inputs reflecting the Company&#8217;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.<span style="font-style:italic;font-weight:bold;"> </span></p><span></span>
</td>
</tr>
<tr class="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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#160;Derivatives instruments and hedging activity</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#8217;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#8217;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#8217;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and 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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#160;Earnings per share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.</p><span></span>
</td>
</tr>
<tr class="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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#160;Share-based compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#8220;RSUs&#8221;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.</p><span></span>
</td>
</tr>
<tr class="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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#160;Risks and uncertainties related to the COVID-19 pandemic</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#8217;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#8217;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#8217;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed to slow the spread of COVID-19.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.</p><span></span>
</td>
</tr>
<tr class="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 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#160;Recently issued accounting pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2019, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU 2019-12, &#8220;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#8221;, which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. This ASU is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company adopted this standard effective January 1, 2021. 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 March 2020, the FASB issued ASU No. 2020-04, &#8220;Reference Rate Reform (Topic 848)&#8221;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#8217;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#8220;Reference Rate Reform &#8212; Scope,&#8221; which clarified the scope of ASC 848 relating to contract modifications. With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The company has $956,523 of LIBOR debt as of December 31, 2021 and projects the balance will be approximately $530,662 by the June 2023 discontinuance date. All of the Company&#8217;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#160;Recently issued accounting pronouncements (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In August, 2020, the FASB issued ASU No. 2020-06, Debt&#8212;Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging&#8212;Contracts in Entity&#8217;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#8217;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard is not expected to 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 November 2021, the FASB issued ASU 2021-10, &#8220;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#8221;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#8217;s financial statements. The new standard was effective for the Company beginning January 1, 2022. The Company is currently evaluating the impact of adopting this guidance and the potential effects it could have on the Company&#8217;s consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AdvancesToSuppliersPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advances to suppliers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AdvancesToSuppliersPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AssetsAcquisitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for assets acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AssetsAcquisitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ForeignCurrencyRiskPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for risk associated with converting the amounts denominated in the foreign currencies into reporting entity's reporting currency.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ForeignCurrencyRiskPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_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_PrepaymentForLandUseRightPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 prepayment 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_PrepaymentForLandUseRightPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining project asset costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SolarPowerSystemsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for solar power system used in the normal conduct of business and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystemsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_UnusualOrInfrequentItemPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire policy related to unusual and/or infrequent items.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_UnusualOrInfrequentItemPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetRetirementObligationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for legal obligation associated with retirement of long-lived asset that results from acquisition, construction, or development or from normal operation of long-lived asset. Excludes environmental remediation liability from improper or other-than-normal operation of long-lived asset, obligation arising in connection with leased property that meets definition of lease payments or variable lease payments and from plan to sell or otherwise dispose of a long-lived asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=2175671<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetRetirementObligationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6909625&amp;loc=d3e227-128457<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4273-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 450<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6491354&amp;loc=d3e6049-115624<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941378&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 35<br> -Paragraph 7A<br> -URI https://asc.fasb.org/extlink&amp;oid=125515542&amp;loc=SL120269220-210453<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3D<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL120267969-210447<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922895-210455<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 35<br> -Paragraph 13A<br> -URI https://asc.fasb.org/extlink&amp;oid=125515542&amp;loc=SL120267917-210453<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 35<br> -Paragraph 8A<br> -URI https://asc.fasb.org/extlink&amp;oid=124266218&amp;loc=SL120267834-210445<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 30<br> -Paragraph 4A<br> -URI https://asc.fasb.org/extlink&amp;oid=124256539&amp;loc=SL120269210-210444<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919260-210447<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL120267845-210446<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919253-210447<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919272-210447<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 30<br> -Paragraph 5A<br> -URI https://asc.fasb.org/extlink&amp;oid=124256539&amp;loc=SL120254536-210444<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3C<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL120267966-210447<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 30<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=124268681&amp;loc=SL120267897-210452<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919244-210447<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3D<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267862-210455<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.M.Q4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122651532&amp;loc=SL122037091-237805<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3C<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267859-210455<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267853-210455<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossFinancialInstrumentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its derivative instruments and hedging activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41620-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41638-113959<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579245-113959<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41675-113959<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(n))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579240-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21D<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=SL94080555-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13279-108611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -URI https://asc.fasb.org/topic&amp;trid=2175825<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=109226317&amp;loc=d3e202-110218<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011434&amp;loc=d3e125687-122742<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestCapitalizationPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for interest capitalization.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestCapitalizationPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126900757&amp;loc=d3e543-108305<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918666-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130561-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130564-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -URI https://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for treatment of receivables that are billable but have not been billed as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -URI https://asc.fasb.org/topic&amp;trid=2196771<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176403056">
<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, 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>
</tr>
<tr class="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;">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;">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;">2019</b></p></td><td style="vertical-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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;"> 5,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,302</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#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;"> 629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,118</p></td></tr><tr><td style="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;"> 5,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,420</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of disaggregation of revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table represents a disaggregation of revenue recognized at a point in time or over time (Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation. Refer to Note 22 for further information.):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,210,459</p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,704,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;">$</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></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,389</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 696,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,068,179</p></td></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;"> 22,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,904</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td 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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">2021</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;">$</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;"> 28,461</p></td><td style="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;">$</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;"> 37,244</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;">&#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.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;"> 189,470</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 3pt 0pt 0pt;"> 135,512</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,494</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 234,006</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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;"> (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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,245)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (38,468)</p></td></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 on disposal of solar power system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,666)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,091)</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 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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Insurance claims on) weather-related project damages </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,025)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,408</p></td></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;"> (10,536)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,523)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (47,068)</p></td></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:77.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:8.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.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:9.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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:20.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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">2020</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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.66%;margin:0pt;padding:0pt;"><p 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:77.21%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 43,821</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="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,257</p></td></tr><tr><td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:8.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;"> &#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;margin:0pt;"><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:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,117</p></td></tr><tr><td style="vertical-align:bottom;width:77.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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:8.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;"> &#8212;</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;"><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:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,026</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Not in excess of 10% of total advances to suppliers as of December 31, 2020.</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfElectricityRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of Schedule of Electricity Revenue</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfElectricityRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of accounting policy for other operating income and other operating expense items.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the extent of the entity's reliance on its major suppliers, if prepayments with a single supplier amount to 10 percent or more of entity prepayments, including the disclosure of that fact, the total amount of prepayments from each such supplier.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176677008">
<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, 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>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="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Advances&#160;to&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts&#160;Receivable&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Suppliers&#160;and</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trade</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other&#160;Receivable</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2018</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,630</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,386)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,657</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts written-off against allowances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,452)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;border-bottom: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,493)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (123)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,712</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cumulative-effect adjustment for the adoption of ASU 2016-13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,647</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Writeoffs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (639)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,490)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 633</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;"> 40,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,502</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;"> 7,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Writeoffs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (197)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (53)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (141)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 186</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December&#160;31,&#160;2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;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></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">Allowances for accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Schedule of allowances</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">2020</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;">2021</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;"> 449,251</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.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;"> 698,498</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;"> (40,293)</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.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;"> (47,126)</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;"> 408,958</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.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;"> 651,372</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;">2020</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;">2021</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;"> 299,019</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.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;"> 279,800</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,700)</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.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;"> (19,682)</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;"> 279,319</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.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;"> 260,118</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="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;">2020</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;">2021</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;"> 238,779</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.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;"> 280,350</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;"> (8,802)</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.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,397)</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;"> 229,977</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.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;"> 270,953</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174817872">
<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, 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_InventoryDisclosureAbstract', window );"><strong>INVENTORIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of inventories</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,308</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155,433</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,509</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 536,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 919,432</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 695,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,192,374</p></td></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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174594784">
<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, 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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ScheduleOfProjectAssetsTableTextBlock', window );">Schedule of project assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; Acquisition cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,549</p></td><td style="vertical-align:bottom;white-space: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;"> 70,651</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; EPC and other cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,092,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 956,710</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,137,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,361</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 747,764</p></td><td style="vertical-align:bottom;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;"> 594,107</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 389,702</p></td><td style="vertical-align:bottom;white-space: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;"> 433,254</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>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174577840">
<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, 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_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;">2020</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;">2021</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;"> 533,647</p></td><td style="vertical-align:bottom;white-space: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.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;"> 724,940</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;"> 14,804</p></td><td style="vertical-align:bottom;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.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;"> 32,995</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,191,780</p></td><td style="vertical-align:bottom;white-space: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.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,477,638</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;"> 75,656</p></td><td style="vertical-align:bottom;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.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;"> 86,616</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;"> 7,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;">&#160;</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;"> 9,833</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;">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;"> 20,231</p></td><td style="vertical-align:bottom;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;"> 31,691</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;"> 1,843,761</p></td><td style="vertical-align:bottom;white-space: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.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,363,713</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (827,601)</p></td><td style="vertical-align:bottom;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,019,988)</p></td></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;">Impairment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (52,149)</p></td><td style="vertical-align:bottom;white-space: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.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (42,828)</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;">Subtotal</p></td><td style="vertical-align:bottom;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;"> 964,011</p></td><td style="vertical-align:bottom;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.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;"> 1,300,897</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;">Construction in process</p></td><td style="vertical-align:bottom;white-space: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:1px solid #000000;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,720</p></td><td style="vertical-align:bottom;white-space: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.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,980</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;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;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:3px double #000000;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,157,731</p></td><td style="vertical-align:bottom;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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,401,877</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>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180295888">
<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, 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_SolarPowerSystemsAbstract', window );"><strong>SOLAR POWER SYSTEMS, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock', window );">Schedule of solar power systems, net</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems in operation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,339</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems under construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;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,565</p></td><td style="vertical-align:bottom;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,684</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space: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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30,535)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,760)</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 158,262</p></td><td style="vertical-align:bottom;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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,263</p></td></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>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176579424">
<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, 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_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, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,562)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,082)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,977</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,644)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,992</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,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;"> (1,525)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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</p></td></tr><tr><td style="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;"> 41,085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (18,674)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 22,411</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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;"> 42,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;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,199)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 22,429</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>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176922080">
<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, 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of fair value of derivative instruments on the consolidated balance sheets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Assets</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,124</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 162</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">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;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 assets</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: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;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 assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">76</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;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;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;">&#160;</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;"> 23,351</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;">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:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,362</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,622</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</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;"> 10,755</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;">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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,622</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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">2021</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;"> (20,249)</p></td><td style="vertical-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:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,807</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</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 3pt 0pt 0pt;"> 22,582</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;"> (1,022)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 220</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;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></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (947)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (22,218)</p></td><td style="vertical-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:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,001</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,785</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4E<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624181-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5618551-113959<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174781664">
<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, 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_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:69.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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: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:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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: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:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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: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:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,200</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 337,836</p></td><td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,315</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,580</p></td><td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,091</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 459,480</p></td><td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 390,606</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 180,773</p></td><td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,857</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,880</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,845</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,872</p></td></tr><tr><td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 294,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 257,609</p></td></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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5A<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=SL6759159-111685<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5747-111685<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=SL6228884-111685<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5728-111685<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfVariableInterestEntitiesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160178577232">
<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, 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_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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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></tr><tr><td style="vertical-align:bottom;width:59.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: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 colspan="7" style="vertical-align:bottom;white-space:nowrap;width:38.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;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.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: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 colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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></tr><tr><td style="vertical-align:bottom;width:59.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: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:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.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: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:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.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: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:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;background:#cceeff;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,980</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:8.75%;background:#cceeff;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.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,889</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.64</p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,969</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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.78</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.78</p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#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:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;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:59.79%;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.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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,274</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.55</p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,342</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:8.75%;background:#cceeff;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-49</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;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:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;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-49</p></td></tr><tr><td style="vertical-align:bottom;width:59.79%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;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,291</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:8.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><p 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174502384">
<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, 2021</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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;2020</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;2021</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 right-of-use 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;"> 8,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,920</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,497</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,349</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;"> 19,630</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;"> 18,443</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;"> 850</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,884</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;"> 30,013</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;"> 36,596</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_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;2020</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;2021</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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">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,497)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,349)</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">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;"> (20,589)</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,972)</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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">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;"> (19,163)</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;"> (35,554)</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;padding-left:7.2pt;text-indent:-7.2pt;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;"> 10,666</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;"> 60,102</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;padding-left:7.2pt;text-indent:-7.2pt;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,892</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;"> 24,694</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;padding-left:7.2pt;text-indent:-7.2pt;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;"> (6,572)</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;"> (1,880)</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;">2020</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;">2021</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 operating 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;"> 0.90</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;"> 2.66</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 operating 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;"> 3.07</p></td><td style="vertical-align:bottom;white-space: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;"> 4.40</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;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></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;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.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;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: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 operating lease discount rate - finance 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;"> 5.54</p></td><td style="vertical-align:bottom;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;"> 4.95</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: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 operating lease discount rate - operating 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.18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.34</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></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of lease maturities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2021, maturities of operating and finance lease liabilities were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year Ending December&#160;31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 33,149</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 17,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,993</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 16,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 21,105</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,880</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</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;"> 2,398</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,651</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,651</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,471</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 53,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 94,176</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,071</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,623</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">NPV for future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 50,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,553</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,934</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,404</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,619</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,553</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, 2020, 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.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;">Operating&#160;Lease&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.64%;margin:0pt;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.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.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;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.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-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.64%;margin:0pt;padding:0pt;"><p 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.86%;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.08%;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.58%;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.08%;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%;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.64%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 14,374</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: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;"> 22,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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,080</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 7,427</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: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;"> 2,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,941</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 3,632</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:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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,632</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 1,242</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: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;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;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,242</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 369</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:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 369</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;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.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;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,859</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:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;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,859</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 28,903</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: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;"> 25,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,123</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 467</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: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;"> 963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;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,430</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">NPV for future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:3px double #000000;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,436</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: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;"> 24,257</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:3px double #000000;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:56.86%;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:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#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.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: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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#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:56.86%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p 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:56.86%;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_HBHGmGHHfEuos-2dVi7JDg;"><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.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> 15,204</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: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;"> 21,887</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;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,091</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;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_MtGyIV6DrU6RTTlWhUYIsw;"><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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;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,232</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: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;"> 2,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 15,602</p></td></tr><tr><td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;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,436</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 24,257</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 52,693</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of components of leases that are recognized on the Balance Sheets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177043392">
<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, 2021</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>BORROWINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtTableTextBlock', window );">Schedule of bank borrowings</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 912,549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,092,329</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings, current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,736</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,886</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings on project assets &#8212; current<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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;"> 198,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 321,655</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,401,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,592,870</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 446,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 523,634</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,847,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,116,504</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</span></td></tr></table><div style="margin-top:6pt;"/><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">Schedule of future principal repayments on the long-term borrowings</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</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;"> 500,541</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;">2023</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;"> 336,504</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;">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;</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;"> 160,043</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;"><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;"> 6,822</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;"> 4,783</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;"> 15,482</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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 1,024,175</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;">Less: future principal repayment related to long-term borrowings, current portion</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%;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;"> (500,541)</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 long-term portion</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;"><span style="visibility:hidden;">&#8203;</span></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;"> 523,634</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 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.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.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.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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.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.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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</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.16%;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.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:11.32%;background:#cceeff;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.26</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;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.03</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.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings on project assets &#8211; current</p></td><td style="vertical-align:bottom;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:11.32%;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.63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;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.04</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:71.16%;background:#cceeff;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.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:11.32%;background:#cceeff;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.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;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.46</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></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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 17,316</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; property, plant and equipment</p></td><td style="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;"> 2,620</p></td><td style="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;"> 154</p></td><td style="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;"> &#8212;</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 expense</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:1px solid #000000;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,326</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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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:1px solid #000000;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></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;">Total interest incurred</p></td><td style="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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,740</p></td><td style="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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-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%;border-bottom:3px double #000000;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></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfEffectiveInterestRatesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of average effective interest rates on borrowings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfEffectiveInterestRatesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfInterestExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of interest expenses related to borrowings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfInterestExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturity and sinking fund requirement for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174677552">
<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, 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_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;">2019</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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">2021</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;">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;"> 50,605</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;"> 37,732</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;"> 28,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,931</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;"> 45,053</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;"> (23,282)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (46,067)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;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></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;"> (2,207)</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;"> 55,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,146</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177027856">
<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, 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_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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;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;"> (61,880)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,896)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 5,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 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;"> 8,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (113,262)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,431</p></td></tr><tr><td style="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;"> 204,632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 189,398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (32,716)</p></td></tr><tr><td style="vertical-align: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;"> 29,335</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,642</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,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 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;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;"> 28,215</p></td><td style="vertical-align:bottom;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;"> 50,381</p></td><td style="vertical-align:bottom;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;"> 51,313</p></td></tr><tr><td style="vertical-align: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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 208,621</p></td><td style="vertical-align:bottom;white-space: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;"> 145,263</p></td><td style="vertical-align:bottom;white-space: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;"> 145,720</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-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;">Canada</p></td><td style="vertical-align:bottom;white-space: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;"> (3,420)</p></td><td style="vertical-align:bottom;white-space: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;"> 36,226</p></td><td style="vertical-align:bottom;white-space: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;"> (1,124)</p></td></tr><tr><td style="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;">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;"> (4,803)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (71,421)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="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;">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;"> 13,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 3pt 0pt 0pt;"> 18,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;"> 24,047</p></td></tr><tr><td style="vertical-align: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,057</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 16,865</p></td></tr><tr><td style="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;"> 56,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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;"> (6,558)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,792)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;"> (2,412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,604)</p></td></tr><tr><td style="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;"> (5,333)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,998)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (65,017)</p></td></tr><tr><td style="vertical-align: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;"> (2,953)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,571)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (353)</p></td></tr><tr><td style="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;">Other</p></td><td style="vertical-align:bottom;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;"> 2,637</p></td><td style="vertical-align:bottom;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;"> (8,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;">&#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;"> (948)</p></td></tr><tr><td style="vertical-align: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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,619)</p></td><td style="vertical-align:bottom;white-space: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;"> (24,238)</p></td><td style="vertical-align:bottom;white-space: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;"> (67,237)</p></td></tr><tr><td style="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 income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-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;">Canada</p></td><td style="vertical-align:bottom;white-space: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;"> (9,978)</p></td><td style="vertical-align:bottom;white-space: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,434</p></td><td style="vertical-align:bottom;white-space: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;"> (439)</p></td></tr><tr><td style="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;">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;"> (7,215)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,248)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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,289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="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;">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;"> 10,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,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:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;"> 9,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;">&#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;"> 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;">&#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;"> 15,917</p></td></tr><tr><td style="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;"> 42,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,983)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></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:70.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:24.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><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Combined federal and provincial income tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of permanent difference</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Effect of different tax rate on earnings in other jurisdictions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of tax holiday</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Effect of true-up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Unrecognized tax provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of change in tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.69%;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;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;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:6.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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:70.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.62%;border-bottom:3px double #000000;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></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:58.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: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.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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;">2019</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;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</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;">2021</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.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;">(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:58.68%;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: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;"> 7,956</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,287</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.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;"> 4,466</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;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: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;"> 0.13</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;"> 0.02</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.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;"> 0.07</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;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: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;"> 0.13</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;"> 0.02</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.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;"> 0.07</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.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,699</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,942</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Bad debt 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;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,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,175</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Inventory write-down</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,121</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,404</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Future deductible expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,910</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation and impairment difference of property, plant and equipment and solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,138</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,561</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</p></td><td style="vertical-align:bottom;white-space: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;"> 406</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Government subsidies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,470</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net operating losses carry-forward</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,850</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 110,012</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange loss and capital loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 491</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Interest limitation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,800</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,958</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,690</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 286,494</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (50,118)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (45,682)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, net of valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 240,812</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,153</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation difference of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,776</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Insurance recoverable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,746</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,452</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,046</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,788</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,459</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 188,353</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 236,503</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,080)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,150)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 188,353</p></td></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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;"> 76,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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;"> (6,156)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,585)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align: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;"> 261</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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;"> 70,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></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="font-size:6pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;">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;"> 15,730</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Addition for tax positions related to the current 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;">&#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;"> 11</p></td><td style="vertical-align:bottom;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;">&#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;">&#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;"> &#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;">Reductions for tax positions from prior years/Statute of limitations expirations</p></td><td style="vertical-align:bottom;white-space: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;"> (5,720)</p></td><td style="vertical-align:bottom;white-space: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;"> (1,011)</p></td><td style="vertical-align:bottom;white-space: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;"> (3,763)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 536</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (2)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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.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;"> 10,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 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;">&#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;"> 5,863</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -URI https://asc.fasb.org/extlink&amp;oid=126976462&amp;loc=d3e36027-109320<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfIncomeTaxHolidayTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the income tax exemptions and reductions which have been granted by taxing authorities for a specified period, applicable term of the exemptions and reductions, estimated dollar value of tax benefits, and per share benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfIncomeTaxHolidayTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfValuationAllowanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfValuationAllowanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172829280">
<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, 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_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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:13.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.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.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:13.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: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:1.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:13.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></tr><tr><td style="vertical-align:bottom;width:47.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:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.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 Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.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: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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-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:14.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-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:14.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></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:47.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:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.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;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:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.1%;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.8%;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.78%;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:13.07%;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.77%;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.78%;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:13.07%;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:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 171,585</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 146,703</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 95,248</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;background:#cceeff;border-bottom:1px solid #000000;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></tr><tr><td style="vertical-align:bottom;width:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;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,560</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;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></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.1%;background:#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.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.07%;background:#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.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.07%;background:#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:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="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.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;"> 59,633,855</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="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.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;"> 59,575,898</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="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.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;"> 61,614,391</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Diluted effects of share number from share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 794,526</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 897,258</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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 985,554</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 349,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 1,833,663</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 6,272,157</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 60,777,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 62,306,819</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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 68,872,102</p></td></tr><tr><td style="vertical-align:bottom;width:47.95%;margin:0pt;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;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.88</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;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></tr><tr><td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 2.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 2.38</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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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;"> 1.46</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: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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 41,950</p></td><td style="vertical-align:bottom;white-space: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;"> 187,083</p></td><td style="vertical-align:bottom;white-space: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;"> 3,877</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174688160">
<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, 2021</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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;">$</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;">2022</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;"> 67,448</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;">2023</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;"> 49,475</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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;border-bottom:1px solid #000000;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,948</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;"> 167,871</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174871264">
<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, 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_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, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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;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;margin:0pt;"><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;margin:0pt;"><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;margin:0pt;"><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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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;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;margin:0pt;"><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;margin:0pt;"><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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,105,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 726,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (354,716)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,496,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 577,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (286,624)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,786,581</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 608,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 149,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (68,092)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 689,914</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 253,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (86,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 220,430</p></td></tr></table><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, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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;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;margin:0pt;"><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;margin:0pt;"><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;margin:0pt;"><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;"> 2,591,154</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;"> 718,735</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;"> (109,306)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</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;"> 1,977,502</p></td><td style="vertical-align:bottom;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;"> 604,856</p></td><td style="vertical-align:bottom;white-space: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;"> (100,272)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,482,086</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;"> 613,652</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;"> 113,879</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;"> (9,034)</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;"> 718,497</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;"> 267,642</p></td><td style="vertical-align:bottom;white-space: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;"> 18,795</p></td><td style="vertical-align:bottom;white-space: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;"> (27,558)</p></td><td style="vertical-align:bottom;white-space: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;"> 258,879</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes inter-segment elimination, and unallocated corporate costs not considered part of management&#8217;s evaluation of reportable segment operating performance.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Income from operations reflects management&#8217;s allocation and estimate as some services are shared by the Company&#8217;s </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> reportable segments.</span></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">Summary of the Company's net revenues generated from different geographic locations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="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;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;">&#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;"> 852,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;"> 696,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,590,573</p></td></tr><tr><td style="vertical-align: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;"> 395,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 139,611</p></td></tr><tr><td style="vertical-align: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;Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,330</p></td><td style="vertical-align:bottom;white-space: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;"> 100,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,792</p></td></tr><tr><td style="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;"> 29,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 21,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 76,015</p></td></tr><tr><td style="vertical-align: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;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,402,041</p></td><td style="vertical-align:bottom;white-space: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;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,221,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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;"> 2,279,594</p></td></tr><tr><td style="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;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;">&#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;"> 317,077</p></td><td style="vertical-align:bottom;white-space: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;"> 504,656</p></td><td style="vertical-align:bottom;white-space: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></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;"> 372,687</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 560,701</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;"> 70,893</p></td><td style="vertical-align:bottom;white-space: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;"> 61,141</p></td><td style="vertical-align:bottom;white-space: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></tr><tr><td style="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;"> 12,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,108</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align: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;Cyprus</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,175</p></td><td style="vertical-align:bottom;white-space: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;"> 13,265</p></td><td style="vertical-align:bottom;white-space: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;"> 51,038</p></td></tr><tr><td style="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;"> 10,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;">&#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;"> 15,417</p></td><td style="vertical-align:bottom;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></tr><tr><td style="vertical-align: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;"> 39,268</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,311</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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,168</p></td></tr><tr><td style="vertical-align: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;Korea</p></td><td style="vertical-align:bottom;white-space: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;"> 72,552</p></td><td style="vertical-align:bottom;white-space: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,896</p></td><td style="vertical-align:bottom;white-space: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;"> 3,413</p></td></tr><tr><td style="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;"> 76,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%;border-bottom:1px solid #000000;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,054</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 91,670</p></td></tr><tr><td style="vertical-align: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;"><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,018,083</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,620,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,139,070</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;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;">&#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;"> 109,119</p></td><td style="vertical-align:bottom;white-space: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;"> 119,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;">&#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;"> 231,995</p></td></tr><tr><td style="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;Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 313,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,770</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,715</p></td></tr><tr><td style="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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 138,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,658</p></td></tr><tr><td style="vertical-align: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;South Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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></tr><tr><td style="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="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;"> 17,717</p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 16,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;"> 34,604</p></td></tr><tr><td style="vertical-align: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;"> 13,516</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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></tr><tr><td style="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 Kingdom</p></td><td style="vertical-align:bottom;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;"> 33,158</p></td><td style="vertical-align:bottom;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;"> 8,842</p></td><td style="vertical-align:bottom;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;"> 7,749</p></td></tr><tr><td style="vertical-align: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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,873</p></td><td style="vertical-align:bottom;white-space: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;"> 55,433</p></td><td style="vertical-align:bottom;white-space: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;"> 96,271</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;"><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;">780,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">634,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">858,505</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;">Total 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;border-bottom:3px double #000000;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,200,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;">5,277,169</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.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,002,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,230,613</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 295,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 266,870</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 204,515</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,680</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Argentina</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,208</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,508</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,331</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,700</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,716</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,024</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,050</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 46,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,905</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total long-lived assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;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,790,538</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;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,033,397</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.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.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.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></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</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;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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:center;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:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Solar modules</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,012,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,348,724</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,328,301</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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;"> 116,449</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 157,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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;"> 302,133</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Battery 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;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 222,655</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">China energy/EPC (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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;"> 58,096</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;"> 175,388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,830</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Others </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;"> 295,244</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;"> 60,661</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,167</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Global Energy:</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;"><span style="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="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="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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Solar and battery storage projects</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;"> 652,050</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;"> 654,827</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.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;"> 1,064,178</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">O&amp;M and asset management services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 19,750</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;"> 26,386</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,334</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Others (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,935</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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="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%;border-bottom:1px solid #000000;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></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:3px double #000000;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,200,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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;border-bottom:3px double #000000;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></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph b<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174680032">
<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, 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Schedule of the RSU activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in whole US dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January&#160;1, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,888,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.78</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,161,098</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26.10</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (562,376)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;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.11</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (152,172)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22.04</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December&#160;31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,335,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24.23</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160178318064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND PRINCIPAL ACTIVITIES (Narrative) (Details)<br> $ in Thousands, &#165; in Millions</strong></div></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1">36 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Sep. 30, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2020 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SharePurchaseProceedsFromThirdPartyInvestors', window );">Proceeds from share purchases of third-party investors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 224,553<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 224,553<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 224,553<span></span>
</td>
</tr>
<tr class="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 );">Capital raised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">224,553<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Noncontrolling Interests</a></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="text">&#160;<span></span>
</td>
<td class="nump">261,332<span></span>
</td>
<td class="nump">$ 11,488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1', window );">Compensation cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<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_PercentageOfDiscountOnIssueOfShares', window );">Percentage of discount on Issue of Shares</a></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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PremiumDiscountOnIssueOfShares', window );">Premium (Discount) on Issue of Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 768,000<span></span>
</td>
<td class="nump">&#165; 5,250<span></span>
</td>
<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_BalanceSheetLocationAxis=csiq_OtherPayablesMember', window );">Other Payables [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SubscriptionAdvances', window );">Subscription advances</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,342<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 36,342<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 36,342<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,500<span></span>
</td>
<td class="nump">31<span></span>
</td>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Noncontrolling Owners</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.40%<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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan', window );">Stock Issued During Period, Value, Employee Stock Ownership Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 36,342<span></span>
</td>
<td class="nump">248<span></span>
</td>
<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 );">CSI Solar Co</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">219,000<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,100,000<span></span>
</td>
<td class="nump">&#165; 7,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="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 Noncontrolling Interests</a></td>
<td class="nump">$ 261,332<span></span>
</td>
<td class="nump">&#165; 1,780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_PercentageOfDiscountOnIssueOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of discount on issue of shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PercentageOfDiscountOnIssueOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PremiumDiscountOnIssueOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of premium or discount on issue of shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PremiumDiscountOnIssueOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SharePurchaseProceedsFromThirdPartyInvestors">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non-controlling interest portion attributable to proceeds received from third-party investors for share purchases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SharePurchaseProceedsFromThirdPartyInvestors</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SubscriptionAdvances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of subscription advances were fully received and recorded as other payables on the consolidated balance sheets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SubscriptionAdvances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569655-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost expensed and capitalized for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate value of stock issued during the period as a result of employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 40<br> -Section 25<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109244457&amp;loc=d3e16649-113920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=csiq_OtherPayablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_OtherPayablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=csiq_CanadianSolarEmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=csiq_CanadianSolarEmployeesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=csiq_CanadianSolarMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_OwnershipAxis=csiq_CanadianSolarMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174516208">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainContingenciesLineItems', window );"><strong>Principal accounting policies:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Allowance for credit losses</a></td>
<td class="nump">$ 1,409<span></span>
</td>
<td class="nump">$ 386<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>70
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172712432">
<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>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Buildings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">20 years<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">30 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker', window );">Maximum useful life of transferred to an offtaker</a></td>
<td class="text">30 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncreaseDecreaseInDepreciationExpense', window );">Increase or decrease in depreciation expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,186<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember', window );">Solar power systems | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></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_ElectricGenerationEquipmentMember', window );">Solar power systems | Minimum | Depreciation life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember', window );">Solar power systems | 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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">25 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 | Maximum | Depreciation life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">25 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_csiq_IncreaseDecreaseInDepreciationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of increase Decrease in Depreciation Expense
..</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInDepreciationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the maximum useful life of project to be transferred to an offtaker.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ChangeInAccountingEstimateByTypeAxis=us-gaap_ServiceLifeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInAccountingEstimateByTypeAxis=us-gaap_ServiceLifeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171396160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Technical know-how</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember', window );">Land use rights | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">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_UseRightsMember', window );">Land use rights | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">50 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177005648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment charges on investments</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 24,060,000<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 property, plant and equipment</a></td>
<td class="nump">$ 6,084,000<span></span>
</td>
<td class="nump">$ 11,854,000<span></span>
</td>
<td class="nump">$ 21,866,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172775552">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</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">$ 9,402<span></span>
</td>
<td class="nump">$ 6,628<span></span>
</td>
<td class="nump">$ 3,915<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AmountOfPerformanceBasedEnergyIncentives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of performance based energy incentives recognized in revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AmountOfPerformanceBasedEnergyIncentives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ElectricityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ElectricityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173180592">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
<td class="nump">$ 3,200,583<span></span>
</td>
</tr>
<tr 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>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">29,420<span></span>
</td>
<td class="nump">9,706<span></span>
</td>
<td class="nump">5,866<span></span>
</td>
</tr>
<tr class="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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">15,302<span></span>
</td>
<td class="nump">9,077<span></span>
</td>
<td class="nump">$ 5,866<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment | Electricity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 14,118<span></span>
</td>
<td class="nump">$ 629<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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ElectricityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ElectricityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173144096">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
<td class="nump">$ 3,200,583<span></span>
</td>
</tr>
<tr 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" 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,420<span></span>
</td>
<td class="nump">9,706<span></span>
</td>
<td class="nump">5,866<span></span>
</td>
</tr>
<tr class="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="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">15,302<span></span>
</td>
<td class="nump">9,077<span></span>
</td>
<td class="nump">5,866<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment | Electricity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">14,118<span></span>
</td>
<td class="nump">629<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Recognized at a point in time | CSI Solar Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">3,881,573<span></span>
</td>
<td class="nump">2,704,332<span></span>
</td>
<td class="nump">2,210,459<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Recognized at a point in time | Global Energy Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">1,068,179<span></span>
</td>
<td class="nump">687,759<span></span>
</td>
<td class="nump">696,326<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Recognized over time | CSI Solar Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">271,513<span></span>
</td>
<td class="nump">45,996<span></span>
</td>
<td class="nump">271,389<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Recognized over time | Global Energy Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 55,904<span></span>
</td>
<td class="nump">$ 38,408<span></span>
</td>
<td class="nump">$ 22,409<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ElectricityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ElectricityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173033024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 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_ContractWithCustomerAssetNetAbstract', window );"><strong>Contract Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Accounts receivables, unbilled</a></td>
<td class="nump">$ 37,244<span></span>
</td>
<td class="nump">$ 28,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_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Advances from customers</a></td>
<td class="nump">135,512<span></span>
</td>
<td class="nump">189,470<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ContractLiabilitiesOtherCurrentLiabilities', window );">Other current liabilities</a></td>
<td class="nump">98,494<span></span>
</td>
<td class="nump">35,012<span></span>
</td>
</tr>
<tr class="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">234,006<span></span>
</td>
<td class="nump">$ 224,482<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized from beginning balance of contract liabilities</a></td>
<td class="nump">199,140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Contract liabilities expected to be recognized</a></td>
<td class="nump">$ 234,006<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ContractLiabilitiesOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other current liabilities relating to contract liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ContractLiabilitiesOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172862192">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">$ 58,407<span></span>
</td>
<td class="nump">$ 45,167<span></span>
</td>
<td class="nump">$ 47,045<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember', window );">Shipping and Handling</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling and distribution expenses</a></td>
<td class="nump">$ 316,358<span></span>
</td>
<td class="nump">$ 134,248<span></span>
</td>
<td class="nump">$ 88,079<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expenses recognized in the period that are directly related to the selling and distribution of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172837488">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments', window );">Gain on disposal of solar power systems</a></td>
<td class="num">$ (10,091)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1,666)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense', window );">Net (gain) loss on disposal of property, plant and equipment</a></td>
<td class="nump">83<span></span>
</td>
<td class="num">$ (253)<span></span>
</td>
<td class="nump">1,227<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_InsuranceClaimsOrWeatherRelatedProjectDamages', window );">(Insurance claims on) weather-related project damages</a></td>
<td class="nump">1,408<span></span>
</td>
<td class="num">(1,025)<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">(47,068)<span></span>
</td>
<td class="num">(25,523)<span></span>
</td>
<td class="num">(10,536)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_GrantMember', window );">Government grants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="num">$ (38,468)<span></span>
</td>
<td class="num">$ (24,245)<span></span>
</td>
<td class="num">$ (10,097)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of solar power systems and other investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InsuranceClaimsOrWeatherRelatedProjectDamages">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of (insurance claims) or weather related project damages.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InsuranceClaimsOrWeatherRelatedProjectDamages</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net loss on disposal of property, plant and equipment included in other operating expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>79
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171553744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 31, 2009</div></th>
<th class="th"><div>Aug. 31, 2011</div></th>
<th class="th"><div>Jun. 30, 2009</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_InsurancePremiumUnamortizedAmountNoncurrent', window );">Unamortized carrying amount of insurance premium</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 528<span></span>
</td>
<td class="nump">$ 1,728<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">87,729<span></span>
</td>
<td class="nump">82,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Warranty adjustment</a></td>
<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,622<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_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">2,153<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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">$ 45,053<span></span>
</td>
<td class="nump">$ 26,931<span></span>
</td>
<td class="nump">$ 28,044<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember', window );">80% initial power capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">25 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr 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>
</tr>
<tr class="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>
</tr>
<tr 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>
</tr>
<tr class="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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules | Material and workmanship</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">6 years<span></span>
</td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules | 97 % initial power capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules | 93% initial power capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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_SolarPowerProjectMember', window );">Solar Power Project</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_StandardProductWarrantyPeriod', window );">Guarantee of solar modules for defects in materials and engineering design, installation and construction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 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_BifacialModuleAndDoubleGlassModuleMember', window );">Bifacial module and double glass module</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity', window );">Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">30 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">25 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_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">30 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InsurancePolicyTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the term of the insurance policy over which the insurance premium will be amortized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InsurancePolicyTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InsurancePremiumUnamortizedAmountNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the unamortized carrying amount of insurance premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InsurancePremiumUnamortizedAmountNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_OtherNoncurrentAssetsAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherNoncurrentAssetsAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of revenue which the entity uses as an estimate of warranty expense for sales of solar modules, which is included in cost of revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProductWarrantyAccrualRateForSalesOfSolarModules</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a ten year period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a 25 year period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the warranty period of solar modules for decline of more than 10 percent of the initial minimum power generation capacity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the warranty period of solar modules for decline of more than 20 percent of the initial minimum power generation capacity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_StandardProductWarrantyPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the period of time over which the entity guarantees against defects in materials and workmanship.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_StandardProductWarrantyPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InsuranceSettlementsReceivableNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount due after one year of the balance sheet date (or one operating cycle, if longer) of amount due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InsuranceSettlementsReceivableNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3,4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyLiabilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyLiabilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsByNatureAxis=csiq_MaterialAndWorkmanShipMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsByNatureAxis=csiq_MaterialAndWorkmanShipMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsByNatureAxis=csiq_NinetySevenPercentInitialPowerCapacityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsByNatureAxis=csiq_NinetySevenPercentInitialPowerCapacityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsByNatureAxis=csiq_NinetyThreeInitialPowerCapacityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsByNatureAxis=csiq_NinetyThreeInitialPowerCapacityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=csiq_SolarPowerProjectMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.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_SolarPowerProjectMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_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>80
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160178150976">
<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, 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_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">$ 225,879<span></span>
</td>
<td class="nump">$ 182,146<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember', window );">Supplier | Supplier A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration of credit risk</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvancesOnInventoryPurchases', window );">Advances to suppliers</a></td>
<td class="nump">52,257<span></span>
</td>
<td class="nump">$ 43,821<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember', window );">Supplier | Supplier B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration of credit risk</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvancesOnInventoryPurchases', window );">Advances to suppliers</a></td>
<td class="nump">37,117<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember', window );">Supplier | Supplier C</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration of credit risk</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvancesOnInventoryPurchases', window );">Advances to suppliers</a></td>
<td class="nump">$ 36,026<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_AdvancesOnInventoryPurchases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value of capitalized payments made in advance for inventory that is expected to be received within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvancesOnInventoryPurchases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173181216">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Mar. 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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>Recently issued accounting pronouncements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 35,286<span></span>
</td>
<td class="nump">$ 26,793<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Lease liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,400<span></span>
</td>
<td class="nump">28,436<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,116,504<span></span>
</td>
<td class="nump">$ 1,847,169<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202004Member', window );">Accounting Standards Update 2020-04 [Member] | Forecast</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>Recently issued accounting pronouncements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Debt</a></td>
<td class="nump">$ 530,662<span></span>
</td>
<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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202004Member', window );">Accounting Standards Update 2020-04 [Member] | London Interbank Offered Rate (LIBOR) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>Recently issued accounting pronouncements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 956,523<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtLongtermAndShorttermCombinedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the aggregate of total long-term debt, including current maturities and short-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtLongtermAndShorttermCombinedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202004Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202004Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177212704">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="num">$ (47,126)<span></span>
</td>
<td class="num">$ (40,293)<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">651,372<span></span>
</td>
<td class="nump">408,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">40,293<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">47,126<span></span>
</td>
<td class="nump">40,293<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">Allowances for accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Receivable, gross</a></td>
<td class="nump">698,498<span></span>
</td>
<td class="nump">449,251<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(47,126)<span></span>
</td>
<td class="num">(40,293)<span></span>
</td>
<td class="num">$ (29,545)<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">651,372<span></span>
</td>
<td class="nump">408,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">40,293<span></span>
</td>
<td class="nump">29,545<span></span>
</td>
<td class="nump">32,733<span></span>
</td>
</tr>
<tr class="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 );">Allowances made (reversed) during the year, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,785)<span></span>
</td>
<td class="num">(1,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_ValuationAllowancesAndReservesDeductions', window );">Accounts written-off against allowances</a></td>
<td class="num">(197)<span></span>
</td>
<td class="num">(639)<span></span>
</td>
<td class="num">(309)<span></span>
</td>
</tr>
<tr class="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">(141)<span></span>
</td>
<td class="nump">1,602<span></span>
</td>
<td class="num">(1,493)<span></span>
</td>
</tr>
<tr class="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">47,126<span></span>
</td>
<td class="nump">40,293<span></span>
</td>
<td class="nump">29,545<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember', window );">Allowances for advances to suppliers</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Receivable, gross</a></td>
<td class="nump">279,800<span></span>
</td>
<td class="nump">299,019<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(19,682)<span></span>
</td>
<td class="num">(19,700)<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">260,118<span></span>
</td>
<td class="nump">279,319<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Beginning of the year</a></td>
<td class="nump">19,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">19,682<span></span>
</td>
<td class="nump">19,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember', window );">Allowances for other receivables</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Receivable, gross</a></td>
<td class="nump">280,350<span></span>
</td>
<td class="nump">238,779<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="num">(9,397)<span></span>
</td>
<td class="num">(8,802)<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">270,953<span></span>
</td>
<td class="nump">229,977<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">8,802<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Closing balance</a></td>
<td class="nump">9,397<span></span>
</td>
<td class="nump">8,802<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AdvancesToSuppliersAndOtherReceivableMember', window );">Advances to Suppliers and Other Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="num">(29,079)<span></span>
</td>
<td class="num">(28,502)<span></span>
</td>
<td class="num">(31,712)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">28,502<span></span>
</td>
<td class="nump">31,712<span></span>
</td>
<td class="nump">30,630<span></span>
</td>
</tr>
<tr 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 );">Allowances made (reversed) during the year, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,647)<span></span>
</td>
<td class="nump">2,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_ValuationAllowancesAndReservesDeductions', window );">Accounts written-off against allowances</a></td>
<td class="num">(53)<span></span>
</td>
<td class="num">(5,490)<span></span>
</td>
<td class="num">(1,452)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesForeignExchangeEffect', window );">Foreign exchange effect</a></td>
<td class="nump">186<span></span>
</td>
<td class="nump">633<span></span>
</td>
<td class="num">(123)<span></span>
</td>
</tr>
<tr class="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">29,079<span></span>
</td>
<td class="nump">$ 28,502<span></span>
</td>
<td class="nump">$ 31,712<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CumulativeEffectPeriodOfAdoptionAxis=srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember', window );">Cumulative effect, adjustment | 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_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Allowances made (reversed) during the year, net</a></td>
<td class="nump">7,171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CumulativeEffectPeriodOfAdoptionAxis=srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember', window );">Cumulative effect, adjustment | Advances to Suppliers and Other Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Allowances made (reversed) during the year, net</a></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_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ValuationAllowancesAndReservesForeignExchangeEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the foreign exchange effects in a given period to allowances or reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesForeignExchangeEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsNotesAndLoansReceivableLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsNotesAndLoansReceivableLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AdvancesToSuppliersAndOtherReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AdvancesToSuppliersAndOtherReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CumulativeEffectPeriodOfAdoptionAxis=srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CumulativeEffectPeriodOfAdoptionAxis=srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176712432">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 155,433<span></span>
</td>
<td class="nump">$ 90,308<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">117,509<span></span>
</td>
<td class="nump">69,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">919,432<span></span>
</td>
<td class="nump">536,541<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,192,374<span></span>
</td>
<td class="nump">695,981<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">$ 163,078<span></span>
</td>
<td class="nump">181,012<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 14,070<span></span>
</td>
<td class="nump">$ 42,907<span></span>
</td>
<td class="nump">$ 19,447<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_FinishedGoodsModules">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of finished goods includes modules.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_FinishedGoodsModules</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171962960">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost', window );">Project assets - Acquisition cost</a></td>
<td class="nump">$ 70,651<span></span>
</td>
<td class="nump">$ 44,549<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 cost</a></td>
<td class="nump">956,710<span></span>
</td>
<td class="nump">1,092,917<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">1,027,361<span></span>
</td>
<td class="nump">1,137,466<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">594,107<span></span>
</td>
<td class="nump">747,764<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">433,254<span></span>
</td>
<td class="nump">389,702<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">$ 17,152<span></span>
</td>
<td class="nump">$ 369<span></span>
</td>
<td class="nump">$ 20,194<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_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_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 acquisition 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_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost</td>
</tr>
<tr>
<td style="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>85
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173872048">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,363,713<span></span>
</td>
<td class="nump">$ 1,843,761<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,019,988)<span></span>
</td>
<td class="num">(827,601)<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_AccumulatedAssetImpairmentCharges', window );">Impairment</a></td>
<td class="num">(42,828)<span></span>
</td>
<td class="num">(52,149)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet', window );">Property, plant and equipment, excluding construction in process, net</a></td>
<td class="nump">1,300,897<span></span>
</td>
<td class="nump">964,011<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">100,980<span></span>
</td>
<td class="nump">193,720<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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">1,401,877<span></span>
</td>
<td class="nump">1,157,731<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">266,956<span></span>
</td>
<td class="nump">197,600<span></span>
</td>
<td class="nump">$ 148,034<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Buildings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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">724,940<span></span>
</td>
<td class="nump">533,647<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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">32,995<span></span>
</td>
<td class="nump">14,804<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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">1,477,638<span></span>
</td>
<td class="nump">1,191,780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, fixtures and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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">86,616<span></span>
</td>
<td class="nump">75,656<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Motor vehicles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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">9,833<span></span>
</td>
<td class="nump">7,643<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 31,691<span></span>
</td>
<td class="nump">$ 20,231<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_AccumulatedAssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 asset impairment 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_AccumulatedAssetImpairmentCharges</td>
</tr>
<tr>
<td style="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_PropertyPlantAndEquipmentExcludingConstructionInProgressNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the net amount of long-lived physical assets, excluding construction in process, used in the normal conduct of business and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160170888176">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems', window );">Accumulated depreciation</a></td>
<td class="num">$ (13,760)<span></span>
</td>
<td class="num">$ (30,535)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<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">108,263<span></span>
</td>
<td class="nump">158,262<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">266,956<span></span>
</td>
<td class="nump">197,600<span></span>
</td>
<td class="nump">$ 148,034<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember', window );">Solar power systems</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="reu">
<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">117,339<span></span>
</td>
<td class="nump">182,232<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">11,212<span></span>
</td>
<td class="nump">6,396<span></span>
</td>
<td class="nump">$ 6,379<span></span>
</td>
</tr>
<tr class="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="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="reu">
<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">$ 4,684<span></span>
</td>
<td class="nump">$ 6,565<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_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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AssetUnderConstructionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AssetUnderConstructionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172001760">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 40,636<span></span>
</td>
<td class="nump">$ 42,628<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(21,644)<span></span>
</td>
<td class="num">(20,199)<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">18,992<span></span>
</td>
<td class="nump">22,429<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">4,601<span></span>
</td>
<td class="nump">5,122<span></span>
</td>
<td class="nump">$ 5,310<span></span>
</td>
</tr>
<tr class="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 );">2022</a></td>
<td class="nump">4,409<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2023</a></td>
<td class="nump">3,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2024</a></td>
<td class="nump">2,691<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2025</a></td>
<td class="nump">2,198<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2026</a></td>
<td class="nump">2,052<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter', window );">2026 and thereafter</a></td>
<td class="nump">4,414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Technical know-how</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>INTANGIBLE ASSETS, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">1,577<span></span>
</td>
<td class="nump">1,543<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,562)<span></span>
</td>
<td class="num">(1,525)<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">15<span></span>
</td>
<td class="nump">18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">39,059<span></span>
</td>
<td class="nump">41,085<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(20,082)<span></span>
</td>
<td class="num">(18,674)<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">$ 18,977<span></span>
</td>
<td class="nump">$ 22,411<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year and after that year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter</td>
</tr>
<tr>
<td style="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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180785136">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 31, 2020 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest rate swap | Designated as hedging instruments | Cash flow hedge</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeNotionalAmount', window );">Total notional</a></td>
<td class="nump">$ 399,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payment on derivative.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5580258-113959<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579245-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176910272">
<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, 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_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">$ 7,362<span></span>
</td>
<td class="nump">$ 23,351<span></span>
</td>
</tr>
<tr class="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">2,622<span></span>
</td>
<td class="nump">10,755<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember', window );">Derivative assets - current | Foreign exchange forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">7,124<span></span>
</td>
<td class="nump">22,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_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember', window );">Derivative assets - current | Foreign exchange option contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">162<span></span>
</td>
<td class="nump">1,173<span></span>
</td>
</tr>
<tr class="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="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">76<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">$ 2,622<span></span>
</td>
<td class="nump">10,753<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after offset of derivative liability, of financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, before offset against an obligation to return collateral under a master netting arrangement. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226006-175313<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41678-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after offset of derivative asset, of financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, elected not to be and before offset against a right to receive collateral under a master netting arrangement. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41678-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226006-175313<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176664640">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 23,785<span></span>
</td>
<td class="nump">$ 50,001<span></span>
</td>
<td class="num">$ (22,218)<span></span>
</td>
</tr>
<tr class="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="nump">22,582<span></span>
</td>
<td class="nump">49,807<span></span>
</td>
<td class="num">(20,249)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">220<span></span>
</td>
<td class="nump">1,376<span></span>
</td>
<td class="num">(1,022)<span></span>
</td>
</tr>
<tr class="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">$ 983<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest rate swap</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1,182)<span></span>
</td>
<td class="num">$ (947)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4CC<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL109998890-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177034512">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE MEASUREMENT</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Impairment charges for property, plant and equipment</a></td>
<td class="nump">$ 6,084<span></span>
</td>
<td class="nump">$ 11,854<span></span>
</td>
<td class="nump">$ 21,866<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Carrying value of long-term borrowings</a></td>
<td class="nump">523,634<span></span>
</td>
<td class="nump">446,090<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleLongTermNotesPayable', window );">Convertible notes</a></td>
<td class="nump">224,675<span></span>
</td>
<td class="nump">223,214<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">$ 17,152<span></span>
</td>
<td class="nump">$ 369<span></span>
</td>
<td class="nump">$ 20,194<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the impairment charges and write-off for investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsImpairmentCharge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleLongTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleLongTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180431632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Listed equity securities (Details)<br> &#165; in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="2"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE MEASUREMENT</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent', window );">Amount of shares received</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 91,370<span></span>
</td>
<td class="nump">$ 14,003,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_EquitySecuritiesFvNiUnrealizedGainLoss', window );">Unrealized gains</a></td>
<td class="nump">$ 4,744,000<span></span>
</td>
<td class="nump">$ 1,048,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_EquitySecuritiesFVNINoncurrent', window );">Amount of shares carried at fair value</a></td>
<td class="nump">$ 20,195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15,056<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquitySecuritiesFVNINoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=123594786&amp;loc=SL75136599-209740<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesFVNINoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=123594786&amp;loc=SL75136599-209740<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 equity security measured at fair value with change in fair value recognized in net income (FV-NI).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 321<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126980263&amp;loc=SL75117546-209714<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177929168">
<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, 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_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">$ 7,388,342<span></span>
</td>
<td class="nump">$ 6,536,854<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">1,271,215<span></span>
</td>
<td class="nump">1,202,285<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term borrowings</a></td>
<td class="nump">1,024,175<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">5,261,904<span></span>
</td>
<td class="nump">4,644,069<span></span>
</td>
</tr>
<tr 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">48,200<span></span>
</td>
<td class="nump">42,064<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProjectAssets', window );">Project assets</a></td>
<td class="nump">289,315<span></span>
</td>
<td class="nump">337,836<span></span>
</td>
</tr>
<tr class="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">53,091<span></span>
</td>
<td class="nump">79,580<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">390,606<span></span>
</td>
<td class="nump">459,480<span></span>
</td>
</tr>
<tr class="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">113,857<span></span>
</td>
<td class="nump">180,773<span></span>
</td>
</tr>
<tr class="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">106,880<span></span>
</td>
<td class="nump">52,408<span></span>
</td>
</tr>
<tr class="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">36,872<span></span>
</td>
<td class="nump">60,845<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">$ 257,609<span></span>
</td>
<td class="nump">$ 294,026<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631418-115840<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631419-115840<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableInterestEntityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidatedEntitiesAxis=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172966144">
<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, 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>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 98,819<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 78,291<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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_ReRoserockHoldingsLlcMember', window );">RE Roserock Holdings LLC ("Roserock")</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="nump">$ 18,854<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReCrimsonHoldingsLlcMember', window );">RE Crimson Holdings LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 12,889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 19,980<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">14.64%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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_SuzhouFinancialLeasingCoLtdMember', 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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 27,026<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 23,969<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">4.78%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.78%<span></span>
</td>
<td class="nump">4.78%<span></span>
</td>
</tr>
<tr 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 33,776<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 34,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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr 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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="nump">$ 6,274<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="nump">4.55%<span></span>
</td>
<td class="nump">4.55%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReRoserockHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.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_ReRoserockHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_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_SuzhouFinancialLeasingCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.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_SuzhouFinancialLeasingCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180282304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES - Tax equity transactions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_TaxEquityTransactionsLineItems', window );"><strong>Tax equity 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on disposal of investment in affiliates</a></td>
<td class="nump">$ 10,392<span></span>
</td>
<td class="nump">$ 13,936<span></span>
</td>
<td class="nump">$ 1,928<span></span>
</td>
</tr>
<tr 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_ReRoserockHoldingsLlcMember', window );">RE Roserock Holdings LLC ("Roserock")</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_TaxEquityTransactionsLineItems', window );"><strong>Tax equity 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>
</tr>
<tr class="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>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_TaxEquityTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">csiq_TaxEquityTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReRoserockHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.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_ReRoserockHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172453472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES - Other investments (Details)<br></strong></div></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 05, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Mar. 05, 2021 </div>
<div>JPY (&#165;) </div>
<div>&#165; / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Sep. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>JPY (&#165;) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Oct. 31, 2021</div></th>
<th class="th">
<div>Sep. 05, 2018 </div>
<div>shares</div>
</th>
<th class="th">
<div>Oct. 26, 2017 </div>
<div>shares</div>
</th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireEquityMethodInvestments', window );">Subscription amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 54,004,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,758,000<span></span>
</td>
<td class="nump">$ 7,684,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in earnings (loss) of unconsolidated investees</a></td>
<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,256,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,779,000<span></span>
</td>
<td class="nump">28,948,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_ImpairmentOfInvestments', window );">Impairment loss of investment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,060,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on sale of interest in affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,392,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,936,000<span></span>
</td>
<td class="nump">$ 1,928,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_dei_LegalEntityAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Stock Issued During Period, Shares, New Issues | shares</a></td>
<td class="nump">151,500<span></span>
</td>
<td class="nump">151,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Investment price per unit | &#165; / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 125,115<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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_SuzhouFinancialLeasingCoLtdMember', window );">Suzhou Financial Leasing Co., Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.78%<span></span>
</td>
<td class="nump">4.78%<span></span>
</td>
<td class="nump">4.78%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.78%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Subscription amount</a></td>
<td class="nump">$ 25,683<span></span>
</td>
<td class="nump">&#165; 2,843,238<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 55,697<span></span>
</td>
<td class="nump">&#165; 6,247,998<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NumberOfUnitsPurchased', window );">Number of Units Purchased | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,725<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56,620<span></span>
</td>
<td class="nump">56,620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Initial public offer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NumberOfUnitsPurchased', window );">Number of Units Purchased | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,395<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NumberOfUnitsPurchased', window );">Number of Units Purchased | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReCrimsonHoldingsLlcMember', window );">RE Crimson Holdings LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EquityMethodInvestmentOwnershipPercentageSold', window );">Interest sold (in percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on sale of interest in affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 123,135,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DecreaseOfNetAssets', window );">Net assets derecognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 42,333,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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") [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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on sale of interest in affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 113,843,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,896,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="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="text">&#160;<span></span>
</td>
<td class="nump">$ 7,527,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,363,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_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_JushengSuzhouSolarTechCo.LtdMember', window );">JuSheng (Suzhou) Solar Tech Co., Ltd</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.55%<span></span>
</td>
<td class="nump">4.55%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.55%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</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_NumberOfUnitsPurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of units purchased during period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfUnitsPurchased</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SuzhouFinancialLeasingCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.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_SuzhouFinancialLeasingCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_IPOMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_IPOMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172764864">
<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, 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_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 right-of-use assets</a></td>
<td class="nump">$ 14,920<span></span>
</td>
<td class="nump">$ 8,036<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestExpense', window );">Interest on lease liabilities</a></td>
<td class="nump">1,349<span></span>
</td>
<td class="nump">1,497<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">18,443<span></span>
</td>
<td class="nump">19,630<span></span>
</td>
</tr>
<tr class="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,884<span></span>
</td>
<td class="nump">850<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">$ 36,596<span></span>
</td>
<td class="nump">$ 30,013<span></span>
</td>
</tr>
<tr 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">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-209977<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-209977<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173188608">
<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, 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_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 leases</a></td>
<td class="num">$ (1,349)<span></span>
</td>
<td class="num">$ (1,497)<span></span>
</td>
</tr>
<tr class="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 leases</a></td>
<td class="num">(19,972)<span></span>
</td>
<td class="num">(20,589)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PaymentsForFinancingCashFlowsFromFinanceLease', window );">Financing cash outflows from finance lease</a></td>
<td class="num">(35,554)<span></span>
</td>
<td class="num">(19,163)<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">60,102<span></span>
</td>
<td class="nump">10,666<span></span>
</td>
</tr>
<tr class="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 leases</a></td>
<td class="nump">24,694<span></span>
</td>
<td class="nump">14,892<span></span>
</td>
</tr>
<tr 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">$ (1,880)<span></span>
</td>
<td class="num">$ (6,572)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PaymentsForFinancingCashFlowsFromFinanceLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of finance lease payments during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsForFinancingCashFlowsFromFinanceLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset disposed through early termination of operating leases in non-cash transaction</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseInterestPaymentOnLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest paid on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseInterestPaymentOnLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160178144208">
<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, 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_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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average term - finance leases</a></td>
<td class="text">2 years 7 months 28 days<span></span>
</td>
<td class="text">10 months 24 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_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average term - operating lease</a></td>
<td class="text">4 years 4 months 24 days<span></span>
</td>
<td class="text">3 years 25 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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate - finance lease</a></td>
<td class="nump">4.95%<span></span>
</td>
<td class="nump">5.54%<span></span>
</td>
</tr>
<tr class="re">
<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 discount rate - operating lease</a></td>
<td class="nump">4.34%<span></span>
</td>
<td class="nump">4.18%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for finance lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171821168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Operating leases - Maturities (Details) - USD ($)<br> $ in Thousands</strong></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_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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2021</a></td>
<td class="nump">$ 12,768<span></span>
</td>
<td class="nump">$ 14,374<span></span>
</td>
</tr>
<tr class="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 );">2022</a></td>
<td class="nump">7,941<span></span>
</td>
<td class="nump">7,427<span></span>
</td>
</tr>
<tr class="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 );">2023</a></td>
<td class="nump">4,833<span></span>
</td>
<td class="nump">3,632<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2024</a></td>
<td class="nump">1,880<span></span>
</td>
<td class="nump">1,242<span></span>
</td>
</tr>
<tr class="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 );">2025</a></td>
<td class="nump">2,398<span></span>
</td>
<td class="nump">369<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">10,651<span></span>
</td>
<td class="nump">1,859<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">$ 40,471<span></span>
</td>
<td class="nump">$ 28,903<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160173097696">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Operating leases - Gross difference (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 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_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract', window );"><strong>Operating leases, gross difference</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 40,471<span></span>
</td>
<td class="nump">$ 28,903<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="nump">5,071<span></span>
</td>
<td class="nump">467<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">NPV for future minimum lease payments</a></td>
<td class="nump">$ 35,400<span></span>
</td>
<td class="nump">$ 28,436<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177091856">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Finance leases - Maturities (Details) - USD ($)<br> $ in Thousands</strong></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_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="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 );">2021</a></td>
<td class="nump">$ 20,381<span></span>
</td>
<td class="nump">$ 22,706<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo', window );">2022</a></td>
<td class="nump">17,052<span></span>
</td>
<td class="nump">2,514<span></span>
</td>
</tr>
<tr class="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 );">2023</a></td>
<td class="nump">16,272<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_FinanceLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 53,705<span></span>
</td>
<td class="nump">$ 25,220<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172074080">
<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, 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_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_FinanceLeaseLiability', window );">Total Finance lease liabilities</a></td>
<td class="nump">$ 50,153<span></span>
</td>
<td class="nump">$ 24,257<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_FinanceLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">53,705<span></span>
</td>
<td class="nump">25,220<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 3,552<span></span>
</td>
<td class="nump">$ 963<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176897648">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Total leases - Maturities (Details) - USD ($)<br> $ in Thousands</strong></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_LeasesAbstract', window );"><strong>LEASE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDueNextTwelveMonths', window );">2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37,080<span></span>
</td>
</tr>
<tr 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 );">2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,941<span></span>
</td>
</tr>
<tr class="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 );">2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,632<span></span>
</td>
</tr>
<tr 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 );">2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,242<span></span>
</td>
</tr>
<tr class="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 );">2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">369<span></span>
</td>
</tr>
<tr 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="text">&#160;<span></span>
</td>
<td class="nump">1,859<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="text">&#160;<span></span>
</td>
<td class="nump">$ 54,123<span></span>
</td>
</tr>
<tr 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_LeasesFutureMinimumLeasePaymentsDueCurrent', window );">2019</a></td>
<td class="nump">$ 33,149<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_LeasesFutureMinimumLeasePaymentsDueInTwoYears', window );">2020</a></td>
<td class="nump">24,993<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_LeasesFutureMinimumLeasePaymentsDueInThreeYears', window );">2021</a></td>
<td class="nump">21,105<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_LeasesFutureMinimumLeasePaymentsDueInFourYears', window );">2022</a></td>
<td class="nump">1,880<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_LeasesFutureMinimumLeasePaymentsDueInFiveYears', window );">2023</a></td>
<td class="nump">2,398<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_LeasesFutureMinimumLeasePaymentsDueThereAfter', window );">Thereafter</a></td>
<td class="nump">10,651<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 94,176<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_LeasesFutureMinimumLeasePaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDue</td>
</tr>
<tr>
<td style="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_LeasesFutureMinimumLeasePaymentsDueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in tweleve 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_LeasesFutureMinimumLeasePaymentsDueCurrent</td>
</tr>
<tr>
<td style="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_LeasesFutureMinimumLeasePaymentsDueInFiveYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the fifth fiscal year following the latest fiscal 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_LeasesFutureMinimumLeasePaymentsDueInFiveYears</td>
</tr>
<tr>
<td style="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_LeasesFutureMinimumLeasePaymentsDueInFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the fourth fiscal year following the latest fiscal 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_LeasesFutureMinimumLeasePaymentsDueInFourYears</td>
</tr>
<tr>
<td style="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_LeasesFutureMinimumLeasePaymentsDueInThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the third fiscal year following the latest fiscal 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_LeasesFutureMinimumLeasePaymentsDueInThreeYears</td>
</tr>
<tr>
<td style="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_LeasesFutureMinimumLeasePaymentsDueInTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the second fiscal year following the latest fiscal 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_LeasesFutureMinimumLeasePaymentsDueInTwoYears</td>
</tr>
<tr>
<td style="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_LeasesFutureMinimumLeasePaymentsDueThereAfter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due after fifth fiscal 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_LeasesFutureMinimumLeasePaymentsDueThereAfter</td>
</tr>
<tr>
<td style="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_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>105
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180282464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Total leases - Gross difference (Details) - USD ($)<br> $ in Thousands</strong></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_LeasesAbstract', window );"><strong>LEASE</strong></a></td>
<td class="text">&#160;<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_LesseeLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 54,123<span></span>
</td>
</tr>
<tr 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="text">&#160;<span></span>
</td>
<td class="nump">1,430<span></span>
</td>
</tr>
<tr class="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">$ 85,553<span></span>
</td>
<td class="nump">$ 52,693<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">94,176<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_LeasesFutureMinimumPaymentsInterestIncludedInPayments', window );">Less: imputed interest</a></td>
<td class="nump">8,623<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_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments', window );">NPV for future minimum lease payments</a></td>
<td class="nump">$ 85,553<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease Liability</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeasesFutureMinimumLeasePaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDue</td>
</tr>
<tr>
<td style="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_LeasesFutureMinimumPaymentsInterestIncludedInPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount necessary to reduce net minimum lease payments to present value for leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments</td>
</tr>
<tr>
<td style="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_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 minimum lease payments for leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and 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_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments</td>
</tr>
<tr>
<td style="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_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>106
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171858208">
<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, 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_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">$ 30,934<span></span>
</td>
<td class="nump">$ 37,091<span></span>
</td>
</tr>
<tr 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">54,619<span></span>
</td>
<td class="nump">15,602<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">85,553<span></span>
</td>
<td class="nump">52,693<span></span>
</td>
</tr>
<tr class="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">12,185<span></span>
</td>
<td class="nump">15,204<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, noncurrent</a></td>
<td class="nump">23,215<span></span>
</td>
<td class="nump">13,232<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">35,400<span></span>
</td>
<td class="nump">28,436<span></span>
</td>
</tr>
<tr class="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">$ 18,749<span></span>
</td>
<td class="nump">$ 21,887<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 31,404<span></span>
</td>
<td class="nump">$ 2,370<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 50,153<span></span>
</td>
<td class="nump">$ 24,257<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease Liability</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease Liability, Current</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease Liability, Noncurrent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes noncurrent finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160161227344">
<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="3">1 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2"></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>Aug. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 30, 2021 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Oct. 31, 2020 </div>
<div>USD ($) </div>
<div>Institution</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>
<div>Institution</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($) </div>
<div>Institution</div>
</th>
<th class="th">
<div>Nov. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Nov. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Nov. 30, 2021 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Sep. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2021 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Aug. 31, 2021 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Jun. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 30, 2021 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Mar. 31, 2021 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Feb. 28, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 28, 2021 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>AUD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2020 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>THB (&#3647;)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>JPY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,092,329<span></span>
</td>
<td class="nump">$ 912,549<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Long-term borrowings, current portion</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">178,886<span></span>
</td>
<td class="nump">289,736<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_LongTermBorrowingsOnProjectAssetsCurrent', window );">Long-term borrowings on project assets - current</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">321,655<span></span>
</td>
<td class="nump">198,794<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtCurrent', window );">Subtotal for short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,592,870<span></span>
</td>
<td class="nump">1,401,079<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">523,634<span></span>
</td>
<td class="nump">446,090<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="nump">2,116,504<span></span>
</td>
<td class="nump">1,847,169<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecuredDebt', window );">Secured borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,348,352<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="nump">321,655<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SecuredShortTermDebt', window );">Short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">596,484<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLongTermDebtCurrent', window );">Long-term borrowings, current</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">98,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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecuredDebtCurrent', window );">Long-term borrowings on project assets - current</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">318,506<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecuredLongTermDebt', window );">Long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">334,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,116,504<span></span>
</td>
<td class="nump">1,847,169<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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="nump">$ 75,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Amount Of Matures</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr 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_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment', window );">Carrying value of property, plant and equipment that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">417,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PledgedAssetsNotSeparatelyReportedInventory', window );">Carrying value of inventories that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">163,910<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight', window );">Carrying value of prepaid land use rights that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,253<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_PledgedAssetsNotSeparatelyReportedRestrictedCash', window );">Carrying value of restricted cash that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,031<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_PledgedAssetsNotSeparatelyReportedAccountsReceivable', window );">Carrying value of accounts receivable that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,481<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_PledgedEquityNotSeparatelyReported', window );">Carrying value of equity that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">348,238<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_PledgedAssetsProjectAssetsAndSolarPowerSystems', window );">Carrying value of project assets and solar power systems that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">682,136<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">105,542<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarSunenergyJiaxingCo.LtdMember', window );">Canadian Solar Sunenergy (Jiaxing) Co. Ltd</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Amount drawn</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,387<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 90,918<span></span>
</td>
<td class="nump">&#165; 580,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 88,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 85,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 89,859<span></span>
</td>
<td class="nump">&#165; 10,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 9,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 9,600,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term of facility (in years)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NumberOfOtherParticipatingFinancialInstitutions', window );">Number of participating financial institutions | Institution</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember', window );">Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Amount drawn of bank credit facilities granted</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">154,027<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">154,027<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_FourJapaneseSubsidiariesMember', window );">Four Japanese Subsidiaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 73,167<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 8,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Available amount of credit facilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,249,625<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Amount drawn of bank credit facilities granted</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<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,595,684<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_AdditionalAmountDrawnOfUnderBorrowing', window );">Additional amount drawn of under borrowing</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">511,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,357,009<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,595,684<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember', window );">Credit facility | Canadian Solar Manufacturing (Thailand) Co., Ltd.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Amount drawn of bank credit facilities granted</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61,506<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term of facility (in years)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 188,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61,506<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 | CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NumberOfLineOfCreditFacility', window );">Number of credit facilities | item</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Amount drawn</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">135,008<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 177,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="nump">&#165; 1,150,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_CreditFacilityAxis=us-gaap_LineOfCreditMember', window );">Credit facility | Canadian Solar Manufacturing (Changshu) 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Amount drawn</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">62,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 92,766<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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; 600,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_us-gaap_CreditFacilityAxis=csiq_WorkingCapitalFacilityMember', window );">Working Capital Facility | Canadian Solar Manufacturing (Thailand) Co., Ltd.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Amount drawn of bank credit facilities granted</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">103,487<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 106,729<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#3647; 3,540,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">103,487<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Amount drawn</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">375,963<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">962,564<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_AdditionalAmountDrawnOfUnderBorrowing', window );">Additional amount drawn of under borrowing</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">250,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Nonrecourse [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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Amount drawn of bank credit facilities granted</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">514,756<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 514,756<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Nonrecourse [Member] | Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term of facility (in years)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NumberOfOtherParticipatingFinancialInstitutions', window );">Number of participating financial institutions | Institution</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 206,022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 289,419<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="23"></td></tr>
<tr><td colspan="23"><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;">Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</span></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AdditionalAmountDrawnOfUnderBorrowing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of additional amount drawn of under borrowing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AdditionalAmountDrawnOfUnderBorrowing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_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_LongTermBorrowingsOnProjectAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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-borrowings associated with certain solar power projects that are expected to be sold within one 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_LongTermBorrowingsOnProjectAssetsCurrent</td>
</tr>
<tr>
<td style="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_NumberOfLineOfCreditFacility">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number of Line Of Credit Facility</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfLineOfCreditFacility</td>
</tr>
<tr>
<td style="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_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_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 prepaid 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_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight</td>
</tr>
<tr>
<td style="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_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_PledgedAssetsProjectAssetsAndSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and 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_PledgedAssetsProjectAssetsAndSolarPowerSystems</td>
</tr>
<tr>
<td style="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_TotalAmountOfMatures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of total amount of matures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_TotalAmountOfMatures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of debt and lease obligation, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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, payable within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowings classified as other, maturing within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a)(7))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecuredDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, collateralized debt obligations due within one year or the operating cycle, if longer. Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecuredLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_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_CanadianSolarSunenergyJiaxingCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSunenergyJiaxingCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarProjectKKMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarProjectKKMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_FourJapaneseSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_FourJapaneseSubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CanadianSolarManufacturingChangshuInc.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_CanadianSolarManufacturingChangshuInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=csiq_WorkingCapitalFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=csiq_WorkingCapitalFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=csiq_NonBindingLineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=csiq_NonBindingLineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=csiq_ShortTermNotePayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=csiq_ShortTermNotePayableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_NonrecourseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_NonrecourseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160180334864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BORROWINGS - Short term (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 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_DebtDisclosureAbstract', window );"><strong>BORROWINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">$ 1,271,215<span></span>
</td>
<td class="nump">$ 1,202,285<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172005568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS - Long term (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 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_DebtInstrumentLineItems', window );"><strong>BORROWINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Long-term borrowings</a></td>
<td class="nump">$ 523,634<span></span>
</td>
<td class="nump">$ 446,090<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2022</a></td>
<td class="nump">500,541<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2023</a></td>
<td class="nump">336,504<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2024</a></td>
<td class="nump">160,043<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2025</a></td>
<td class="nump">6,822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2026</a></td>
<td class="nump">4,783<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">15,482<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_LongTermDebt', window );">Total</a></td>
<td class="nump">1,024,175<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansPayableCurrent', window );">Less: future principal repayment related to long-term borrowings, current portion</a></td>
<td class="num">(500,541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total long-term portion</a></td>
<td class="nump">$ 523,634<span></span>
</td>
<td class="nump">$ 446,090<span></span>
</td>
</tr>
<tr 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</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_DebtInstrumentLineItems', window );"><strong>BORROWINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtWeightedAverageInterestRateOverTime', window );">Average interest rate on long-term borrowings (as a percent)</a></td>
<td class="nump">5.70%<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_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 portion of long-term loans payable due within one year or the operating cycle if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtByMaturityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtByMaturityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtWeightedAverageInterestRateOverTime">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average interest rate of long-term debt outstanding calculated over time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtWeightedAverageInterestRateOverTime</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>110
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172009568">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">3.46%<span></span>
</td>
<td class="nump">4.37%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 17,316<span></span>
</td>
<td class="nump">$ 10,197<span></span>
</td>
<td class="nump">$ 10,794<span></span>
</td>
</tr>
<tr 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_InterestCostsCapitalizedPropertyPlantAndEquipment', window );">Interest capitalized - property, plant, and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">154<span></span>
</td>
<td class="nump">2,620<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="nump">58,153<span></span>
</td>
<td class="nump">71,874<span></span>
</td>
<td class="nump">81,326<span></span>
</td>
</tr>
<tr class="re">
<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">$ 75,469<span></span>
</td>
<td class="nump">$ 82,225<span></span>
</td>
<td class="nump">$ 94,740<span></span>
</td>
</tr>
<tr class="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_UnsecuredDebtMember', window );">Unsecured</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">3.03%<span></span>
</td>
<td class="nump">3.26%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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=csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember', window );">Secured by project assets and solar power systems</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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.04%<span></span>
</td>
<td class="nump">3.63%<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_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestCostsIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total interest costs incurred during the period and either capitalized or charged against earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestCostsIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestCostsIncurredAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestCostsIncurredAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>111
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174775568">
<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, 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_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">$ 881,184<span></span>
</td>
<td class="nump">$ 710,636<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>112
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171985232">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 37,732<span></span>
</td>
<td class="nump">$ 55,878<span></span>
</td>
<td class="nump">$ 50,605<span></span>
</td>
</tr>
<tr class="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">45,053<span></span>
</td>
<td class="nump">26,931<span></span>
</td>
<td class="nump">28,044<span></span>
</td>
</tr>
<tr class="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">(35,432)<span></span>
</td>
<td class="num">(46,067)<span></span>
</td>
<td class="num">(23,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_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss', window );">Foreign exchange effect</a></td>
<td class="num">(2,207)<span></span>
</td>
<td class="nump">990<span></span>
</td>
<td class="nump">511<span></span>
</td>
</tr>
<tr class="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">$ 45,146<span></span>
</td>
<td class="nump">$ 37,732<span></span>
</td>
<td class="nump">$ 55,878<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174638272">
<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, 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_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">$ 602,460<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of after tax profit required to be appropriated to the general reserve under PRC GAAP.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(3)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>114
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160178220416">
<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, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,461<span></span>
</td>
<td class="nump">$ 388<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebtExcludingAmortization', window );">Interest expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,750<span></span>
</td>
<td class="nump">1,677<span></span>
</td>
</tr>
<tr class="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">224,675<span></span>
</td>
<td class="nump">223,214<span></span>
</td>
</tr>
<tr class="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">$ 5,325<span></span>
</td>
<td class="nump">6,786<span></span>
</td>
</tr>
<tr class="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,677<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The period of option available to initial purchasers of convertible debt instruments for purchase of additional convertible debt instruments, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage price of original principal amount of debt plus accrued interest at which debt can be redeemed by the issuer following occurrence of certain tax related events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProceedsFromConvertibleDebtAdditionalIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromConvertibleDebtAdditionalIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProceedsFromConvertibleDebtInitialIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the initial issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromConvertibleDebtInitialIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAnnualPrincipalPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the total principal payments made during the annual reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAnnualPrincipalPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031898-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21521-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21506-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdTradingDays</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseDebtExcludingAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69E<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495743-112612<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69F<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495745-112612<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseDebtExcludingAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>115
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160163560512">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income 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</a></td>
<td class="nump">$ 145,720<span></span>
</td>
<td class="nump">$ 145,263<span></span>
</td>
<td class="nump">$ 208,621<span></span>
</td>
</tr>
<tr class="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">103,081<span></span>
</td>
<td class="nump">22,255<span></span>
</td>
<td class="nump">56,685<span></span>
</td>
</tr>
<tr class="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">(67,237)<span></span>
</td>
<td class="num">(24,238)<span></span>
</td>
<td class="num">(14,619)<span></span>
</td>
</tr>
<tr class="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">35,844<span></span>
</td>
<td class="num">(1,983)<span></span>
</td>
<td class="nump">42,066<span></span>
</td>
</tr>
<tr class="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 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</a></td>
<td class="nump">5,922<span></span>
</td>
<td class="num">(31,896)<span></span>
</td>
<td class="num">(61,880)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="num">(1,124)<span></span>
</td>
<td class="nump">36,226<span></span>
</td>
<td class="num">(3,420)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">685<span></span>
</td>
<td class="num">(10,792)<span></span>
</td>
<td class="num">(6,558)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="num">(439)<span></span>
</td>
<td class="nump">25,434<span></span>
</td>
<td class="num">(9,978)<span></span>
</td>
</tr>
<tr class="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 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</a></td>
<td class="nump">66,431<span></span>
</td>
<td class="num">(113,262)<span></span>
</td>
<td class="nump">8,319<span></span>
</td>
</tr>
<tr class="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">15,937<span></span>
</td>
<td class="num">(71,421)<span></span>
</td>
<td class="num">(4,803)<span></span>
</td>
</tr>
<tr class="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">(1,604)<span></span>
</td>
<td class="nump">23,173<span></span>
</td>
<td class="num">(2,412)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">14,333<span></span>
</td>
<td class="num">(48,248)<span></span>
</td>
<td class="num">(7,215)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 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</a></td>
<td class="num">(32,716)<span></span>
</td>
<td class="nump">189,398<span></span>
</td>
<td class="nump">204,632<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="nump">47,356<span></span>
</td>
<td class="nump">30,276<span></span>
</td>
<td class="nump">44,622<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">(65,017)<span></span>
</td>
<td class="num">(17,998)<span></span>
</td>
<td class="num">(5,333)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="num">(17,661)<span></span>
</td>
<td class="nump">12,278<span></span>
</td>
<td class="nump">39,289<span></span>
</td>
</tr>
<tr class="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 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</a></td>
<td class="nump">54,770<span></span>
</td>
<td class="nump">50,642<span></span>
</td>
<td class="nump">29,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_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">24,047<span></span>
</td>
<td class="nump">18,941<span></span>
</td>
<td class="nump">13,229<span></span>
</td>
</tr>
<tr class="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">(353)<span></span>
</td>
<td class="num">(10,571)<span></span>
</td>
<td class="num">(2,953)<span></span>
</td>
</tr>
<tr class="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">23,694<span></span>
</td>
<td class="nump">8,370<span></span>
</td>
<td class="nump">10,276<span></span>
</td>
</tr>
<tr class="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="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 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</a></td>
<td class="nump">51,313<span></span>
</td>
<td class="nump">50,381<span></span>
</td>
<td class="nump">28,215<span></span>
</td>
</tr>
<tr class="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">16,865<span></span>
</td>
<td class="nump">8,233<span></span>
</td>
<td class="nump">7,057<span></span>
</td>
</tr>
<tr class="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">(948)<span></span>
</td>
<td class="num">(8,050)<span></span>
</td>
<td class="nump">2,637<span></span>
</td>
</tr>
<tr class="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">$ 15,917<span></span>
</td>
<td class="nump">$ 183<span></span>
</td>
<td class="nump">$ 9,694<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=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>116
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160166649312">
<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="2">6 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1">48 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th">
<div>Dec. 31, 2019 </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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 5,101<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,585<span></span>
</td>
<td class="nump">$ 5,101<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward', window );"><strong>Changes to the company's liabilities for uncertain tax positions</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">$ 10,557<span></span>
</td>
<td class="nump">$ 9,628<span></span>
</td>
<td class="nump">$ 10,557<span></span>
</td>
<td class="nump">$ 15,730<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Addition for tax positions related to the current year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,763)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,720)<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_UnrecognizedTaxStatueOfLimitationsExpirations', window );">Statue of limitations expirations</a></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,011)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation', window );">Foreign exchange effect</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82<span></span>
</td>
<td class="nump">536<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 9,628<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,863<span></span>
</td>
<td class="nump">$ 9,628<span></span>
</td>
<td class="nump">$ 10,557<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,557<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Canada</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">26.50%<span></span>
</td>
<td class="nump">26.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</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="nump">26.50%<span></span>
</td>
<td class="nump">26.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</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=us-gaap_DomesticCountryMember', window );">Canada | Canadian Solar Solutions Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">United States | Canadian Solar (USA) Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="nump">26.40%<span></span>
</td>
<td class="nump">22.20%<span></span>
</td>
<td class="nump">22.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_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">United States | Canadian Solar Energy Acquisition Co.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22.20%<span></span>
</td>
<td class="nump">26.10%<span></span>
</td>
<td class="nump">27.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_us-gaap_IncomeTaxAuthorityAxis=country_JP', window );">Japan | Canadian Solar Japan K.K.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="nump">31.80%<span></span>
</td>
<td class="nump">31.80%<span></span>
</td>
<td class="nump">31.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_DE', window );">Germany | Canadian Solar EMEA GmbH</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_VN', window );">Vietnam | Canadian Solar Manufacturing Vietnam 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions', window );">Reduced income tax rate from 2020 to 2028 (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_TH', window );">Thailand | Canadian Solar Manufacturing (Thailand) Co., Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_HK', window );">Hong Kong | HKSI</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="nump">16.50%<span></span>
</td>
<td class="nump">16.50%<span></span>
</td>
<td class="nump">16.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The "statutory" tax rate is the regular tax rate if there are alternative tax systems.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncomeTaxesForeignCorporateTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the corporate income tax rate in foreign jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxesForeignCorporateTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of board of investment certificates for tax exemption.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reduced Foreign statutory income tax rate on account of tax exemptions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions</td>
</tr>
<tr>
<td 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_UnrecognizedTaxStatueOfLimitationsExpirations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents adjustments related to status of limitations expirations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_UnrecognizedTaxStatueOfLimitationsExpirations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxContingencyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=SL37586934-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from foreign currency translation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from foreign currency translation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSolutionsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSolutionsIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarUSAIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarUSAIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyAcquisitionCo.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_CanadianSolarEnergyAcquisitionCo.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_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;">us-gaap_IncomeTaxAuthorityAxis=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_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingVietnamCo.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_CanadianSolarManufacturingVietnamCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>117
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171928320">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="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">$ 14,942<span></span>
</td>
<td class="nump">$ 8,699<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Bad debt allowance</a></td>
<td class="nump">12,175<span></span>
</td>
<td class="nump">3,218<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventory write-down</a></td>
<td class="nump">1,404<span></span>
</td>
<td class="nump">3,121<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">24,910<span></span>
</td>
<td class="nump">24,454<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">24,561<span></span>
</td>
<td class="nump">30,138<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">406<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">39,470<span></span>
</td>
<td class="nump">16,461<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">110,012<span></span>
</td>
<td class="nump">85,850<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">491<span></span>
</td>
<td class="nump">1,221<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">10,800<span></span>
</td>
<td class="nump">1,956<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">47,690<span></span>
</td>
<td class="nump">30,958<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">286,494<span></span>
</td>
<td class="nump">206,482<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(45,682)<span></span>
</td>
<td class="num">(50,118)<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">240,812<span></span>
</td>
<td class="nump">156,364<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNetAbstract', window );"><strong>Deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesDerivatives', window );">Derivative assets</a></td>
<td class="nump">2,153<span></span>
</td>
<td class="nump">996<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">27,776<span></span>
</td>
<td class="nump">17,027<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">32<span></span>
</td>
<td class="nump">785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains', window );">Unrealized foreign exchange gain</a></td>
<td class="nump">3,452<span></span>
</td>
<td class="nump">10,746<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">19,046<span></span>
</td>
<td class="nump">5,234<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">52,459<span></span>
</td>
<td class="nump">34,788<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">236,503<span></span>
</td>
<td class="nump">170,656<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(48,150)<span></span>
</td>
<td class="num">(49,080)<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">188,353<span></span>
</td>
<td class="nump">121,576<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">700,667<span></span>
</td>
<td class="text">&#160;<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">398,744<span></span>
</td>
<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">$ (45,682)<span></span>
</td>
<td class="num">$ (50,118)<span></span>
</td>
<td class="num">$ (70,627)<span></span>
</td>
<td class="num">$ (76,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_DeferredTaxAssetsFutureDeductibleExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowances, of deferred tax asset attributable to future deductible expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxAssetsFutureDeductibleExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DeferredTaxAssetsInterestLimitation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as interest limitation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxAssetsInterestLimitation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the sale of project assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DeferredTaxLiabilitiesInsuranceRecoverable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from insurance recoverable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxLiabilitiesInsuranceRecoverable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_OperatingLossCarryforwardsSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of operating loss carryforwards available to reduce future taxable income, which are subject to expiration dates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OperatingLossCarryforwardsSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGrossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGrossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from unrealized losses on foreign currency transactions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from derivatives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains on foreign currency transactions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>118
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171585136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Reconciliation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">3.00%<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Effect of different tax rate on earnings in other jurisdictions (as a percent)</a></td>
<td class="nump">9.00%<span></span>
</td>
<td class="num">(6.00%)<span></span>
</td>
<td class="nump">3.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">(3.00%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(4.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="nump">4.00%<span></span>
</td>
<td class="num">(13.00%)<span></span>
</td>
<td class="num">(3.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies', window );">Unrecognized tax provision (as a percent)</a></td>
<td class="num">(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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance (as a percent)</a></td>
<td class="num">(3.00%)<span></span>
</td>
<td class="num">(14.00%)<span></span>
</td>
<td class="num">(3.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Effect of change in tax rate</a></td>
<td class="num">(7.00%)<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="num">(1.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_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Others (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.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">25.00%<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
<td class="nump">20.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">$ 604,781,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities', window );">Provision for withholding income tax on dividend</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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="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">$ 4,466,000<span></span>
</td>
<td class="nump">$ 1,287,000<span></span>
</td>
<td class="nump">$ 7,956,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_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic', window );">Per share effect - basic (in dollars per share)</a></td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.02<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted', window );">Per share effect - diluted (in dollars per share)</a></td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.02<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
</tr>
<tr 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">$ 30,239,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 60,478,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The "statutory" tax rate is the regular tax rate if there are alternative tax systems.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to true-up adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent difference.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncomeTaxAdditionalDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxAdditionalDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncomeTaxHolidayAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxHolidayAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the basic per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the diluted per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PreferentialWithholdingTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the preferential withholding tax rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PreferentialWithholdingTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of provision for withholding tax on dividends distributed by foreign investment entities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the withholding tax rate on dividends distributed by foreign investment entities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability not recognized because of the exceptions to comprehensive recognition of deferred taxes related to undistributed earnings of foreign subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income exempt from income tax because of a tax holiday.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxHolidayAggregateDollarAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of income taxes from which a reporting entity is exempt or for which it will receive a reduction in income taxes as a result of the income tax holiday granted by the taxing jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxHolidayAggregateDollarAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6487024&amp;loc=d3e29054-158556<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6479915&amp;loc=d3e66715-112838<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126928070&amp;loc=d3e28200-109314<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160177136112">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 50,118<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">45,682<span></span>
</td>
<td class="nump">$ 50,118<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">50,118<span></span>
</td>
<td class="nump">70,627<span></span>
</td>
<td class="nump">$ 76,522<span></span>
</td>
</tr>
<tr 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 );">Additions (Reversals)</a></td>
<td class="num">(4,671)<span></span>
</td>
<td class="num">(21,585)<span></span>
</td>
<td class="num">(6,156)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesForeignExchangeEffect', window );">Foreign exchange effect</a></td>
<td class="nump">235<span></span>
</td>
<td class="nump">1,076<span></span>
</td>
<td class="nump">261<span></span>
</td>
</tr>
<tr class="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">$ 45,682<span></span>
</td>
<td class="nump">$ 50,118<span></span>
</td>
<td class="nump">$ 70,627<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ValuationAllowancesAndReservesForeignExchangeEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the foreign exchange effects in a given period to allowances or reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesForeignExchangeEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>120
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172142848">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 95,248<span></span>
</td>
<td class="nump">$ 146,703<span></span>
</td>
<td class="nump">$ 171,585<span></span>
</td>
</tr>
<tr class="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 interest expense of convertible notes</a></td>
<td class="nump">5,300<span></span>
</td>
<td class="nump">1,518<span></span>
</td>
<td class="nump">975<span></span>
</td>
</tr>
<tr class="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">$ 100,548<span></span>
</td>
<td class="nump">$ 148,221<span></span>
</td>
<td class="nump">$ 172,560<span></span>
</td>
</tr>
<tr class="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">61,614,391<span></span>
</td>
<td class="nump">59,575,898<span></span>
</td>
<td class="nump">59,633,855<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Diluted effects of share number from share options and RSUs</a></td>
<td class="nump">985,554<span></span>
</td>
<td class="nump">897,258<span></span>
</td>
<td class="nump">794,526<span></span>
</td>
</tr>
<tr class="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">1,833,663<span></span>
</td>
<td class="nump">349,315<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">68,872,102<span></span>
</td>
<td class="nump">62,306,819<span></span>
</td>
<td class="nump">60,777,696<span></span>
</td>
</tr>
<tr class="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">$ 1.55<span></span>
</td>
<td class="nump">$ 2.46<span></span>
</td>
<td class="nump">$ 2.88<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share</a></td>
<td class="nump">$ 1.46<span></span>
</td>
<td class="nump">$ 2.38<span></span>
</td>
<td class="nump">$ 2.83<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=csiq_StockOptionsAndRestrictedStockUnitsMember', window );">Share options and RSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive shares excluded from the computation of diluted earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive shares excluded from the computation of diluted earnings per share, total</a></td>
<td class="nump">3,877<span></span>
</td>
<td class="nump">187,083<span></span>
</td>
<td class="nump">41,950<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) to net income used for calculating diluted earnings per share (EPS), resulting from the assumed exercise of dilutive convertible securities excluding adjustments related to ESOP convertible preferred stock, stock options, and restrictive stock units.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible debt securities using the if-converted method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2029-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126962052&amp;loc=d3e4991-113900<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1707-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1500-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1757-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToParentDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToParentDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=csiq_StockOptionsAndRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=csiq_StockOptionsAndRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>121
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160155375344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RELATED PARTY BALANCES AND TRANSACTIONS (Details)<br> &#165; in Thousands, R$ in Thousands, R in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="2">11 Months Ended</th>
<th class="th" colspan="12">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2020 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Nov. 30, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Nov. 30, 2020 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>CNY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>JPY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>CNY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>JPY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>BRL (R$) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>CNY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>JPY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>ZAR (R) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amount due from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 73,042,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,834,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableRelatedParties', window );">Trade receivable from affiliate</a></td>
<td class="text">&#160;<span></span>
</td>
<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,517,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrent', window );">Amounts due to subsidiaries, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 143,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 314,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_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember', window );">Horus and Recursos</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReCrimsonHoldingsLlcMember', window );">RE Crimson Holdings LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<td class="nump">706,637<span></span>
</td>
<td class="nump">706,637<span></span>
</td>
<td class="nump">706,637<span></span>
</td>
<td class="nump">706,637<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember', window );">Horus and Recursos</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amount due from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 73,042,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_AffiliatedEntityMember', window );">Various affiliates | Horus and Recursos</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIRenewableEnergyS.aMember', window );">Salgueiro I Renewable Energy S.A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amount due from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,580,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 105,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,636,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIRenewableEnergyS.aMember', window );">Salgueiro I Renewable Energy S.A | Salgueiro I Renewable Energy S.A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIiRenewableEnergyS.a.Member', window );">Salgueiro II Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amount due from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 266,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 105,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,996,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIiRenewableEnergyS.a.Member', window );">Salgueiro II Renewable Energy S.A. | Salgueiro II Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_Jaba4EnergiasRenovveisS.a.Member', window );">Jaba 4 Energias Renovveis S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,210,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,696,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIiiRenewableEnergyS.a.Member', window );">Salgueiro III Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 114,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,403,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_Jaiba3RenewableEnergyS.a.Member', window );">Jaiba 3 Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 834,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,971,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_Jaiba9RenewableEnergyS.a.Member', window );">Jaiba 9 Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,046,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,372,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_EtSolutionsSouthAfricaOnePtyMember', window );">ET Solutions South Africa 1 Pty</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40,970,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">R 586,832<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_AssetsHeldForSaleNumberOfSolarPowerPlantsSold', window );">Number of solar power plants sold | item</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Asset management service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ServiceRevenueFromRelatedParty', window );">Revenue from providing development services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,541,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 829,053<span></span>
</td>
<td class="nump">$ 3,723,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 394,506<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 281,094<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | O &amp; M Service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ServiceRevenueFromRelatedParty', window );">Revenue from providing development services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,195,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">981,161<span></span>
</td>
<td class="nump">7,564,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">805,021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,052,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">223,598<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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="nump">$ 8,392,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 888,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">53,874,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 5,889,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ServiceRevenueFromRelatedParty', window );">Revenue from providing development services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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,573<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouIsilverMaterialsMember', window );">Suzhou iSilver Materials Co</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 24,301,000<span></span>
</td>
<td class="nump">&#165; 168,032,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50,359,000<span></span>
</td>
<td class="nump">&#165; 350,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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouKzoneEquipmentTechnologyMember', window );">Suzhou Kzone Equipment Technology Co., Ltd</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchase from related party</a></td>
<td class="nump">$ 1,048,000<span></span>
</td>
<td class="nump">&#165; 7,381,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,787,000<span></span>
</td>
<td class="nump">&#165; 61,174,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=srt_ChiefExecutiveOfficerMember', window );">Dr. Shawn Qu | RSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,073<span></span>
</td>
<td class="nump">26,073<span></span>
</td>
<td class="nump">26,073<span></span>
</td>
<td class="nump">26,073<span></span>
</td>
<td class="nump">26,691<span></span>
</td>
<td class="nump">26,691<span></span>
</td>
<td class="nump">26,691<span></span>
</td>
<td class="nump">26,691<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_ChiefExecutiveOfficerMember', window );">Dr. Shawn Qu | Chinese Commercial Banks</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">1,882,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,648,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 203,549,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="nump">&#165; 12,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 135,000,000<span></span>
</td>
<td class="nump">&#165; 1,420,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_LineOfCredit', window );">Amounts drawn down</a></td>
<td class="text">&#160;<span></span>
</td>
<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<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 82,937,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember', window );">Luoyang Jiwa New Material Technology Co., Ltd [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchase from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,545,000<span></span>
</td>
<td class="nump">&#165; 31,388,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,584,000<span></span>
</td>
<td class="nump">&#165; 18,124,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=csiq_LavrasSolarHoldingS.aMember', window );">Lavras Solar Holding S.A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpensesRelatedParty', window );">Purchase cost incurred from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 974,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">R$ 5,061<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasSolarHoldingS.aMember', window );">Lavras Solar Holding S.A | Lavras Solar Holding S.A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_HorusSolarS.a.DeCapitalVariableMember', window );">Horus Solar S.A. De Capital Variable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansAndLeasesReceivableRelatedParties', window );">Shareholder loans due from related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,672,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember', window );">Recourses Solares PV De Mexico II S.A. De Capital Variable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansAndLeasesReceivableRelatedParties', window );">Shareholder loans due from related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,712,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIRenewableEnergyS.a.Member', window );">Francisco SA I Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amount due from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,676,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,170,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIRenewableEnergyS.a.Member', window );">Francisco SA I Renewable Energy S.A. | Francisco SA I Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIiRenewableEnergyS.a.Member', window );">Francisco SA II Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amount due from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 530,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,592,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIiRenewableEnergyS.a.Member', window );">Francisco SA II Renewable Energy S.A. | Francisco SA II Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIiiRenewableEnergyS.a.Member', window );">Francisco SA III Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,121,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasISolarRenewableEnergyS.a.Member', window );">Lavras I Solar Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,707,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasIiSolarRenewableEnergyS.a.Member', window );">Lavras II Solar Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,842,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasIiiSolarRenewableEnergyS.a.Member', window );">Lavras III Solar Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,049,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasIvSolarRenewableEnergyS.a.Member', window );">Lavras IV Solar Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,233,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasVSolarRenewableEnergyS.a.Member', window );">Lavras V Solar Renewable Energy S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,233,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SonoranWestSolarHoldingsLlcMember', window );">Sonoran West Solar Holdings, LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,822,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SonoranWestSolarHoldings2LlcMember', window );">Sonoran West Solar Holdings 2, LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SonoranWestSolarHoldings2LlcMember', window );">Sonoran West Solar Holdings 2, LLC | RE Crimson Holdings LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,955,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember', window );">Yancheng Jiwa New Material Technology Co., Ltd</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchase from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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,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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of interests in solar power plants sold during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PurchaseOfUnitsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of units purchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PurchaseOfUnitsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ServiceRevenueFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue from providing services earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ServiceRevenueFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, amount of receivables arising from transactions with related parties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39603-107864<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpensesRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Costs of sales and operating expenses for the period incurred from transactions with related parties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansAndLeasesReceivableRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an unclassified balance sheet, reflects the carrying amount of unpaid loan amounts due from related parties at the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.7(e))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansAndLeasesReceivableRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07.1(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120401555&amp;loc=SL114874292-224272<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1(e))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of subsidiary's or equity investee's stock owned by parent company after stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReCrimsonHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReCrimsonHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_AffiliatedEntityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_AffiliatedEntityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIRenewableEnergyS.aMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIRenewableEnergyS.aMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SalgueiroIRenewableEnergyS.aMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SalgueiroIRenewableEnergyS.aMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SalgueiroIiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SalgueiroIiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_Jaba4EnergiasRenovveisS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_Jaba4EnergiasRenovveisS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIiiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SalgueiroIiiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_Jaiba3RenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_Jaiba3RenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_Jaiba9RenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_Jaiba9RenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_EtSolutionsSouthAfricaOnePtyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_EtSolutionsSouthAfricaOnePtyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=csiq_AssetManagementServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=csiq_AssetManagementServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=csiq_OMServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=csiq_OMServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouIsilverMaterialsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouIsilverMaterialsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouKzoneEquipmentTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouKzoneEquipmentTechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_ChiefExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_ChiefExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAxis=csiq_ChineseCommercialBanksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAxis=csiq_ChineseCommercialBanksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasSolarHoldingS.aMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasSolarHoldingS.aMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_LavrasSolarHoldingS.aMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_LavrasSolarHoldingS.aMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_HorusSolarS.a.DeCapitalVariableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_HorusSolarS.a.DeCapitalVariableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_FranciscoSaIRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_FranciscoSaIiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_FranciscoSaIiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIiiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_FranciscoSaIiiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasISolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasISolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasIiSolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasIiSolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasIiiSolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasIiiSolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasIvSolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasIvSolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasVSolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LavrasVSolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SonoranWestSolarHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SonoranWestSolarHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SonoranWestSolarHoldings2LlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SonoranWestSolarHoldings2LlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>122
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172845968">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES - Commitments (Details) - Property, plant and equipment<br> $ in Thousands</strong></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_PurchaseCommitmentExcludingLongtermCommitmentLineItems', window );"><strong>Purchase Commitment, Excluding Long-term Commitment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted', window );">Commitments</a></td>
<td class="nump">$ 167,871<span></span>
</td>
</tr>
<tr class="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 );">2022</a></td>
<td class="nump">67,448<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInSecondYear', window );">2023</a></td>
<td class="nump">49,475<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInThirdYear', window );">2024</a></td>
<td class="nump">50,948<span></span>
</td>
</tr>
<tr class="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">$ 167,871<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in next fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInSecondYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in second fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInSecondYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInThirdYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in third fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInThirdYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>123
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160162662720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES - Contingencies (Details)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="31">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>Jan. 21, 2015</div></th>
<th class="th"><div>Nov. 30, 2012</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>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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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="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>
</tr>
<tr class="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="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>
</tr>
<tr 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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="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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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">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="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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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">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="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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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="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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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="nump">4.06%<span></span>
</td>
<td class="nump">3.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13.07%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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="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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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="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>
</tr>
<tr class="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="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>
</tr>
<tr 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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_PeriodOfSunsetReviews', window );">Period of sunset reviews</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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="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="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="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="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="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="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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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="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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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="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>
</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_PeriodOfSunsetReviews">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 covered by the sunset reviews conducted by USDOC and USITC, 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_PeriodOfSunsetReviews</td>
</tr>
<tr>
<td style="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_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_FirstAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=csiq_FirstAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_SecondAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=csiq_SecondAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_ThirdAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=csiq_ThirdAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_FourthAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=csiq_FourthAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_FifthAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=csiq_FifthAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_SixthAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=csiq_SixthAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_SeventhAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=csiq_SeventhAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>124
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174736064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION (Narrative) (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </div>
<div>segment</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>SEGMENT INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of Reportable Segments</a></td>
<td class="nump">2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>125
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176776240">
<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, 2021 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </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">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
<td class="nump">$ 3,200,583<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">4,367,857<span></span>
</td>
<td class="nump">2,786,581<span></span>
</td>
<td class="nump">2,482,086<span></span>
</td>
</tr>
<tr class="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">909,312<span></span>
</td>
<td class="nump">689,914<span></span>
</td>
<td class="nump">718,497<span></span>
</td>
</tr>
<tr class="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">190,381<span></span>
</td>
<td class="nump">220,430<span></span>
</td>
<td class="nump">258,879<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">4,371,603<span></span>
</td>
<td class="nump">3,105,044<span></span>
</td>
<td class="nump">2,591,154<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">3,689,126<span></span>
</td>
<td class="nump">2,496,153<span></span>
</td>
<td class="nump">1,977,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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">682,477<span></span>
</td>
<td class="nump">608,891<span></span>
</td>
<td class="nump">613,652<span></span>
</td>
</tr>
<tr class="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">74,132<span></span>
</td>
<td class="nump">253,105<span></span>
</td>
<td class="nump">267,642<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segment | Global Energy Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationProfitLossAbstract', window );"><strong>Revenues and gross profit generated from each segment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">1,124,083<span></span>
</td>
<td class="nump">726,167<span></span>
</td>
<td class="nump">718,735<span></span>
</td>
</tr>
<tr class="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">930,099<span></span>
</td>
<td class="nump">577,052<span></span>
</td>
<td class="nump">604,856<span></span>
</td>
</tr>
<tr class="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">193,984<span></span>
</td>
<td class="nump">149,115<span></span>
</td>
<td class="nump">113,879<span></span>
</td>
</tr>
<tr class="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">97,179<span></span>
</td>
<td class="nump">53,414<span></span>
</td>
<td class="nump">18,795<span></span>
</td>
</tr>
<tr 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">(218,517)<span></span>
</td>
<td class="num">(354,716)<span></span>
</td>
<td class="num">(109,306)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="num">(251,368)<span></span>
</td>
<td class="num">(286,624)<span></span>
</td>
<td class="num">(100,272)<span></span>
</td>
</tr>
<tr class="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">32,851<span></span>
</td>
<td class="num">(68,092)<span></span>
</td>
<td class="num">(9,034)<span></span>
</td>
</tr>
<tr class="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">$ 19,070<span></span>
</td>
<td class="num">$ (86,089)<span></span>
</td>
<td class="num">$ (27,558)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationProfitLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationProfitLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=csiq_EliminationsAndReconcilingItemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=csiq_EliminationsAndReconcilingItemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>126
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160155226320">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
<td class="nump">$ 3,200,583<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">2,033,397<span></span>
</td>
<td class="nump">1,790,538<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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,279,594<span></span>
</td>
<td class="nump">1,221,105<span></span>
</td>
<td class="nump">1,402,041<span></span>
</td>
</tr>
<tr 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,590,573<span></span>
</td>
<td class="nump">696,101<span></span>
</td>
<td class="nump">852,231<span></span>
</td>
</tr>
<tr class="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">65,700<span></span>
</td>
<td class="nump">64,009<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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">442,603<span></span>
</td>
<td class="nump">284,478<span></span>
</td>
<td class="nump">395,303<span></span>
</td>
</tr>
<tr class="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">63,716<span></span>
</td>
<td class="nump">16,109<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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">30,792<span></span>
</td>
<td class="nump">100,284<span></span>
</td>
<td class="nump">30,330<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">7,050<span></span>
</td>
<td class="nump">8,898<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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">139,611<span></span>
</td>
<td class="nump">118,846<span></span>
</td>
<td class="nump">94,446<span></span>
</td>
</tr>
<tr class="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">68,331<span></span>
</td>
<td class="nump">12,388<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_OtherCountriesAmericaMember', window );">Others</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">76,015<span></span>
</td>
<td class="nump">21,396<span></span>
</td>
<td class="nump">29,731<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaMember', window );">Asia and other regions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">2,139,070<span></span>
</td>
<td class="nump">1,620,840<span></span>
</td>
<td class="nump">1,018,083<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_JP', window );">Japan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">509,233<span></span>
</td>
<td class="nump">560,701<span></span>
</td>
<td class="nump">372,687<span></span>
</td>
</tr>
<tr class="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">191,680<span></span>
</td>
<td class="nump">204,515<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CN', window );">PRC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">1,207,003<span></span>
</td>
<td class="nump">504,656<span></span>
</td>
<td class="nump">317,077<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">1,230,613<span></span>
</td>
<td class="nump">1,002,409<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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_KR', window );">Korea</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,413<span></span>
</td>
<td class="nump">25,896<span></span>
</td>
<td class="nump">72,552<span></span>
</td>
</tr>
<tr 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">142,300<span></span>
</td>
<td class="nump">61,141<span></span>
</td>
<td class="nump">70,893<span></span>
</td>
</tr>
<tr 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">6,168<span></span>
</td>
<td class="nump">53,981<span></span>
</td>
<td class="nump">43,311<span></span>
</td>
</tr>
<tr 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">19,956<span></span>
</td>
<td class="nump">289,621<span></span>
</td>
<td class="nump">39,268<span></span>
</td>
</tr>
<tr 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="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">59,451<span></span>
</td>
<td class="nump">6,108<span></span>
</td>
<td class="nump">12,753<span></span>
</td>
</tr>
<tr class="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">266,870<span></span>
</td>
<td class="nump">295,240<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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_CY', window );">Cyprus</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">51,038<span></span>
</td>
<td class="nump">13,265<span></span>
</td>
<td class="nump">2,175<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_PK', window );">Pakistan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">48,838<span></span>
</td>
<td class="nump">15,417<span></span>
</td>
<td class="nump">10,581<span></span>
</td>
</tr>
<tr 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">91,670<span></span>
</td>
<td class="nump">90,054<span></span>
</td>
<td class="nump">76,786<span></span>
</td>
</tr>
<tr 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">858,505<span></span>
</td>
<td class="nump">634,550<span></span>
</td>
<td class="nump">780,459<span></span>
</td>
</tr>
<tr 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">165,772<span></span>
</td>
<td class="nump">120,403<span></span>
</td>
<td class="nump">313,167<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">15,024<span></span>
</td>
<td class="nump">76,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr 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="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">231,995<span></span>
</td>
<td class="nump">119,035<span></span>
</td>
<td class="nump">109,119<span></span>
</td>
</tr>
<tr 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">90,761<span></span>
</td>
<td class="nump">49,375<span></span>
</td>
<td class="nump">93,911<span></span>
</td>
</tr>
<tr 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="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">100,658<span></span>
</td>
<td class="nump">138,972<span></span>
</td>
<td class="nump">78,228<span></span>
</td>
</tr>
<tr 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="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">104,715<span></span>
</td>
<td class="nump">96,372<span></span>
</td>
<td class="nump">68,770<span></span>
</td>
</tr>
<tr 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 );">Britain</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">7,749<span></span>
</td>
<td class="nump">8,842<span></span>
</td>
<td class="nump">33,158<span></span>
</td>
</tr>
<tr 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">34,604<span></span>
</td>
<td class="nump">16,144<span></span>
</td>
<td class="nump">17,717<span></span>
</td>
</tr>
<tr 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">25,980<span></span>
</td>
<td class="nump">29,974<span></span>
</td>
<td class="nump">13,516<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_AR', window );">Argentina</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">68,508<span></span>
</td>
<td class="nump">64,208<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_OtherCountriesEuropeMember', window );">Others</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">96,271<span></span>
</td>
<td class="nump">55,433<span></span>
</td>
<td class="nump">$ 52,873<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_SeriesOfIndividuallyImmaterialCountriesMember', window );">Others</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">$ 55,905<span></span>
</td>
<td class="nump">$ 46,432<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=csiq_AmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=csiq_AmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_BR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_BR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_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_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_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_KR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.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_KR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_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_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=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_CY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.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_CY</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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=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_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_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_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_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_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_FR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_FR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_AR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_AR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=csiq_OtherCountriesEuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=csiq_OtherCountriesEuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=csiq_SeriesOfIndividuallyImmaterialCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=csiq_SeriesOfIndividuallyImmaterialCountriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>127
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160176740832">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
<td class="nump">$ 3,200,583<span></span>
</td>
</tr>
<tr class="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">3,328,301<span></span>
</td>
<td class="nump">2,348,724<span></span>
</td>
<td class="nump">2,012,059<span></span>
</td>
</tr>
<tr class="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">302,133<span></span>
</td>
<td class="nump">157,656<span></span>
</td>
<td class="nump">116,449<span></span>
</td>
</tr>
<tr class="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="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">222,655<span></span>
</td>
<td class="nump">7,899<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | China Energy or Engineering, Procurement and Construction (includes Electricity Sales)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">178,830<span></span>
</td>
<td class="nump">175,388<span></span>
</td>
<td class="nump">58,096<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | Others</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">121,167<span></span>
</td>
<td class="nump">60,661<span></span>
</td>
<td class="nump">295,244<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment | Solar and battery storage power projects</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">1,064,178<span></span>
</td>
<td class="nump">654,827<span></span>
</td>
<td class="nump">652,050<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment | O&amp;M and asset management services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">35,334<span></span>
</td>
<td class="nump">26,386<span></span>
</td>
<td class="nump">19,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_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment | Others (includes electricity sales)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 24,571<span></span>
</td>
<td class="nump">$ 44,954<span></span>
</td>
<td class="nump">$ 46,935<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=csiq_SolarModulesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=csiq_SolarModulesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=csiq_SolarSystemKitsProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=csiq_SolarSystemKitsProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=csiq_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_srt_ProductOrServiceAxis=csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=csiq_OtherCsiSolarProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=csiq_OtherCsiSolarProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=csiq_SolarPowerProjectsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=csiq_SolarPowerProjectsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=csiq_OmAndAssetManagementServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=csiq_OmAndAssetManagementServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>128
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172764448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>MAJOR CUSTOMERS (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>item</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Major Customers</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_NumberOfCustomers', window );">Number of customers with the largest receivable balances | item</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts receivable | Accounts receivable balances | Customer one</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Major Customers</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_ConcentrationRiskPercentage1', window );">Concentration risk (as a percent)</a></td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">7.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_AccountsReceivableNet', window );">Accounts receivable | $</a></td>
<td class="nump">$ 42,812<span></span>
</td>
<td class="nump">$ 27,014<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts receivable | Accounts receivable balances | Customer two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Major Customers</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_ConcentrationRiskPercentage1', window );">Concentration risk (as a percent)</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">3.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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts receivable | Accounts receivable balances | Customer three</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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Major Customers</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_ConcentrationRiskPercentage1', window );">Concentration risk (as a percent)</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">3.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_NumberOfCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 major 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_NumberOfCustomers</td>
</tr>
<tr>
<td style="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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 310<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126942793&amp;loc=d3e3073-115593<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideRevenueMajorCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideRevenueMajorCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CreditConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_CreditConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=csiq_CustomerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=csiq_CustomerOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=csiq_CustomerTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=csiq_CustomerTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=csiq_CustomerThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=csiq_CustomerThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160175318464">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Employer's contribution (as a percent)</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanCostRecognized', window );">Defined contributions schemes expense</a></td>
<td class="nump">$ 14,362<span></span>
</td>
<td class="nump">$ 8,064<span></span>
</td>
<td class="nump">$ 11,738<span></span>
</td>
</tr>
<tr 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">$ 13,584<span></span>
</td>
<td class="nump">$ 11,486<span></span>
</td>
<td class="nump">$ 11,409<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits', window );">Percentage of applicable salaries contributed by the employer for medical insurance benefits</a></td>
<td class="nump">6.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits', window );">Percentage of applicable salaries contributed by the employer for unemployment benefits</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits', window );">Percentage of applicable salaries contributed by the employer for other statutory benefits</a></td>
<td class="nump">0.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits', window );">Percentage of applicable salaries contributed by the employer for medical insurance benefits</a></td>
<td class="nump">8.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits', window );">Percentage of applicable salaries contributed by the employer for unemployment benefits</a></td>
<td class="nump">0.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits', window );">Percentage of applicable salaries contributed by the employer for other statutory benefits</a></td>
<td class="nump">2.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DefinedContributionPlanEmployerContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of contributions made by an employer to the medical insurance benefits, housing funds, unemployment and other statutory benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the housing funds of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the medical insurance benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the other statutory benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the unemployment benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>130
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160175293696">
<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>
<th class="th" colspan="1">36 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2010</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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>
<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>
<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>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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" 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Total intrinsic value of options exercised (in dollars)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 893<span></span>
</td>
<td class="nump">$ 1,422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,291<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price of options outstanding (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9.33<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9.33<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining contract terms of options outstanding (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Intrinsic value of outstanding options (in dollars)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 577<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the annual percentage increase in authorized shares on the first business day of each calendar year from the year of amendment for awards other than incentive option shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the annual percentage increase in authorized shares on the first business day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of awards that may be granted under the share incentive plan after the expiration date of May 8, 2021.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the expiry term of share options from the date of grant, granted under the share incentive plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost expensed and capitalized for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>131
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171688624">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">2,161,098<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<td class="nump">706,637<span></span>
</td>
</tr>
<tr class="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">$ 26.10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">3,335,303<span></span>
</td>
<td class="nump">1,888,753<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">$ 55,822<span></span>
</td>
<td class="nump">$ 24,918<span></span>
</td>
<td class="nump">$ 12,179<span></span>
</td>
</tr>
<tr class="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 );">Total recognized compensation cost</a></td>
<td class="nump">8,808<span></span>
</td>
<td class="nump">$ 12,350<span></span>
</td>
<td class="nump">$ 10,682<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Total unrecognized share-based compensation costs</a></td>
<td class="nump">$ 22,002<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period of recognition of compensation expense</a></td>
<td class="text">2 years 4 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at the beginning of the period (in shares)</a></td>
<td class="nump">1,888,753<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">2,161,098<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<td class="nump">706,637<span></span>
</td>
</tr>
<tr class="ro">
<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">(562,376)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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">(152,172)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Unvested at the end of the period (in shares)</a></td>
<td class="nump">3,335,303<span></span>
</td>
<td class="nump">1,888,753<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant-Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 19.78<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">26.10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">17.11<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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">22.04<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 24.23<span></span>
</td>
<td class="nump">$ 19.78<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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">$ 21,628<span></span>
</td>
<td class="nump">$ 14,420<span></span>
</td>
<td class="nump">$ 10,733<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="nump">2,096,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Vesting percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25.69<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of unvested awards outstanding</a></td>
<td class="nump">2,076,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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,096,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at the end of the period (in shares)</a></td>
<td class="nump">2,076,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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25.69<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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">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="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">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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>132
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160174588928">
<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, 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_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">$ 602,460<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries', window );">Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries</a></td>
<td class="nump">25.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(3)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>133
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160172987104">
<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, 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_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">$ 869,831<span></span>
</td>
<td class="nump">$ 1,178,752<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries, net</a></td>
<td class="nump">73,042<span></span>
</td>
<td class="nump">5,834<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeAssetsCurrent', window );">Derivative assets</a></td>
<td class="nump">7,286<span></span>
</td>
<td class="nump">23,351<span></span>
</td>
</tr>
<tr class="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">434,177<span></span>
</td>
<td class="nump">353,781<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">4,771,827<span></span>
</td>
<td class="nump">4,185,822<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets, net</a></td>
<td class="nump">236,503<span></span>
</td>
<td class="nump">170,656<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other non-current assets</a></td>
<td class="nump">174,453<span></span>
</td>
<td class="nump">184,952<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">7,388,342<span></span>
</td>
<td class="nump">6,536,854<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings, including long-term borrowings - current portion</a></td>
<td class="nump">1,271,215<span></span>
</td>
<td class="nump">1,202,285<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrent', window );">Amounts due to subsidiaries, net</a></td>
<td class="nump">143<span></span>
</td>
<td class="nump">314<span></span>
</td>
</tr>
<tr class="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">242,783<span></span>
</td>
<td class="nump">237,316<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">4,038,148<span></span>
</td>
<td class="nump">3,588,355<span></span>
</td>
</tr>
<tr class="re">
<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">224,675<span></span>
</td>
<td class="nump">223,214<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">48,150<span></span>
</td>
<td class="nump">49,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Liability for uncertain tax positions</a></td>
<td class="nump">7,448<span></span>
</td>
<td class="nump">14,729<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">5,261,904<span></span>
</td>
<td class="nump">4,644,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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common shares - no par value: unlimited authorized shares, 59,820,384 and 64,022,678 shares issued and outstanding at December 31, 2020 and 2021, respectively</a></td>
<td class="nump">835,543<span></span>
</td>
<td class="nump">687,033<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="num">(19,428)<span></span>
</td>
<td class="num">(28,236)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">1,035,552<span></span>
</td>
<td class="nump">940,304<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(50,584)<span></span>
</td>
<td class="num">(28,679)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Canadian Solar Inc. shareholders' equity</a></td>
<td class="nump">1,801,083<span></span>
</td>
<td class="nump">1,570,422<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND EQUITY</a></td>
<td class="nump">7,388,342<span></span>
</td>
<td class="nump">6,536,854<span></span>
</td>
</tr>
<tr 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 [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_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">27,432<span></span>
</td>
<td class="nump">33,709<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalents', window );">Restricted cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,316<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">288,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_DerivativeAssetsCurrent', window );">Derivative assets</a></td>
<td class="nump">521<span></span>
</td>
<td class="nump">1,111<span></span>
</td>
</tr>
<tr class="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">5,318<span></span>
</td>
<td class="nump">22,672<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">33,271<span></span>
</td>
<td class="nump">347,034<span></span>
</td>
</tr>
<tr class="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">1,992,658<span></span>
</td>
<td class="nump">1,525,951<span></span>
</td>
</tr>
<tr 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">10,755<span></span>
</td>
<td class="nump">5,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_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets, net</a></td>
<td class="nump">1,946<span></span>
</td>
<td class="nump">21,358<span></span>
</td>
</tr>
<tr class="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">45,213<span></span>
</td>
<td class="nump">40,456<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,083,843<span></span>
</td>
<td class="nump">1,940,121<span></span>
</td>
</tr>
<tr class="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, including long-term borrowings - current portion</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,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_DueToRelatedPartiesCurrent', window );">Amounts due to subsidiaries, net</a></td>
<td class="nump">43,415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">5,676<span></span>
</td>
<td class="nump">32,969<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">49,091<span></span>
</td>
<td class="nump">112,969<span></span>
</td>
</tr>
<tr class="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">224,675<span></span>
</td>
<td class="nump">223,214<span></span>
</td>
</tr>
<tr class="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">1,562<span></span>
</td>
<td class="nump">20,169<span></span>
</td>
</tr>
<tr class="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">7,432<span></span>
</td>
<td class="nump">13,347<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">282,760<span></span>
</td>
<td class="nump">369,699<span></span>
</td>
</tr>
<tr class="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, 59,820,384 and 64,022,678 shares issued and outstanding at December 31, 2020 and 2021, respectively</a></td>
<td class="nump">835,543<span></span>
</td>
<td class="nump">687,033<span></span>
</td>
</tr>
<tr class="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="num">(19,428)<span></span>
</td>
<td class="num">(28,236)<span></span>
</td>
</tr>
<tr class="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,035,552<span></span>
</td>
<td class="nump">940,304<span></span>
</td>
</tr>
<tr class="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">(50,584)<span></span>
</td>
<td class="num">(28,679)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Canadian Solar Inc. shareholders' equity</a></td>
<td class="nump">1,801,083<span></span>
</td>
<td class="nump">1,570,422<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,083,843<span></span>
</td>
<td class="nump">$ 1,940,121<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InvestmentInAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InvestmentInAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InvestmentInSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InvestmentInSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, carrying value as of the balance sheet date of a written promise to pay a note, initially due after one year or beyond the operating cycle if longer, which can be exchanged for a specified amount of one or more securities (typically common stock), at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120401414&amp;loc=d3e603758-122996<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>134
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160170903008">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">64,022,678<span></span>
</td>
<td class="nump">59,820,384<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">64,022,678<span></span>
</td>
<td class="nump">59,820,384<span></span>
</td>
</tr>
<tr 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 [Member] | Parent Company</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">64,022,678<span></span>
</td>
<td class="nump">59,820,384<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">64,022,678<span></span>
</td>
<td class="nump">59,820,384<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialStatementsCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CondensedFinancialStatementsCaptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>135
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160162626096">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
<td class="nump">$ 3,200,583<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">4,367,857<span></span>
</td>
<td class="nump">2,786,581<span></span>
</td>
<td class="nump">2,482,086<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">909,312<span></span>
</td>
<td class="nump">689,914<span></span>
</td>
<td class="nump">718,497<span></span>
</td>
</tr>
<tr class="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">308,942<span></span>
</td>
<td class="nump">225,597<span></span>
</td>
<td class="nump">242,783<span></span>
</td>
</tr>
<tr class="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">58,407<span></span>
</td>
<td class="nump">45,167<span></span>
</td>
<td class="nump">47,045<span></span>
</td>
</tr>
<tr class="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">(47,068)<span></span>
</td>
<td class="num">(25,523)<span></span>
</td>
<td class="num">(10,536)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">718,931<span></span>
</td>
<td class="nump">469,484<span></span>
</td>
<td class="nump">459,618<span></span>
</td>
</tr>
<tr class="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">190,381<span></span>
</td>
<td class="nump">220,430<span></span>
</td>
<td class="nump">258,879<span></span>
</td>
</tr>
<tr class="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">(58,153)<span></span>
</td>
<td class="num">(71,874)<span></span>
</td>
<td class="num">(81,326)<span></span>
</td>
</tr>
<tr class="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">11,051<span></span>
</td>
<td class="nump">9,306<span></span>
</td>
<td class="nump">12,039<span></span>
</td>
</tr>
<tr class="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="nump">23,785<span></span>
</td>
<td class="nump">50,001<span></span>
</td>
<td class="num">(22,218)<span></span>
</td>
</tr>
<tr class="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)</a></td>
<td class="num">(47,234)<span></span>
</td>
<td class="num">(64,820)<span></span>
</td>
<td class="nump">10,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_GainLossOnInvestments', window );">Investment (loss) gain</a></td>
<td class="nump">18,634<span></span>
</td>
<td class="num">(8,559)<span></span>
</td>
<td class="nump">1,929<span></span>
</td>
</tr>
<tr class="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">(51,917)<span></span>
</td>
<td class="num">(85,946)<span></span>
</td>
<td class="num">(79,206)<span></span>
</td>
</tr>
<tr class="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">138,464<span></span>
</td>
<td class="nump">134,484<span></span>
</td>
<td class="nump">179,673<span></span>
</td>
</tr>
<tr class="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">(35,844)<span></span>
</td>
<td class="nump">1,983<span></span>
</td>
<td class="num">(42,066)<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">95,248<span></span>
</td>
<td class="nump">146,703<span></span>
</td>
<td class="nump">171,585<span></span>
</td>
</tr>
<tr 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 [Member] | 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="nump">341<span></span>
</td>
<td class="nump">2,170<span></span>
</td>
<td class="nump">4,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_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,188<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">341<span></span>
</td>
<td class="nump">2,170<span></span>
</td>
<td class="nump">163<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling and distribution expenses</a></td>
<td class="nump">766<span></span>
</td>
<td class="nump">2,174<span></span>
</td>
<td class="nump">1,727<span></span>
</td>
</tr>
<tr class="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">9,177<span></span>
</td>
<td class="nump">49,688<span></span>
</td>
<td class="nump">29,093<span></span>
</td>
</tr>
<tr class="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">182<span></span>
</td>
<td class="nump">692<span></span>
</td>
<td class="nump">462<span></span>
</td>
</tr>
<tr class="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">(282)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">9,843<span></span>
</td>
<td class="nump">52,554<span></span>
</td>
<td class="nump">31,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_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="num">(9,502)<span></span>
</td>
<td class="num">(50,384)<span></span>
</td>
<td class="num">(31,119)<span></span>
</td>
</tr>
<tr class="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">(19,677)<span></span>
</td>
<td class="num">(9,628)<span></span>
</td>
<td class="num">(3,005)<span></span>
</td>
</tr>
<tr class="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">20,249<span></span>
</td>
<td class="nump">30,536<span></span>
</td>
<td class="nump">25,272<span></span>
</td>
</tr>
<tr class="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="nump">4,043<span></span>
</td>
<td class="nump">25,341<span></span>
</td>
<td class="num">(5,193)<span></span>
</td>
</tr>
<tr class="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)</a></td>
<td class="num">(3,674)<span></span>
</td>
<td class="nump">13,768<span></span>
</td>
<td class="num">(11,318)<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(116,879)<span></span>
</td>
</tr>
<tr class="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">941<span></span>
</td>
<td class="nump">60,017<span></span>
</td>
<td class="num">(111,123)<span></span>
</td>
</tr>
<tr class="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">(8,561)<span></span>
</td>
<td class="nump">9,633<span></span>
</td>
<td class="num">(142,242)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax benefit (expense)</a></td>
<td class="nump">2,424<span></span>
</td>
<td class="num">(34,223)<span></span>
</td>
<td class="nump">5,230<span></span>
</td>
</tr>
<tr class="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">101,385<span></span>
</td>
<td class="nump">171,293<span></span>
</td>
<td class="nump">308,597<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">$ 95,248<span></span>
</td>
<td class="nump">$ 146,703<span></span>
</td>
<td class="nump">$ 171,585<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EquityIncomeLossFromSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This item represents the entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityIncomeLossFromSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialStatementsCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CondensedFinancialStatementsCaptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=125521441&amp;loc=d3e30690-110894<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30226-110892<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28228-110885<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124440516&amp;loc=d3e30840-110895<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27405-111563<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expenses recognized in the period that are directly related to the selling and distribution of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>136
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160155341200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">$ 109,876,000<span></span>
</td>
<td class="nump">$ 147,246,000<span></span>
</td>
<td class="nump">$ 166,555,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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Other comprehensive income (loss) (net of tax of nil)</a></td>
<td class="num">(26,296,000)<span></span>
</td>
<td class="nump">76,188,000<span></span>
</td>
<td class="nump">319,000<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">73,343,000<span></span>
</td>
<td class="nump">227,631,000<span></span>
</td>
<td class="nump">172,127,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_OtherComprehensiveIncomeLossTax', window );">Other comprehensive income tax</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_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember', window );">Reportable Legal Entities [Member] | 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">95,248,000<span></span>
</td>
<td class="nump">146,703,000<span></span>
</td>
<td class="nump">171,585,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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Other comprehensive income (loss) (net of tax of nil)</a></td>
<td class="num">(21,905,000)<span></span>
</td>
<td class="nump">80,928,000<span></span>
</td>
<td class="nump">542,000<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">73,343,000<span></span>
</td>
<td class="nump">227,631,000<span></span>
</td>
<td class="nump">172,127,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_OtherComprehensiveIncomeLossTax', window );">Other comprehensive income tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialStatementsCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CondensedFinancialStatementsCaptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30304-110892<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28129-110885<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) allocated to 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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e39076-109324<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>137
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160162538992">
<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, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 109,876<span></span>
</td>
<td class="nump">$ 147,246<span></span>
</td>
<td class="nump">$ 166,555<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">282,769<span></span>
</td>
<td class="nump">209,118<span></span>
</td>
<td class="nump">159,723<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccretionExpense', window );">Accretion of convertible notes</a></td>
<td class="nump">1,461<span></span>
</td>
<td class="nump">388<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">83<span></span>
</td>
<td class="num">(253)<span></span>
</td>
<td class="nump">1,227<span></span>
</td>
</tr>
<tr class="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="num">(23,785)<span></span>
</td>
<td class="num">(50,001)<span></span>
</td>
<td class="nump">22,218<span></span>
</td>
</tr>
<tr class="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">7,615<span></span>
</td>
<td class="nump">9,874<span></span>
</td>
<td class="nump">1,250<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">8,808<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
<td class="nump">10,682<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable trade</a></td>
<td class="num">(284,785)<span></span>
</td>
<td class="nump">65,379<span></span>
</td>
<td class="nump">51,670<span></span>
</td>
</tr>
<tr class="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="num">(68,912)<span></span>
</td>
<td class="nump">26,828<span></span>
</td>
<td class="num">(17,347)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(85,754)<span></span>
</td>
<td class="num">(72,188)<span></span>
</td>
<td class="nump">33,283<span></span>
</td>
</tr>
<tr class="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="nump">20,357<span></span>
</td>
<td class="num">(11,913)<span></span>
</td>
<td class="num">(24,037)<span></span>
</td>
</tr>
<tr class="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">11,023<span></span>
</td>
<td class="num">(89,180)<span></span>
</td>
<td class="nump">209,175<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due to subsidiaries</a></td>
<td class="num">(171)<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="num">(5,798)<span></span>
</td>
</tr>
<tr 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">(7,281)<span></span>
</td>
<td class="num">(623)<span></span>
</td>
<td class="num">(4,775)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Net deferred tax assets</a></td>
<td class="num">(67,386)<span></span>
</td>
<td class="num">(21,439)<span></span>
</td>
<td class="num">(12,455)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="nump">31,886<span></span>
</td>
<td class="nump">33,054<span></span>
</td>
<td class="num">(27,012)<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="num">(408,254)<span></span>
</td>
<td class="num">(120,541)<span></span>
</td>
<td class="nump">600,111<span></span>
</td>
</tr>
<tr class="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">(429,570)<span></span>
</td>
<td class="num">(319,662)<span></span>
</td>
<td class="num">(294,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_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_RepaymentsOfNotesPayable', window );">Repayment of short-term borrowings</a></td>
<td class="num">(1,879,884)<span></span>
</td>
<td class="num">(1,561,597)<span></span>
</td>
<td class="num">(1,649,721)<span></span>
</td>
</tr>
<tr class="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="nump">148,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMinorityShareholders', window );">Proceeds from changes in ownership interests in subsidiaries without change of control</a></td>
<td class="nump">10,003<span></span>
</td>
<td class="nump">261,332<span></span>
</td>
<td class="nump">11,488<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Net proceeds from issuance of convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(127,500)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Payments for repurchase of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963)<span></span>
</td>
<td class="num">(11,845)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
<td class="nump">875<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 (used in) financing activities</a></td>
<td class="nump">614,071<span></span>
</td>
<td class="nump">823,501<span></span>
</td>
<td class="num">(34,614)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes</a></td>
<td class="nump">18,320<span></span>
</td>
<td class="nump">50,997<span></span>
</td>
<td class="num">(6,965)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="num">(205,433)<span></span>
</td>
<td class="nump">434,295<span></span>
</td>
<td class="nump">264,430<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the beginning of the year</a></td>
<td class="nump">1,639,715<span></span>
</td>
<td class="nump">1,205,420<span></span>
</td>
<td class="nump">940,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">1,434,282<span></span>
</td>
<td class="nump">1,639,715<span></span>
</td>
<td class="nump">1,205,420<span></span>
</td>
</tr>
<tr class="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">71,006<span></span>
</td>
<td class="nump">78,747<span></span>
</td>
<td class="nump">85,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_srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember', window );">Parent Company | Reportable Legal Entities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">95,248<span></span>
</td>
<td class="nump">146,703<span></span>
</td>
<td class="nump">171,585<span></span>
</td>
</tr>
<tr class="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="nump">150<span></span>
</td>
<td class="nump">156<span></span>
</td>
<td class="nump">154<span></span>
</td>
</tr>
<tr class="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,461<span></span>
</td>
<td class="nump">388<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainOrLossOnSaleOfStockInSubsidiary', window );">Loss on disposal of subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">116,879<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss (gain) on change in fair value of derivatives</a></td>
<td class="num">(4,043)<span></span>
</td>
<td class="num">(25,341)<span></span>
</td>
<td class="nump">5,193<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">357<span></span>
</td>
<td class="num">(83)<span></span>
</td>
</tr>
<tr class="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">(101,385)<span></span>
</td>
<td class="num">(171,293)<span></span>
</td>
<td class="num">(308,597)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">8,808<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
<td class="nump">10,682<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="num">(206,892)<span></span>
</td>
<td class="nump">287,865<span></span>
</td>
<td class="num">(43,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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">17,353<span></span>
</td>
<td class="num">(13,183)<span></span>
</td>
<td class="nump">17,012<span></span>
</td>
</tr>
<tr class="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">(4,907)<span></span>
</td>
<td class="nump">28,459<span></span>
</td>
<td class="num">(1,158)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due to subsidiaries</a></td>
<td class="num">(42,224)<span></span>
</td>
<td class="num">(340,502)<span></span>
</td>
<td class="nump">183,675<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities', window );">Other current liabilities</a></td>
<td class="num">(27,293)<span></span>
</td>
<td class="nump">31,809<span></span>
</td>
<td class="num">(2,707)<span></span>
</td>
</tr>
<tr class="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">(5,915)<span></span>
</td>
<td class="nump">306<span></span>
</td>
<td class="nump">408<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Net deferred tax assets</a></td>
<td class="nump">805<span></span>
</td>
<td class="num">(468)<span></span>
</td>
<td class="num">(1,292)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="nump">4,633<span></span>
</td>
<td class="nump">19,517<span></span>
</td>
<td class="num">(11,125)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="num">(264,201)<span></span>
</td>
<td class="num">(22,877)<span></span>
</td>
<td class="nump">136,996<span></span>
</td>
</tr>
<tr class="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">(138,456)<span></span>
</td>
<td class="num">(126,487)<span></span>
</td>
<td class="num">(36,146)<span></span>
</td>
</tr>
<tr class="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="num">(5,273)<span></span>
</td>
<td class="num">(2,766)<span></span>
</td>
<td class="num">(2,483)<span></span>
</td>
</tr>
<tr 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 );">Funding of loans to subsidiaries</a></td>
<td class="num">(201,192)<span></span>
</td>
<td class="num">(264,848)<span></span>
</td>
<td class="num">(40,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_RepaymentOfNotesReceivableFromRelatedParties', window );">Repayment of loans from interest receivables</a></td>
<td class="nump">253,816<span></span>
</td>
<td class="nump">20,485<span></span>
</td>
<td class="nump">12,809<span></span>
</td>
</tr>
<tr class="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">(91,105)<span></span>
</td>
<td class="num">(373,616)<span></span>
</td>
<td class="num">(66,420)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_RepaymentsOfNotesPayable', window );">Repayment of short-term borrowings</a></td>
<td class="num">(80,000)<span></span>
</td>
<td class="nump">30,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromRepaymentsOfNotesPayable', window );">Proceeds long-term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProceedsFromLoansFromSubsidiaries', window );">Funding of loans from a subsidiary</a></td>
<td class="nump">280,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_ProceedsFromIssuanceOfCommonStock', window );">Net proceeds from issuance of common shares</a></td>
<td class="nump">148,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">224,553<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Net proceeds from issuance of convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">222,826<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payments for repurchase of convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(127,500)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Payments for repurchase of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963)<span></span>
</td>
<td class="num">(11,845)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
<td class="nump">875<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 (used in) financing activities</a></td>
<td class="nump">348,510<span></span>
</td>
<td class="nump">472,451<span></span>
</td>
<td class="num">(88,470)<span></span>
</td>
</tr>
<tr class="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">(797)<span></span>
</td>
<td class="num">(43,246)<span></span>
</td>
<td class="nump">11,110<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="num">(7,593)<span></span>
</td>
<td class="nump">32,712<span></span>
</td>
<td class="num">(6,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the beginning of the year</a></td>
<td class="nump">35,025<span></span>
</td>
<td class="nump">2,313<span></span>
</td>
<td class="nump">9,097<span></span>
</td>
</tr>
<tr class="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">27,432<span></span>
</td>
<td class="nump">35,025<span></span>
</td>
<td class="nump">2,313<span></span>
</td>
</tr>
<tr class="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">$ 20,272<span></span>
</td>
<td class="nump">$ 7,966<span></span>
</td>
<td class="nump">$ 4,644<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_us-gaap_AccretionExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 35<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6394232&amp;loc=d3e17558-110866<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainOrLossOnSaleOfStockInSubsidiary">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(g))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainOrLossOnSaleOfStockInSubsidiary</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableTrade</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate increase (decrease) during the reporting period in the amount due from the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in current liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromRepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from long-term debt supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromRepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentOfNotesReceivableFromRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a loan, supported by a promissory note, granted to related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentOfNotesReceivableFromRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>138
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160171026688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Appendix 1 - Major Subsidiaries of CSI (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_CounterpartyNameAxis=csiq_CsiCellsCo.Ltd.Member', window );">CSI Cells Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">79.59%<span></span>
</td>
</tr>
<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_CsiNewEnergyHoldingCo.LtdMember', window );">CSI New Energy Holding Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingLuoyangIncMember', window );">Canadian Solar Manufacturing (Luoyang) Inc.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingChangshuInc.Member', window );">Canadian Solar Manufacturing (Changshu) Inc.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CsiCellsCo.Ltd.Member', window );">CSI Cells Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarUSAIncMember', window );">Canadian Solar (USA) Inc.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarJapanKKMember', window );">Canadian Solar Japan K.K.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarSolutionsIncMember', window );">Canadian Solar Solutions Inc.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarEMEAGmbHMember', window );">Canadian Solar EMEA GmbH</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarInternationalProjectHoldingLimitedMember', window );">Canadian Solar International Project Holding Limited</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarInternationalProjectHoldingLimitedMember', window );">Canadian Solar International Project Holding Limited | CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.")</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">79.59%<span></span>
</td>
</tr>
<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_CanadianSolarOAndMOntarioIncMember', window );">Canadian Solar O&amp;M (Ontario) Inc.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember', window );">Suzhou Sanysolar Materials Technology Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarSouthEastAsiaPteLtdMember', window );">Canadian Solar South East Asia Pte., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember', window );">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarProjectKKMember', window );">Canadian Solar Project K.K.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarUkLtdMember', window );">Canadian Solar UK Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarUkProjectsLtdMember', window );">Canadian Solar UK Projects Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CsiSolarManufacturingFuningCoLtdMember', window );">CSI Solar Manufacturing (Funing) Co., Ltd . (formerly known as "CSI&amp;GCL Solar Manufacturing (Yancheng) Inc.")</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember', window );">Changsu Tegu New Material Technology Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_ChangshuTlianCo.Ltd.Member', window );">Changshu Tlian Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_RecurrentEnergyLlcMember', window );">Recurrent Energy, LLC</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingVietnamCo.LtdMember', window );">Canadian Solar Manufacturing Vietnam Co., Ltd</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member', window );">Canadian Solar Manufacturing (Thailand) Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member', window );">Canadian Solar Energy Holding Singapore Pte. Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member', window );">Canadian Solar Sunenergy (Baotou) Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CSISolarNewEnergySuzhouCoLtdMember', window );">CSI Solar New Energy (Suzhou) Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">90.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_dei_LegalEntityAxis=csiq_CanadianSolarConstructionAustraliaPtyLtdMember', window );">Canadian Solar Construction (Australia) Pty Ltd</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CsiModulesJiaxingCoLtdMember', window );">Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.)</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CsiWaferLuoyangCoLtdMember', window );">CSI Wafer (LuoYang) Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember', window );">Technology CSI New Energy (ZheJiang) Co., Ltd [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember', window );">Canadian Solar New Energy Holding Company Limited</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member', window );">Canadian Solar Energy Holding Singapore Pte. Ltd. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarNetherlandCooperativeUaMember', window );">Canadian Solar Netherlands Cooperative U.A.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarSsesCanadaInc.Member', window );">Canadian Solar SSES (Canada) Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_FieldfareArgentinaS.r.l.Member', window );">FieldFare Argentina S.R.L.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarInvestmentManagementPtyLtdMember', window );">Canadian Solar Investment Management Pty Ltd [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember', window );">Canadian Solar Brasil I Fundo De Investimento Em Participacoes [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member', window );">CSI Energy Project Technology (SuZhou) Co., Ltd. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CsiElectricitySalesJiangsuCo.Ltd.Member', window );">CSI Electricity Sales (JiangSu) Co., Ltd. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.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_dei_LegalEntityAxis=csiq_CsiCellsYanchangCoLtdMember', window );">CSI Cells (Yanchang) Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">73.2063%<span></span>
</td>
</tr>
<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_CsiCellsYanchangCoLtdMember', window );">CSI Cells (Yanchang) Co., Ltd. | CSI Cells Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">57.13%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EquityInterestHeldAsLimitedPartner', window );">Equity interest held as limited partner</a></td>
<td class="nump">37.33%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiCellsYanchangCoLtdMember', window );">CSI Cells (Yanchang) Co., Ltd. | CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.")</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">42.87%<span></span>
</td>
</tr>
<tr 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_EquityInterestHeldAsGeneralPartner', window );">Interest held as general partner</a></td>
<td class="nump">0.17%<span></span>
</td>
</tr>
<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_CsiModulesDafengCoLtdMember', window );">CSI Modules (DaFeng) Co., Ltd.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">57.4197%<span></span>
</td>
</tr>
<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_CsiModulesDafengCoLtdMember', window );">CSI Modules (DaFeng) Co., Ltd. | Canadian Solar Manufacturing (Changshu) Inc.</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">46.73%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EquityInterestHeldAsLimitedPartner', window );">Equity interest held as limited partner</a></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_dei_LegalEntityAxis=csiq_CsiModulesDafengCoLtdMember', window );">CSI Modules (DaFeng) Co., Ltd. | CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.")</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_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">53.27%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EquityInterestHeldAsGeneralPartner', window );">Interest held as general partner</a></td>
<td class="nump">0.067%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EquityInterestHeldAsGeneralPartner">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity interest held as general partner.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityInterestHeldAsGeneralPartner</td>
</tr>
<tr>
<td 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_EquityInterestHeldAsLimitedPartner">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity interest held as limited partner.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityInterestHeldAsLimitedPartner</td>
</tr>
<tr>
<td 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_InvestmentsInAndAdvancesToAffiliatesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_InvestmentsInAndAdvancesToAffiliatesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 method investee's stock owned by parent immediately after all stock 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;">us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=csiq_CsiCellsCo.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_CounterpartyNameAxis=csiq_CsiCellsCo.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_dei_LegalEntityAxis=csiq_CsiNewEnergyHoldingCo.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_CsiNewEnergyHoldingCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingLuoyangIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarManufacturingLuoyangIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CanadianSolarManufacturingChangshuInc.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_CanadianSolarManufacturingChangshuInc.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_CsiCellsCo.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_CsiCellsCo.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_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_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_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_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_dei_LegalEntityAxis=csiq_CanadianSolarInternationalProjectHoldingLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarInternationalProjectHoldingLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_CsiSolarPowerChinaInc.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_CsiSolarPowerChinaInc.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_CanadianSolarOAndMOntarioIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarOAndMOntarioIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_SuzhouSanysolarMaterialsTechnologyCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_SuzhouSanysolarMaterialsTechnologyCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CanadianSolarSouthEastAsiaPteLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarSouthEastAsiaPteLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>
<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_CanadianSolarUkLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarUkLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CanadianSolarUkProjectsLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarUkProjectsLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiSolarManufacturingFuningCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiSolarManufacturingFuningCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_ChangsuTeguNewMaterialTechnologyCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ChangsuTeguNewMaterialTechnologyCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_ChangshuTlianCo.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_ChangshuTlianCo.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_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_CanadianSolarManufacturingVietnamCo.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_CanadianSolarManufacturingVietnamCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_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_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingapore1Pte.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_CanadianSolarEnergyHoldingSingapore1Pte.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_dei_LegalEntityAxis=csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CSISolarNewEnergySuzhouCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CSISolarNewEnergySuzhouCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CanadianSolarConstructionAustraliaPtyLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarConstructionAustraliaPtyLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiModulesJiaxingCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiModulesJiaxingCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiWaferLuoyangCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiWaferLuoyangCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_TechnologyCsiNewEnergyZhejiangCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TechnologyCsiNewEnergyZhejiangCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CanadianSolarNewEnergyHoldingCompanyLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarNewEnergyHoldingCompanyLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingaporePte.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_CanadianSolarEnergyHoldingSingaporePte.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_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_CanadianSolarSsesCanadaInc.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_CanadianSolarSsesCanadaInc.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_FieldfareArgentinaS.r.l.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_FieldfareArgentinaS.r.l.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_CanadianSolarInvestmentManagementPtyLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarInvestmentManagementPtyLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiEnergyProjectTechnologySuzhouCo.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_CsiEnergyProjectTechnologySuzhouCo.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_dei_LegalEntityAxis=csiq_CsiElectricitySalesJiangsuCo.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_CsiElectricitySalesJiangsuCo.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_dei_LegalEntityAxis=csiq_CsiCellsYanchangCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiCellsYanchangCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiModulesDafengCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiModulesDafengCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_CanadianSolarManufacturingChangshuInc.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_CanadianSolarManufacturingChangshuInc.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>139
<FILENAME>R128.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140160175245984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>N-2<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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_AmendmentFlag', window );">Amendment Flag</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_AmendmentDescription', window );">Amendment Description</a></td>
<td class="text">Amendment No. 1<span></span>
</td>
</tr>
<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 );">Securities Act 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_DocumentType', window );">Document Type</a></td>
<td class="text">20-F/A<span></span>
</td>
</tr>
<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_DocumentRegistrationStatement', window );">Document Registration Statement</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_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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">545&#160;Speedvale Avenue West<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Guelph, Ontario<span></span>
</td>
</tr>
<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_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_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">N1K&#160;1E6<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">1-519<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">837-1881<span></span>
</td>
</tr>
<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of changes contained within amended document.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AmendmentDescription</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_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_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_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_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>140
<FILENAME>csiq-20211231x20fa_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:csiq="http://www.canadiansolar.com/20211231"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="csiq-20211231.xsd" xlink:type="simple"/>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_tqb2FK_Qj0OeXzBvnA3cNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_i4h0_eHldk2t3KNrfgjOjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalProjectHoldingLimitedMember</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_TechnologyCsiNewEnergyZhejiangCoLtdMember_DYb0czy0b0SWbKVCGUWAnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:TechnologyCsiNewEnergyZhejiangCoLtdMember</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_SuzhouSanysolarMaterialsTechnologyCoLtdMember_achEREHdvEOvlRdwhTf8Rg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuzhouSanysolarMaterialsTechnologyCoLtdMember</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_RecurrentEnergyLlcMember_wiTjLQilZkaSQgC4oSCUWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</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_FieldfareArgentinaS.r.l.Member_7KafbnOtmkC_J91TEpTSkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FieldfareArgentinaS.r.l.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_CsiWaferLuoyangCoLtdMember_RZg-Az3N4Ued1uvbBQZ_Bg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiWaferLuoyangCoLtdMember</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_CSISolarNewEnergySuzhouCoLtdMember_qlN2bTycCkWatWhw8BSuag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CSISolarNewEnergySuzhouCoLtdMember</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_CsiSolarManufacturingFuningCoLtdMember_bFVjgHxopkGFqrMwd4SJyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarManufacturingFuningCoLtdMember</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_CsiNewEnergyHoldingCo.LtdMember_aozydgQ_T0695nR5G1BnrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiNewEnergyHoldingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_V9THTzoFa0uRpTIhOU_tDA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesJiaxingCoLtdMember</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_CsiModulesDafengCoLtdMember_wk4SkUnjekqTwal-7A6k3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</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_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member_PcU81H7kUkylO9CfkxQVxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiEnergyProjectTechnologySuzhouCo.Ltd.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_CsiElectricitySalesJiangsuCo.Ltd.Member_rC05HQgYlEu1qGzGpm3Aqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiElectricitySalesJiangsuCo.Ltd.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_CsiCellsYanchangCoLtdMember_RHyvukqN5EeK_XFAommL3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchangCoLtdMember</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_CsiCellsCo.Ltd.Member_FMDPs5BsMkGWiyS110TB9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiCellsCo.Ltd.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_CsiCellsCo.Ltd.Member_uLAHdiji70KZ0lNrBksYeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsCo.Ltd.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_ChangsuTeguNewMaterialTechnologyCoLtdMember_K7MFHdOdTkiK4EQwsmzB2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangsuTeguNewMaterialTechnologyCoLtdMember</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_ChangshuTlianCo.Ltd.Member_BxwdTQlaEESKMMfjkrgUFg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangshuTlianCo.Ltd.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_KGn43hoLPUi3GMi1F21q0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <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_CanadianSolarUkProjectsLtdMember_cb2RuziMWUiYu4qtqSQwug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkProjectsLtdMember</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_CanadianSolarUkLtdMember__heS167FXkyvtQFyZwBrxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkLtdMember</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_CanadianSolarSunenergyBaotouCo.Ltd.Member_VZZFWnOHj0qEUJrXMZcNWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.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_CanadianSolarSsesCanadaInc.Member_xr1-hO41pUixsPOwgdhRiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSsesCanadaInc.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_CanadianSolarSouthEastAsiaPteLtdMember_oVI2rxtTMkW-GCl6Hj_d-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSouthEastAsiaPteLtdMember</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_CanadianSolarSolutionsIncMember_37C33xvdq0q6UT3exlTTXw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_7_RfAMx2ikuv4vUCm7H1lw">
        <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-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarOAndMOntarioIncMember_EGJWYOzKvECx7wAcEwFPUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarOAndMOntarioIncMember</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_CanadianSolarNewEnergyHoldingCompanyLimitedMember_pDd1eUUCV0eW0gjf7osQgQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNewEnergyHoldingCompanyLimitedMember</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_CanadianSolarNetherlandCooperativeUaMember_ptGwFyjcn065PlxKcxEH9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNetherlandCooperativeUaMember</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_CanadianSolarManufacturingVietnamCo.LtdMember_8ZthnZ99AU65eD288cDZFg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_OG-peTBP0UyTXn5-q9rnxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.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_CanadianSolarManufacturingLuoyangIncMember_Z-IU3gmZxEi7U7anGtuRrg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingLuoyangIncMember</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_CanadianSolarManufacturingChangshuInc.Member_M4bem92xgEWhEysG0k7DEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingChangshuInc.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_CanadianSolarJapanKKMember_RvFJCl4Ik0Kmz9om3Z7PYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <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_CanadianSolarInvestmentManagementPtyLtdMember_NWc7rhX4TUKBu_L7Wx7P5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInvestmentManagementPtyLtdMember</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_CanadianSolarInternationalProjectHoldingLimitedMember_K_PgpWOv706N8toXp410ew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalProjectHoldingLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_3EDSlOqkRUeV2uzrzj3P2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.Ltd.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_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_h3NQqmaPBUaebk5Px8RO_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingapore1Pte.Ltd.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_CanadianSolarEMEAGmbHMember_0vTPLaPJDUG3f_v6L-fLJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <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_CanadianSolarConstructionAustraliaPtyLtdMember_r8qx7ymk9kKBMu1B-riEnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarConstructionAustraliaPtyLtdMember</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_rmptUuTCGUG6oiztZfPFug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember_pO_nzoslzE6uIAAXkJftaQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_5_27_2021_To_5_27_2021_yBbVfX4M3UWc9NQ7IpGQSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2021-05-27</startDate>
            <endDate>2021-05-27</endDate>
        </period>
    </context>
    <context id="Duration_3_1_2020_To_3_31_2020_TgZICfn6hEy3hqrBJ86-zw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2020-03-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_1_31_2020_wgb-SEYTMk-03JBLWkCUZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2019_To_12_31_2019_qRZDr0ef7UOSKDkb0ueK_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2019-12-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S8MP3ARTm0qp3g41yO5QiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_5z_uSD2qAkaDDIULyoERZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LeadingInstitutionalInvestorsAndStrategicPartnersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YZImHl_s5k2N7FJBnt2rqw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_3_5_2021_To_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_Cpu-VJy4ZE-Maoq6e5jM8A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-05</startDate>
            <endDate>2021-03-05</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_LAlzLsbg20ezlsE9g9r6TA">
        <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_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_4Sqifx5Mh0SuhtS4MpE3Iw">
        <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_50Rvn_EMokmwxR64cR5SSQ">
        <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_qY-XeaYWuUKCuXTxDDtKBw">
        <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_td_9e07pu0OzNodH-a-x2w">
        <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_Va2HcDRF_UeR0zTVT1MZrw">
        <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_umuq4OaVVk-LJQ9ugt63mA">
        <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_YTKQZI_RJUGPjDViw59KmQ">
        <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__-ObamsmikqfLjIgHCzeOg">
        <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_WpHjOnW6bkiEo74ttdLUpg">
        <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_-sFcBXfVkEucup3UTK22lg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_DQdj51c9-ESyryXo9oA5tQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_hI33H2tOQUWrWgZPtXpQIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_V8azuFbEDkqu-vk6w20eTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bgOHWUfYk02tSDCpIFfCDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_hTp4ySjj0k-gnAuyejj-zA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_PJUjWnPnX0iW6gp8BM6gsA">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_l0PfX9AkekmXplghvvyGqA">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_wWqS1nP4E0m5tNSDPdY5AQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_KLKKRa2i20KgKdbx4bzQ6A">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uah-L9BZ102s0WRNhUq2vg">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_p6Lpuu7N-U-xwKZ5fs-FWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-05</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_itahHxtTc0y08hLwjrxP9g">
        <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="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_0xADt5H0X0WqyNWDyC3JJQ">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_A0PbjptT40qA1djr0E_bCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AyfQqXj0OEuY59P6o6pN8w">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_30_2010_s3G9vuVMLEKbL1Z0MxJUeA">
        <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_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_JJPbs518SUanV96zQTpuGg">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_3McteKMMD0qH9XmLnK0FYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_IBS93TUtfkCxSHzbkIqO5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2021_NIDZlaYFMkadD_qI5h0k_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_jp9sPweq4ESjrX-EOOIvYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_Ba4F7CshTkedjY241WQqng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eE4SLBxJQ06ddZ7dQ-gIHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Z33jNDUCPk6_j20WJv2ufw">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_E7NIB9nvqEGtpcO-tbnOdw">
        <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>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_ShippingAndHandlingMember_b1w-2BN5HUy07gaU0yZ9_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_G9RAwZ7w5kW7SPxzwvMdzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_ieSbl89XCUSV6clFD-_WRA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_jPFf4pKpe0eTbOGrV41MoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_-Tf3W_DQ2E6DpqxzDDMEgw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasISolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_lSlebNmusUOATx0pjkIxSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_PsgHX_YooEef3UvnVoTcuA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eA7NYPRbYU2MWcA3iUEhnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_F5tVuICzikOs2U7m2K3bYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_OIuG-oANvkO3JZ1qQ790ZQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember__0hvYQboPUa6qYbdybVe7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_cR7FQksyA0-o3dL-8YbZXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_2T2etnnrVE2LqeixSu0euQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_5FavrH0kqEWnICagYp434A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasVSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_CjiNgghbrkKIbzZi4WPyoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIvSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_a4P3xlujpkmjnVKA6ug8Ug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasISolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_hxiFXzTO2EO6qLw26P4lTQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_zpqkGc2DHUOgzXxVyxDNHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_5y5ULIA4DkCdkOMAuAiFEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba9RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_0vF19LuyikKPBGkXvs22-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba3RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_AFwb896X3EeF1nreEDKDdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaba4EnergiasRenovveisS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_EVTi4Gc5UEitPB1M_IqFZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_J_30WxZ97UO_v2deVXT7Bg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_DDp1zaQ110-EovbwyGqUjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_2sBVBL5VQ0iTOQ91u13Zdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_n0oxhOtnnUKkSVJrNu4pMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_IxgwTu5MGEGmsqW43dExCQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_mF_xRt7pkkOFXbsZdwOsew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_x6lJFWJKIU-mQKpfcvAqPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba9RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_1kRO4YQ_m0Kc7nDZl1ypkQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba3RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_rjBlvytdyEeIsveGirR6Vw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaba4EnergiasRenovveisS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_MbVasNWrskKhUHTyvTDkPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:EtSolutionsSouthAfricaOnePtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ZjURteT3yUenk-XpI1O1Yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_dzF_rcrg4UiN2pjm0cNswQ">
        <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_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__dxh-hXug0Kv6Mf7i-oDSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_xZtmy427aUKvoNbTgF7TWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_goAn8WflEEmaIplAfD1fBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_zAX-wpHoOkm_5LC1t9loKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_peQqG8-OlE-ZWdJ0e8ZpQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_d2DSZWhyakma-X6rZNGLwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_7rOIARiEWUSIivTqK3cIEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_R5PE2AAQnkGaCQj2kNdwHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_TxhYFdH_hEOqJoRFhWJg3Q">
        <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_DmuxOebKG0SJDwi3Pi4CXw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kcEA_3b1nEe83mUCC3S1ew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__fOxEYDmE0Wyb8c_RaSG7A">
        <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_ltgvwZgl6kqVBxR9oYKwwg">
        <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_8FGrK9tKT0KIijm-8CXkEA">
        <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_7F96sK53PkSFbnk-mC_6lg">
        <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_UwvZkTWoZECweW-yP0UtLw">
        <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_FOkgPZSJ-U26y7EBr3D8LQ">
        <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_-8Ixlb30SkyGFX14q0srWg">
        <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_FRHfS_PpL02knINtBrjUcw">
        <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_qLEhN3JSmUi-_L5amFdAwg">
        <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_ounkEYS5MU-j742yyGpkuA">
        <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_TH_3-PjaagcgEipiqXmhN535g">
        <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_PK_3lQh_Gvy70eKmIJIkSFoLA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_CfFX0--CQEyO6REezT5ERw">
        <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_yjxkrx7Zv0-cUEwil_4d-A">
        <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_KR_lJrYExlW_UWZlFccwHZBXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</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_dz7Hu8fc6kmv86IP5IcaQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_6blmn5-u_EWa4J8JZ8zjpw">
        <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_GB_xn8PghuykUKW5xlIFyVIUQ">
        <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_MaBvpEpqNU6cH6uKxO-wNQ">
        <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_iabk5z2X4UGye1o22t_JBA">
        <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_F7GFkec1O0qY4xEV01WwGQ">
        <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_0WNWq8-3dUSuOgpslu_t1w">
        <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_CY_NRBrDEC_rU-g6JcBM8tWFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CY</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_yvOhb2HZTEKp7gYLoITaGw">
        <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_CA_ifyXKIojZk-rAYAT5VeIeA">
        <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_2Z7XNnRkpk-oZuobLNfAEQ">
        <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_zVOIiX1A_k-Fq-7wnYraqQ">
        <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_R271JHSniEiwqf9ulABpjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_l71XJMFKWUCgIe9B_Tngww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_wIaNeQbxTkq9vO40IGTwHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_RpK33S0yw0ejhXDpUMlgZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_79M2RwvBWUGMmil6ZOAwcQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Pxi5U7zL2EiSTRr96OyEBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_e-ac77NIhUe2vSgPG9LegQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_QQPCBlw0VEKw7OBsPVZddw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_rrU8t1CnrUiy5c47fTJ_xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_OqrCmk5C4ES1gpMtPWVPlg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_EQ6Ya3FbsEGlM5F_mk1TAg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_P6G7rbv1KUmIZKReZmYi_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_STamKgI5KkG_yFYWkdlGxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_J0UO1kdQEkCk_W85pXZqwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_frMQ_n69CEOUNNQmgaVHVg">
        <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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_EuropeMember_d14FNsQhBEqSJ-ccwDkKUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_AsiaMember_COpLvZuVL0Kegh20hCJIFA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_E_I5ixiw50uOs3QnD1PkMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_pDi1VqZjH0OqNDZGnPPvNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_avmO5iJrnk2dvNofLnJbpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_AmericaMember_vkFvMoPbokmS4E6dQiAcqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ZA_-YgFz3p-sUOgbhrjldy9RA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_VN_O9q9uO35JkWPi7CeIN9qog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_US_obwjyyWI20m-ie9jxNJOkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TH_o7iSOZFaaUyOuPR6-MXDqQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_PK_kg1qWE1xR06nh35rvWMTzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_NL_4V6S4bw-Vk6BG7Q5qci5Kw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_MX_sjYVxLgwYE2-2wivQ9bj0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_KR_s-mY1aHxq0y_jPzkER6Kuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_JP_J0i7mi7680-SNEt-SRVzLA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_IN_8HBUNAu91kGHNpD9skQ--g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_GB__0X9Jn6aXEqUUUsUnpyWlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_FR_J2YUr7mV5UaY1hWBc1dZUw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ES_z15IRQI69kaBW8OT4y7IyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_DE_LtHima8Y8EWu7VERlRaNcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CZ_9DEo53GbQkCubC064jn0Jw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CY_QHWoCddDXEmY5qy5US4srw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CY</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CN__yjfL-zxs0i3ZF-G-U4yyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CA_Y_7sZhfQJE-zek2UtAat5Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_BR_h_YsQ2mGYES4oD0Suw8umw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AU_t8fS0Ch970qncTfbcB7Q5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AE_FgwyIB6BbU2erbMiYl11cg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_UtRGT9yYcEK3LOZ9qcTI4w">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_l52SeNDL4kCfpGSsK_MIBA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_gltzHARFf0-8RAQrVXEAiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__buqhCfzBEq4nwC7ZlybqA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_N2KxbgY51ECHEiBfa7X29A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_1LVd4QPHDkOCmCY6PJ4XfA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_OCFHpCZGQkOzU-OhL62V3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_FxMWBZ9S-06E6QiEQAsoCQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_CYYxEYxwe0WFH859XsqU8Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_DlOM8CDZMkmeFN4M71aOUA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_epCDBGs1gUGU06ER_5AB9Q">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_3kavcihnPEOS9MW1xFNXKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_SnqdvI77aUio2uP6sv4lfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_AsiaMember_p9DYRhnbUUaEcN2QRprCBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_LfEFSvPEY0SbGruHIe6UCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_E5KDnSPpy0m8jrwPjS5Ogw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_2WEn1xKGe02Y4WoJOtttzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_AmericaMember_K9aecb82RESpJ1KDUEQ_LA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ZA_MyaPGY3R1UWQc9LoIN5Ypg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_VN_lH6vEXweRk-VY70kZNSO2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_US_kcl7GL-cgk2NoUoQfKKeMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_TH_CevHWHCX6EWhibZThSlL1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_PK_p5H5rYm01EK96gO4jbcOMg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_NL_wokvyHKHNk2-cFPOz8DzuA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_MX_n3yUK3QNj02spee39W3QXQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_KR_XdyHYRK8tkCBv8v7TiN5XQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_JP_syVhu28sdkm6570zavXdLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_IN_025A0qQJt0WZlHdFHIncUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_GB_DDsRIq6HtkGXzLTGSuG1yQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_FR__MKZbggBPEi9tNH5b3Mszw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ES_FT6PFbwExUSXEwZgaYGlFg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_DE_69IbvdmTfUyIcQdPjmPXZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CZ_W-4sW9wC7ECstQma09LzlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CY_WQyr5kI250WUzcsEew8xpw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CY</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CN_ffSQq4msWUq2YE6vSSHe9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CA_P1p8fPWAJk-9GI8rGq6a1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_BR_sMYgLjlD006TduaR85q2CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AU_7SAuLRbnHUi5qiB1_pgcoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AE_zmM5XiDgv0O8mDIbrFXu4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_l7TNx2shO0694Z4FOLL2MQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_RjM6SdTi80m47MM-P_rBMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RzhyAfNrqEykhHJI_Ff0-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-01</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RztR_BtH6U2nJivkjpJvRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-01</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_a2_kny-ZgEOjn965789wGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ddLx-L-AiE-seQ4kH9l2tA">
        <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:ElectricGenerationEquipmentMember</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_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_aRGwl5_gLEu_KkmxmQfGNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_DTcWRA7NPkOydiyHSSKmAw">
        <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:ElectricGenerationEquipmentMember</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_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_6EcpkoepsEe8pgQMrxysWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember__y5lntMS9UqAvn-5W61lHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_4sd2jhr1CEOg9hobXiaNQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_kV1zWAeWvEeVEqMZw5mogw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_UoYBzaTdSU-qdqiX4VYRvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_WUmGBvWKMkaBlt8gdsNiFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_z77O0eoBz0-YeUKRFxNMAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_huHdn6rGrES9kDGhkA7zXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_-FM8yzjTPU2U8c69ax-n_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_6HIB3VlG6Em1adFmZxDSUw">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_A8jAP0LWfEOPT25iutk66w">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_e4ksN3XW6UuxGTrGHnRcNg">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dNbDeMD4HkKSp1_pKmfuUQ">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_H6GQ4xmxwEyeecDferH5jA">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KHu_sbSbNEKbY2JngZ0BEw">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_TU3FSqXFvUSMFMMjnpHfaQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_yCA4MEB17E21mkFx-hMCoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_mPxLydfwSUS88XOXKZ-ujA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VGai6N_0CkqgbuFCOW6oFg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_O9B-vl1P30qBieeFTysfIg">
        <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:CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember</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_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_CAOyA5KI50-WJi9PDkIBWg">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ytrnuOWe9k-4pqxQnXLegQ">
        <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:CanadianSolarManufacturingChangshuInc.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_CanadianSolarSunenergyJiaxingCo.LtdMember_kQB-djhflUWo1A_Fv4UBYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_h9l9SUNsf0iCgw7gtS9a0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-05</startDate>
            <endDate>2021-03-05</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_K6UnWxB_YEmH_A-OWTCS4g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_A56AHUScQ0eenbpf51sinQ">
        <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_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_vlmqd1Ta4Ei7OrKojW9nzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_GrantMember_XEb9CBo4nUqOn31P8X7STg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_jxXOkndr90K_G60fa4kK9Q">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__Ap7ax5W7EK88lAOqwFluQ">
        <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="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__KR_9vw_uEyqcZL6VwQ73A">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_choycYnP-k-7cxsVxR1z0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:SeriesOfIndividuallyImmaterialCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_vYuCIls3x06juvq0UpbAgQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_TH_pL_mtBZ17kObDk71r0912Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_MX_-B0524S91U2e_xI_KptfDA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_JP_5TgPNpsLWEqwtV7kFtrNNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CN_Vv9ECZXhBUqVSqaiYdNv7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CA_16gKn3wFiUGP98TbNxlINw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BR_xqu7C1q3nUGlt1e8bzYhQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AU_sq20Djqv0UK02ctkHcDcpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AR_mOizzBcYDUeY7_Sw4QH0mA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_hPStx7B-oUqpOt-829sB_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:SeriesOfIndividuallyImmaterialCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_US_DFdlzqFh9k2WxcLG2vckyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_TH_C5t0OHERH06MxOiv9qX_Bw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_MX_FNReTwoNKkWtT6lsA2Ct2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_JP_LVfByFK54UuYea7EzoYHpw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_CN_xD--h0hBtEWjZeXt1dVZaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_CA_fsiivO6aTUyasL-XrVoDeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_BR_ncq-bwAny0C3movTaO2GWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_AU_Pv54haYrZEOOOcGrymBAtg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_AR_IBPjEDW7yk-ehceVg8LGYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_OwnershipAxis_csiq_CanadianSolarMember_qOH3oMlSzkKECsf4ZCOzog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CanadianSolarMember_uLKXVXzo7EyPhuOKasog9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Lc2hbF38FkKdvj0BErOFiA">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_HWID1THM1EGllC3oajhKGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_On1nXgaKx06eXWTe8-NyXQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:HorusSolarS.a.DeCapitalVariableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_-zJWEog1M0yehDRrYOL62Q">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_vPdJhM_tVUW-1_7r-ycEpw">
        <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:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-31</instant>
        </period>
    </context>
    <context id="As_Of_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_DRVkejT-HUqvBMMQ3fNAIQ">
        <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:CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_zOFbBprUrUGY8rwoWeAq9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_BtAWqe6MiESMmXXMetgJ-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_l6A5P82JtEe3WfB_SRTpkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:WorkingCapitalFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_uy2tDu5PRkOToO2aOQy84w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_Mu9HX167IU2niK97OnGCeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_2kQ-mKKmTke2K6A9v1gyYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:WorkingCapitalFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_YhZlUnWfVESR2FRwiMXvHg">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_g9thuX8JTE6AThgixMUOjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_gXpW8PxfJkO1h1L-CEJJUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_W3nlEBCVNk-ip0Je6xKdbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_fvuMNystbkm54xuEPrXFbQ">
        <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:UseRightsMember</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_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_isxfdeEcvUyoIh4HbkYtfg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_oKqpTsuAeUSlSEhOGPyIKA">
        <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:UseRightsMember</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_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_fR0lrTcZD0qmDZrKdg6OMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_cmfqGEnIBkmpZXBiPOJG5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_awYlA3Z1R0Ov3l257vb9Zg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_kl32AtrNhUqJBbWIHcfnnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_zawpYAh-P0-PmyHGn0d09w">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AmmuiOtJ3kG2WVH-TKc70Q">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_zXU4iMNy1UyqZInwrQRxow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_-DEh7xZa1kSPfVao5fo6wA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JVHkhMNPkUSeo8Snu_VgsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_Jop9wKV2nUWA13cAO31NKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroIRenewableEnergyS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_q41oDN9fPkSm17kfZYv6bA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_VhH9XirZJkyfoLzJaJm5xw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_9xSPrZGqtE-xVn0RHd2AUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_pBiMMYTmDU22N895wwtESA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_YXmKrmgltUCvnp2haUAW6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_FO_z5VqmBE-vN_DhG_eM-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_Rn8Ovx5w7kCM45SUAXks4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_7GEjb6I4nUmUf288tBIYEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JushengSuzhouSolarTechCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_P7aBSBn9f0GA3-hrPD7sTQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_jjjBXuIm1k6Jpt9u44w4cw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JushengSuzhouSolarTechCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_dmVGokYJwES-hEnT1rV3HQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_DPNQNTQZi0-K9xkRAMdfcg">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_j3iyoVICHEO0fNLF37P4OQ">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavrasSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_M_SsCt1A_UGLgDWI8TmNjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_a0QTEi6hekeHPuw_3-Hd7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1kXLRU8usUyF-Wud3dkXKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_0hIAHSGJc06TGUtE91Kr5Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_beIHe0YC5E2IwM2Q1js5pQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_7n6qXdFcG0edKu-LHefTHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sB54lBUBbk-0JrNATsIbYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_W9Lufsae7ESRBkF5t872yA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_dh51yB4xQE-qrGALjQD36A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_hy9LXXCss0-n-dN8aTEwDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_azeMWygeSkGGFmhr2WCjtw">
        <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_Uk6nWU03SUOyPZ-gAbXG5Q">
        <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_aJa7efIEBE6XFgrNQRpckA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZdZrkK_bNUa_lD63ryM5qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_4E73SSWE6EaMoTQfEqHSAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_pOy0KZxhJUijWIhxYXMWVQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_llairrzg9kqdJwN6tyAMYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_2C8fcSjMSkSPPe9hew5OTw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_2Hv_NQbIEk-OzvRXFu7rTg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_k5FdJZJTQE6R9o9Ez-V4-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tOPsYRzvuku7j6hgsPIKVQ">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_z6oG1VEGYke7c-PjvMSzdQ">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ylpZg90LHk2zZiR3H2XEPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_hf5NGKDBpk2DJoKbVbsXEQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7C7tlO2W6k-xf2WTdGPQ-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_4FWVVmlT5UuA0CAFPFqgBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_-JW98uUv70qHAwAPzcN8SQ">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_aXaYQ-GGW0CxRUjHUbg8fA">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_kLzxw1pQMkmxx6Li_rtfTw">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_b3l8cSbYEU6Vh4Z9XdPP9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RRMsT1YOEUK0V4sv2xF34A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_lHr8ufMChECO4U9Jus6uiA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_3GXLY-8k50SIHiuXb19lQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_tItpqhiGNku2EFLZ-L5B_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_BIXrp1saoE6tItdXhzte-w">
        <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_hqXUcsguAUGtuMeOGEU0Fg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_qPVLDnfmBUeHudH6xqb48g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_wTn2tvhBNkWzDJdK2D085Q">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_kD5xv81kAkevPJ7hC9Kz4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202004Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember_jSU1pJ5frka_aeStj9NjTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202004Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="Duration_8_1_2021_To_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bLUGEiEC3U6MotjtmLk4ew">
        <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:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-08-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_aUfnUcGUyUKE224FJqeGwA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_PyKnPSYlJ0OgZupPPItelQ">
        <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_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_HMemPwh2dUC1uU3BDI5_qQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-11-30</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_DghxPgZC3U2aDHINY81HdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_sRfPiB6HOUea9322YBIc8A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_CQz9aYoigUOXY2YQfiJLQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_Yp0h0VLO1kyhPd2laRNnXw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:AzumaKofujiDaiichiHatsudenshoG.k.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-28</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_QnJcDuRnN0qQ4mshUIcLxQ">
        <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_Lk33d0wmkUOf604JayASmA">
        <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_thnJXXgtjUKzYqPbUNTzoQ">
        <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_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w">
        <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_JkRKHAFxjkaQOtdb47DL4g">
        <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_JP_Bp73lXxPp0KE4ondMp-wZg">
        <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_CbqdABqQtUu35QBcOh8nrA">
        <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_aibNVaUiY0aiy309eLSR_Q">
        <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_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_2CrNmrFwa0W-9cI04555vw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_y7rdLKDMzUWWV9BCmLWXnA">
        <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_B0s766eFTkO3q-LoZL14Rw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_FO5MJcP4O0GDffwYtuZ2NA">
        <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-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_i_8gtFGcD0ixbpZCGc_LGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</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_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_UYQZdkvKbE6nysGhvjMsZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</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_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_disP1NReJE60KKYXewwHrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_hGJzyZAl1EyArdM16LuAZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_g27esvantEmJMcwiOmQJlQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_96rt145tuku5BCo-ttooCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hocUE_CKR0-8Kn9OLxkuhA">
        <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_zHNZ8v0ba0CRcLslWy2xSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cMIz4rA9TU2JOchZShgAzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_vsFrU3n1oUWFZFVF98mncQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ZwWUeo1uYEa046CeJ5XdKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_5Q6sXUhYekmYmO6DNCd4cQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_Ev3jp0kuv0eRIQPS0pGq0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarEmployeesMember</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_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_wusFvHH9RkmWQDwNEa0H-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_QM-PwdE6rUCTWMZNnOhN0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_98hftRRMOkChq2Wao8Nmbw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Dn26cC9s_UuMJ1xEJrGk4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_4T_NCYEy5UybEiqn8Q0tPw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_bf7Q7pXEPEC5G2Zs8iTang">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_HpSRES9v6Eq5rxIfbUS_MA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_e0_G-9mSx0ebqaJdY_0Knw">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Q4VpPoQ9bUygy0-qu8hMsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jJzZxlUtbkK06QdhQvx-eQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9heE3Xy2TUWrHfIcrVsU1g">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_J_1YYATexU2mCgsmLZ-G3g">
        <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>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_AllowanceForAdvancesToSuppliersMember_SXh7c36LUU6pmxQDXofBiQ">
        <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>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_ij3rWr6yvUiHPpuavngDfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_W_fJ8AvjlEGpNIoLk_ydbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_RyGOuak2hUG2Vk9Wwaw2Hw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_sY12ZlW3GUuVNWRhjtCJ2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierCMember_DRYi3nBre02_MxOTX0njxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierBMember_sDODvgHt50W6Uypj93Fo6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_4a8GjbskAUyY7X6coVBiGA">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ">
        <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_ohPEQsVfAUKj5tlbi8vHRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_BB0jA9ShtUWzt2hZf5lgeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TVcCP7v8-0WN-njQoNHJpQ">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_4dMixeIV0k2MxTCQ_xANYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ukvolv_-z0-rusmhvRXrBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_hmfRew07WEWAEfUcnYMpLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_8qBCfaIMt02j9DdASJvJwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg">
        <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_AllowanceForOtherReceivablesMember_QueGe8e5EEGlINdWVqJp6A">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BM0VLg1Dgky_h60ZAGRnyQ">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</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_NL0LmfYfqkiZV1IATUfOyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_DDvJyNTjwUymyvPm2FEHmQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_9y9FZLXcVEysruByGFEoZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <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_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Iof7ixIH206pnDUM37XZOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_rmZFTOhOLUm4_ylu-LxAfA">
        <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_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x3ozolcCaky22YAYuHQBBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_x4H_mnzlN0yVZF2ueX4mrQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_D-h256mGCUeWbYfDZB3eYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-C2tmKDmH02lpXkXqpKMzA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_3KvATZByD0qH5-DH83BCSw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_TeVEUvCXQUSWU6WK7q2iEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_11_30_2023__tY0T467tUiQCpIpuxU5lA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_RF-Ll5VBzku100Bzq0cPKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:OtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_tFDCQkmzn06EILalpnxGNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:OtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_OX69uvUvgEeRUX95Lq8__Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_3kWoO7oXNESnMI9VcRKVWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_vF3dX8aG10S00S82cjWQZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_tN6QA7tF-Ee1plzQX-LjGA">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_qq6RWunVjUGoxXVpQJnlzg">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_RTTvZip9J0CqODHRumDZWQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BifacialModuleAndDoubleGlassModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2009-05-31</startDate>
            <endDate>2009-05-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_qszmqmVASUqm3TyrG99g5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_msGwISC8g0mhJoxNV27H5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZnTfdOios0yc36OAiM-GpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ICk9WQ5oxkqGuH3smD0YnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_tNIQz0WB60iZW9nWEmc0Gw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vRfS3XBzHEGsNMx9irKSfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_3yDVwDhOBkKcKdcPGe8AVQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_9j2lvICjj0urOFn22UNdZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:VN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_GTbDK5MgXESCwt9YN-gcbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_czqor8-loU-G_U5pdxyy1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_dRZAO1sV20S4WkUQ88cB1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zL5NfHVEEU-YC8MaoZhUnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zAg4m3NL5EOix_5aNdOQIw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA">
        <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>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_RdB8_mX8I0aRThF6LoZEMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetyThreeInitialPowerCapacityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_ERgYShn35EirU9mKfM7MTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetySevenPercentInitialPowerCapacityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_Ec21EHB2RU-MwsuUQ_ExbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:EightyPercentInitialPowerCapacityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_fpPmUFuuzEeHCLqzq0AOgQ">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_UZMRejQrk0uYZLlw1I1EOA">
        <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-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_yeL6uPWqSEeLdkCTaaFyiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PVROSTaWdEqqi7Cswhmi5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-05</instant>
        </period>
    </context>
    <context id="As_Of_9_5_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_859O9c9_LUqZ6m1wYcPFjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-09-05</instant>
        </period>
    </context>
    <context id="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_p0KXTUKynUC9yPKkGU_G9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-10-26</instant>
        </period>
    </context>
    <context id="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_IPOMember_EtcHhHkAzkKCJrGDDM9deA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-10-26</instant>
        </period>
    </context>
    <context id="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_PrQ9s49HoUuMYOhDU8gRoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_QPXBOu5fkUaxFeGjzZH6sQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FEMhfvtnmEmeODvi6CHTEA">
        <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_4_1_2021_To_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_NcheskuvekWV2WdPDcctKw">
        <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:CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_i488skE_xEmAisD_7I1pfQ">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_v3HEqwcoVEanEqlajCmjtg">
        <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_M1sdGG3FFEqvfpT9WGyf-A">
        <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_XEVHaMJlRUeCkD-fWxHyDQ">
        <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_tgyoirmWtk-Yzh2d7Dx-iQ">
        <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_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_1erpeQTVM0mH9pZ0_UovNg">
        <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_k-LN7EUcf06SYFU0AvTvsA">
        <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_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_tB_cCzPJ3U27dGCGFNeWRQ">
        <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_12_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_JMK5gHEv-kqfMl0sybmDmg">
        <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-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_RD6usPMsok-LgQvQDkbiOw">
        <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_uXCklUTuz0KRwgJp4_zFyQ">
        <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_iV0GKhDQ50WpZTdhDC5qHg">
        <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_83EddPiNb0KeWAB2PIyNUw">
        <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_kl9R2V6Ok0WmHZbWd8-jYA">
        <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_GeGE9Rl5X0-C0YSi5EM00g">
        <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_77OFDK5PyE2HC-7XNQ3LYw">
        <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_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_dyLRn9cGgkSDOgUwq4l0ug">
        <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_YH0a47-rO0GI9viQdlNIbw">
        <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_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_B3drILgsUUiZB2zJ05mwzQ">
        <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_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_sNmkbdiWWEKZWa3LyMN7RA">
        <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_veaxoUMR6k6Y6UJhpOtoAQ">
        <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_4Z2WfiCUzUmLFSmFx2XyZA">
        <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_tUmxDeaXcUa0_Td237Uj_Q">
        <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_XMD9znkGZE-2pYtGa7zCiA">
        <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_gfLuiJznQky21NGFTqFCGQ">
        <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_aDTQ3qXSTUKEk-1QTSVKVw">
        <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_4Ep0SzwFZkG1QF4qZA1vAw">
        <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_yrxXnv6ioES4wTpVfho81w">
        <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_5y3IE6XXnkqcDTIa2Mt_aw">
        <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_EZtvWLvCH0yqRvvYbsMGtQ">
        <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_HEaQkQL2nUuMsEkKLQKTjQ">
        <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_H-0yy-o1K0uK3isCGzVm2g">
        <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_1_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_oW8tlBjnc06Z1L7u5MJu5w">
        <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-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_YD91rwU1YEqq9SKaMxiVOg">
        <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_buK8SSWF90y6uBuwvEEMiw">
        <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_hA29IY2fZE26Ymmp8BaF8w">
        <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_ntafGUPF5kq4fQZeHZR9Wg">
        <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_w1r4RtFROE2L6zlFtM_lbg">
        <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_oXiRkKYQt0eXgub5HqA3eg">
        <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_t0SpRdeuQES6fNeXz7nE0A">
        <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_HJB61ojXhEmaKUcPG0tCpw">
        <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_r56JCLFno0mrwTuThxCe_g">
        <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_ZtSglFbby0u-42xoXxYVXA">
        <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_aXD9_33fcE6XHGyiQv0jMw">
        <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_3y68_iezHk-3_3ekb3vDpw">
        <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_fJntDOic5kyMSpGDy4Falw">
        <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_0U4IKU64J0WTHuQOm7DLKQ">
        <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_iyVAkjPf20SvecMiq2r4dw">
        <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_QUs7y4anYkGNI-P-v32Pxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2012-11-30</startDate>
            <endDate>2012-11-30</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA">
        <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_-WSKZ97mxEeMfwBA7EOaSQ">
        <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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_h9VfsIsTT0SP5VsfIckMCw">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_dsxCKPJzZE-OeR3xGjFvdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_10S7_yXU_U2d9vSAEUFtfw">
        <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_u4ewgYH0BE2Wq1uPmMJI4w">
        <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_90a37v7dmkecjda4XpxLpw">
        <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_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pb_m7XcgckioBDX9qMhLHQ">
        <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_sT_wZDSuDEmx4AhA9puF8g">
        <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_I_hTj64L206pRLv-Ckzwfw">
        <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_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zBDEvqqtLUCLq3e4B-MWvQ">
        <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:CanadianSolarEnergyAcquisitionCo.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_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_skUu6z-cqkWCpsARnuNTcw">
        <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_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_CGiVcTmlfk65XL9sEuGeJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_cUe_nDpciUajswTjUtFLvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_kHG1_D5IVEGRIaTcl-Az4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_FG_WhmnkckSXzhsDuquQKw">
        <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:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_8wnU3WkfsESCuIr0MZFQ4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_cYpYM63dL0-Xjy1PhCfLkw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_6GQGH0x61E6qqcBodyAe8Q">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_9ZS48Y7kskWdsocvERooUA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_JAEK0QVSQkqd4axxHbZBsQ">
        <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:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_irOQK5ye9kCbxUMINrw3bA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_LN_u_am-AUu6UKaJ1mjUvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2016_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_fLoXV8FNc0mrp65mOByRgg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:VN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_djZgLka68EilGq2UylzGDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</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_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_yEkSdsHwrkGvZ2U009rdiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiCellsCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchangCoLtdMember</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_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_6XAyIwHVx0CvXe7hoc9sAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</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_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_5NfNTPDEdEyYMxTCiyQmsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchangCoLtdMember</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_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_NgDk0xAAPEWrdShd8yHuIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_bZ3OUS7aTEKOi3hgmjSecQ">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_k_rsqBR470aFy23qbWlHyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_HxVhzGxNi0K3W9tmJpy6Mw">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_I7GFRMg3CkmpUa04YRiLkg">
        <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>2020-07-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_QewE84cjEUq0inbSJlh9Wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_6_30_2020_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_bsz1DT4brk6DN5zvX7cU0Q">
        <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>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_dRHthf-xNkehrkhUto-76Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_0xmc3gQZ9Uu8zeFyiRe9zg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_fQyfCMvPBEKvSyDTy2ck1w">
        <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_f1gDpC_tKUSv8JwJEFsADQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_RllKoaVR-UaCItjksEPnNg">
        <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_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_c5usO8WML0SuBgfm2wCpcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ysFsDqf0TUa393F1bFQMow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_ffqGOHYbFEO3lmbyWzY08g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_aDAFYcJcC060ov2KS-jGbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-16</startDate>
            <endDate>2020-09-16</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_GBCPyE9sVUa3iGvXMTJFhA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_X43EbEm7qEScbvhbxzRvhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_QSSPj3Od906zLM2S_hheuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2010_To_9_30_2010_aDjHad5NhkKa41D5WWigvg">
        <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_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_5nMu5JmPPEGyXPr53dPdTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_M3hmQbgtcECe-E6VsdKttA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YtP8-VOPtE-XDf6Ux3KVQA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA">
        <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="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_BqGJfzSJp0S8t-SIU8qo0w">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A">
        <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_R76ptFo6AU-TJ6jI3aM-1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <unit id="Unit_Standard_D_AKaH3pVAHUCsfp7wE-X4MA">
        <measure>csiq:D</measure>
    </unit>
    <unit id="Unit_Standard_THB_gtUN5SeDzE-Mb6_3THBBTQ">
        <measure>iso4217:THB</measure>
    </unit>
    <unit id="Unit_Standard_AUD_aYlja-s--0aCbuIQJhwE5A">
        <measure>iso4217:AUD</measure>
    </unit>
    <unit id="Unit_Standard_segment_NAiIxuXylEqsd465xrxefg">
        <measure>csiq:segment</measure>
    </unit>
    <unit id="Unit_Standard_ZAR_rcQw20Gy9Em_eji0n-H-MA">
        <measure>iso4217:ZAR</measure>
    </unit>
    <unit id="Unit_Divide_JPY_shares_98G2KJ8ZqkGANWGgBqIkfg">
        <divide>
            <unitNumerator>
                <measure>iso4217:JPY</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw">
        <measure>csiq:item</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_Institution_wep2g2lCNUqkNn8TlaitpQ">
        <measure>csiq:Institution</measure>
    </unit>
    <unit id="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">
        <measure>iso4217:CNY</measure>
    </unit>
    <unit id="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">
        <measure>iso4217:JPY</measure>
    </unit>
    <unit id="Unit_Standard_BRL_Do1ENKwgw0SkuRPbv1VTDA">
        <measure>iso4217:BRL</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      id="Hidden_zww4TAs6OEyiOwRiTgyI_w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      id="Hidden_K3XoJX5gMka1mTB59x0vtA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tc_Kq_iotwbzkymnXsv64CSyA_2_1">0001375877</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tc_Mr0b3n0gf0y5kSRIW_huHQ_4_1">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tc_64C4SqyURUGN6PDivH5QfQ_5_1">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tc_1DzwDlvAhUKxekXdvEI10Q_6_1">true</dei:AmendmentFlag>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      id="Hidden_ncmtLQ21g0i0Arsak-vouA">http://fasb.org/us-gaap/2022#OtherLiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      id="Hidden_VDAI33rdrkq8RnhfP8kqmw">http://fasb.org/us-gaap/2022#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="INF"
      id="Hidden_sZdLkM1Z00-00trEJjGt0Q"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">64022678</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="INF"
      id="Hidden_H4-bMIJmJUqusAGdH7D2RA"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59820384</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      id="Hidden_HBHGmGHHfEuos-2dVi7JDg">http://fasb.org/us-gaap/2022#OtherLiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      id="Hidden_MtGyIV6DrU6RTTlWhUYIsw">http://fasb.org/us-gaap/2022#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_VhH9XirZJkyfoLzJaJm5xw"
      decimals="2"
      id="Hidden_Jr39bvl8CE2bMzeF44OEAw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_pBiMMYTmDU22N895wwtESA"
      decimals="2"
      id="Hidden_Pyyjx1zI8kO4D61SSBFmuQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_YXmKrmgltUCvnp2haUAW6A"
      decimals="2"
      id="Hidden_s6guRBZwY0a5JU31YszosA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_cR7FQksyA0-o3dL-8YbZXA"
      decimals="2"
      id="Hidden_Ey00aiZep0GXxJPNhu1HBQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_2T2etnnrVE2LqeixSu0euQ"
      decimals="2"
      id="Hidden_4sM7dC303U-rDLJPitklYw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_AFwb896X3EeF1nreEDKDdg"
      decimals="2"
      id="Hidden_2SBtbUuh90KAl6S4tIVWFg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_5y5ULIA4DkCdkOMAuAiFEw"
      decimals="2"
      id="Hidden_uZRAdK2de0yrx7QzcsLRbg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_J_30WxZ97UO_v2deVXT7Bg"
      decimals="2"
      id="Hidden_V4XzS5gLHEWS80P7cJ0Xug"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_DDp1zaQ110-EovbwyGqUjQ"
      decimals="2"
      id="Hidden_2xtSB5FnAUCY7QAo-o34YA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_lSlebNmusUOATx0pjkIxSg"
      decimals="2"
      id="Hidden_bbbGH3k4I0mssVfGb6vGxw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_PsgHX_YooEef3UvnVoTcuA"
      decimals="2"
      id="Hidden_VF6GP2lX5EyCxofIsyy3Yg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_CjiNgghbrkKIbzZi4WPyoQ"
      decimals="2"
      id="Hidden_SyseSaG11UeZvOMJVZ1gwQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_5FavrH0kqEWnICagYp434A"
      decimals="2"
      id="Hidden_9AmCOjSZzES-jsrRU1jZDg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_jPFf4pKpe0eTbOGrV41MoQ"
      decimals="2"
      id="Hidden_VErkGVmC20aIsFVi88JVNA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Z33jNDUCPk6_j20WJv2ufw"
      id="Hidden_tRh4ksMz2UOesLNzdD09kQ">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_jp9sPweq4ESjrX-EOOIvYg"
      decimals="2"
      id="Hidden_Lf8efQ4fgkqF2AE8deQC3Q"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="INF"
      id="Hidden_fOZ4Qa-tVkW-SzzhdVKrPg"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59820384</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="INF"
      id="Hidden_07SkRc04MEW6zu9Uni0FdA"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">64022678</us-gaap:CommonStockSharesOutstanding>
    <dei:DocumentType
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_nNWC4D79EU6E6gckDD4aSg">20-F/A</dei:DocumentType>
    <dei:AmendmentDescription
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_c1AmApjW40mfey4_VQPRGg">Amendment No. 1</dei:AmendmentDescription>
    <dei:DocumentRegistrationStatement
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_RRcPsGy4zkqT3TW5_1f1_A">false</dei:DocumentRegistrationStatement>
    <dei:DocumentAnnualReport
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_kMd2-51D30SwdzXMCbbwFA">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_si1xhDX8DEqB6LTdlt82VQ">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_J7JRg11enkGtL2hzo-nkRA">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_fi2g6hjvlUSt2kTrVQ1kTw">false</dei:DocumentTransitionReport>
    <dei:DocumentShellCompanyReport
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_Zlz2iJPdkkWabEVIU0NeNw">false</dei:DocumentShellCompanyReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_oZJItixt006Vdr0Q18S2kg">001-33107</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_gd8FARIA-ESp7EejGocdKg">CANADIAN SOLAR&#160;INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_-YGEhZ6tDkyZ0UDK1Te4hw">A1</dei:EntityIncorporationStateCountryCode>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_UvZuelDf4UyRUxBSAtA-ZQ">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_AoLQ6VFvV068JEZFhFjveQ">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_QBhC4ltEikeRzeenKqnEYg">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_qIVLynBC-Uy-dvlH4IGNPA">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:ContactPersonnelName
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg"
      id="Narr_3dwmPiRm-UqfceI2SBKIGw">Huifeng Chang</dei:ContactPersonnelName>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg"
      id="Narr_qy8Tyymq2kObNnMlf_a6IQ">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg"
      id="Narr_Iw7BT7LQQEikeWsiPsddqw">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg"
      id="Narr_6H0j1VesgkGOsCBhJi-sUQ">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg"
      id="Narr_rKBsLm1voUa-fCo3owIhAw">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg"
      id="Narr_9uYNA3afWE2JuzswGgfCfA">1-519</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_Qk9i-gb4s0yi27dy1l8BNg"
      id="Narr_JVTQJtD0UUu3GvEF2vrkmQ">837-1881</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tc_1wapP6Ckqkm4_LeQImE8tQ_2_0">Common shares with no par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tc_xwFMtbox70a5f4_Iv3x2TQ_2_2">CSIQ</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_iYOITrcVxEqrA5BPtzvH9Q">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="INF"
      id="Narr_1lLQ6PmaQ0uTzxnWvtyKAA"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">64022678</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_aZZWR2oIME6WvX5qbxn0NQ">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_-19F-t_lk0CdCiXWqLl6Uw">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_wt4equT6Q0mIkCOMH-JUwg">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_1OyshqaZN02fgQVd-dPAeQ">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_k9GciV-4U0-Yvak8j6MZkw">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tc_liw1nmiwyEWRlZUfYR6g5g_2_5">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_Ag2cXQ4aPEeAkvwl9cfJlQ">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentAccountingStandard
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_7fGP8CpgkEeYVTgaXxeXhQ">U.S. GAAP</dei:DocumentAccountingStandard>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_kLDIfxPWqkSZ70NIQXwj8A">false</dei:EntityShellCompany>
    <dei:AuditorFirmId
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_tmUFrjNPxE69SLWCA8n4Ow">1113</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_jcMYMOdgxECQxc-Rv2hoiw">Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_ipW2WkYsxk2xk9oPgP2AsA">Shanghai China</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_HLhG30TWYEmCyOcjpJIS9g_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1178752000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_cSyD_7c8xkebwLz8wi6Yuw_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">869831000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_u9refGHjuEiISz_AM0wqFA_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">458334000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_VVrF72VvnkOzyzKnyso3qQ_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">560633000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_xhkT5uqctUS6-bbjtq3z1g"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">40293000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr__DRA0RkuIEuwXt4XGa3NLg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47126000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_S7dqvT6iF0mqqCiUUwgs4A_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">408958000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_omvOj3PHmkCQYY3FYd845A_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">651372000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_2a75o8qNaUOtki5xEc4eBQ_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28461000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_qwA8I6cylUmR4QHTkTZOCQ_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">37244000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_4gQX47hzyUC_6iiqj0SmhQ_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5834000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_KmyuhDHAkkyX2xyvAJLt_Q_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">73042000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_Z3CvBDWgEE2C-D-E5NNXeQ_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">695981000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_F9dCMKUW_kCj-rZMcw8kCA_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1192374000</us-gaap:InventoryNet>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_kVUqV_lnbEizgDlOWXI8aQ_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">102460000</us-gaap:ValueAddedTaxReceivableCurrent>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_5qyi_gzqRU6aeCnUARAqrA_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">125882000</us-gaap:ValueAddedTaxReceivableCurrent>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_syP9BlM87U-g2bc4lMIfNw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5845000</csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_KAhZF85oBk-_LFId2lRJfw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5822000</csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_huULX7gy5Ue2GFZUsrfRxA_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">182146000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ox8wpvqMOUS1gwhOEnu-3g_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">225879000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_qW80TTrOGkOd8HCecpkF8g_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23351000</us-gaap:DerivativeAssetsCurrent>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_win6VUrX4k2jB9O3GQ7dJA_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7286000</us-gaap:DerivativeAssetsCurrent>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_qyrSR8AxkkWg2tMtJx6oIg_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">747764000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_0C1P2XumqUSQHm2pFG2ICQ_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">594107000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_IEYLTt48XE2VBeirlTyiVQ_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">353781000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ZuVOZBzNFkWM7NJSlAVdAw_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">434177000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_eFFsn2x6-0-D3GeNsjsw8A_19_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4185822000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Yi2wHXW0AEO-gksFe1bUOA_19_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4771827000</us-gaap:AssetsCurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_eNI8JJnF0kCH6vuOhS_fVQ_20_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2629000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc__UgftbEuiUmqCJnG950Inw_20_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3818000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_6-OLI62jKEiXY2L4qxbcng_21_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1157731000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_qs09y5yFDE60gyAouEIHPg_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1401877000</us-gaap:PropertyPlantAndEquipmentNet>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_zAVKhPFaQEevjYIoy7vRFw_22_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">158262000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_fAffvLJn1ky0ncUArFg14A_22_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">108263000</csiq:SolarPowerSystems>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_C16wEGgZbEGs2ln9lV4tAA_23_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">170656000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_opaPipknpEKCy6xRVBV_WQ_23_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">236503000</us-gaap:DeferredIncomeTaxAssetsNet>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_PEPvD1J8MUu6sZjL6jpePQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13855000</csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_L1o8fyVSH0CnPXp9W7bNrQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13860000</csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_axqnMdc66EuXu02KGMssog_24_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">97173000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_H5CXMPvUc0il3w2Kq5Ic9g_24_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">34239000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <us-gaap:PrepaidExpenseNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_7m10RUaOl0ioka7POTYcLQ_25_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">62414000</us-gaap:PrepaidExpenseNoncurrent>
    <us-gaap:PrepaidExpenseNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_quty_MY76UKsOh2aVVhEDQ_25_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">71011000</us-gaap:PrepaidExpenseNoncurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_qB18aQSfvkybiQ4OGApsfQ_26_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">78291000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_RXKInpmBvkSVtTZfZ_3AqA_26_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">98819000</us-gaap:EquityMethodInvestments>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_sv8RICuhIUqlFQ1ko98Exg_27_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22429000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_md9Co1aR70Oef32J5GkERg_27_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18992000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_DHrv95s_Ok-yHPpFY8V3BQ_28_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">389702000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ns6NV6zUFkms38CuTUS-2A_28_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">433254000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_4uq2PQWvj0-vmxMn4sp1Tw_29_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">26793000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_NO5p45zvnE2J0q7TmwhmkA_29_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35286000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_3rQ6XgkuYECUuH6K0vSe1g_30_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">184952000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_6Wz0usP6qUGB0ZbPyIBEpg_30_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">174453000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_q0gLGZVFVEO3tFxr66dRtw_31_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6536854000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_hNS7Sq9l3Uuby7RphfHo6g_31_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7388342000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_2aLbvMl8JEWc1gZFLNoEyQ_35_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1202285000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_mtAPw9gv8EeHiAcgF_ndhA_35_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1271215000</us-gaap:ShortTermBorrowings>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_AiGru3nTrU2gWbR2tqvstg_36_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">198794000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_8fl1gXYVQES2W3sz1f_vTg_36_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">321655000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_JWT7Bvard0CrNTSlMF5IpA_37_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">514742000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_jFcGIPP1x0iv7tpHFvaRmw_37_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">502995000</us-gaap:AccountsPayableTradeCurrent>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_9YnN1XHo90ioNA13GIGMig_38_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">710636000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_tBMGfT0TdEWycTAzo9-rTA_38_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">881184000</csiq:ShortTermNotesPayable>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_BGUFzHoEokC7i4awITIs-Q_39_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">314000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ZrxdVgJzlEWBaiaJ5DhlJg_39_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">143000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_qV87L-KJQ0G_81uefkWCew_40_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">508839000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_yZG4acs4Qk2e5mcTwrKsYQ_40_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">667854000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_4KZzEinlzkKDf1YG45Ilng_41_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">189470000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_jeme5jcGaE6ZB2U6ky6cjg_41_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">135512000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_dJNIKw38KU6eZkdBp1nbVg_42_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10755000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_nppl0E801U2lz5e4Jzpzuw_42_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2622000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_Z50e_QJmx0u7P3hpABNojg_43_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15204000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_GtiAOHYbZ0iUDJ3WaYivZw_43_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12185000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_EFy7ttaYokSfIYKCVYWd-A_44_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">237316000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_0Chwe3qEm0CkbzyGRYW0_w_44_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">242783000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_xlmYyKgVSEqzks2Zuz1sLA_45_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3588355000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_5pN0lAc5bU-wRZS3I70DCA_45_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4038148000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_SNP3t607DE-Nx7HZMrr6xQ_46_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">37732000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_6mGHc0BW-EaPdZn7_JLriA_46_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45146000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_vEseJV95s0WK5oNRKJk9kg_47_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">446090000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_HqoMMI6-0kiPuyBe5faaLQ_47_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">523634000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_i369D9O1mEOiR8Gi8HsMeA_48_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">223214000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_vOEQB8DMekWqSaZzMj4RRA_48_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224675000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_k_upIMCFk0CbkVLWjAsXoA_49_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14729000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_9SUX-IkORUaS8vuRXRHu_g_49_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7448000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_aNHws9hf-kmRU6-EBr1eiw_50_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">49080000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_EjIwb4mH30GyjhtlG8zSTA_50_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">48150000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_tiepji-vnUq4LHAA5THpFw_51_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">26458000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Vf0Q5PnmP0Sc9DK5z6aN8w_51_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15148000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_VuXgtrjM0EeFyEdybiH3iw_52_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13232000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_exeZsqyMDEKcZjF1s_o7Rw_52_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23215000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <csiq:FinancingLiabilitiesNonCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_IGemgjJzq0at366Y9c9RpA_53_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">81871000</csiq:FinancingLiabilitiesNonCurrent>
    <csiq:FinancingLiabilitiesNonCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_8kRWCxT4ekeg8EfhrmW6_Q_53_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">53641000</csiq:FinancingLiabilitiesNonCurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_v-R2zKzP9ESE_ySHU58huQ_54_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">163308000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_dFq_qUPpuU2L4ZBS9GQvbA_54_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">282699000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_esNuL2mne06bPFdgiOnFGQ_55_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4644069000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_COA6aKEiSk-2nxc1eDkdRQ_55_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5261904000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="INF"
      id="Narr_ElV8flDoZ0iTpureoc_D0Q"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="INF"
      id="Narr_yhjXFg-m-062gDl8fKP6Lg"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="INF"
      id="Narr_iT0vZ07enUa00vcEmmSFHg"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59820384</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="INF"
      id="Narr_ugoUG-8RUkWaDz8xKWz-EQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">64022678</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_0zo5Hi16ZE-d4ZL8G53y4w_58_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">687033000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_IpKWlKUwd02U1ihxBQGEvA_58_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">835543000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_wk3ofhhQs0u1lOs1VMsjnA_59_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-28236000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_XHExMHL-c0e-TFAIfEIGyQ_59_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-19428000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_E_b5PsAB5kydjopZBidfWQ_60_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">940304000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_K156xKKoSEGmwQf58gn4LQ_60_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1035552000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_JV82Sg4mF0qcxYP4tEhcFQ_61_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-28679000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_mXceILLdH0OQywyLhpGsPQ_61_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-50584000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_aL6qbNAheEimxE_Mir5vKA_62_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1570422000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_lS17zdsqK0qh6YxrEok2-A_62_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1801083000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_DAyx4arzE0qjimkhTJMG2Q_63_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">322363000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_eDduiTg7YkW2wlwBKR2RDw_63_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">325355000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_zokQcfN2SUSXs4HoAaX-EA_64_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1892785000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_KJyuYtyHVES00OX-1YyFpg_64_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2126438000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_ep5OWjQsUk2OpnG0RV_ZOg_65_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6536854000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_uwdHIAV0S0aZSeQjTIVGmw_65_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7388342000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_xk45Lr6gW06arI3a6kwqyg_4_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_J0mC_frqQke_W7hujMYrmw_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_99MsAa2RmEaLl8ZLAPt1Dg_4_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_ekFFlO-pO06RFTePyVJUbg_5_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2482086000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_msR6rHaDqEez27luAevpLw_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2786581000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_Yvxkrk-r2k-z_yymqAP0EA_5_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4367857000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_yupA0KCFH0CjLvmkQROn8Q_6_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">718497000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc___i_ih6LlESkOt15MlHxpg_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">689914000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_N1NTtF0Ty06EqBnAwd4W6g_6_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">909312000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_n6k1jPX_QkmJ2yYNbQ7XPQ_8_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">180326000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_hJipQKi8YEiSlG4qR6Akwg_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224243000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_AmNmk7rHREC5L1ul9oR7EA_8_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">398650000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_dS4PSR7e-0-cDJ8VDcFWWg_9_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">242783000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_35wgsm2Rv0GSUevhKMHBXg_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">225597000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_3cHx6ZxRIEKTGYy9aC1KaQ_9_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">308942000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_oos6sY2OBEiB3acVWulaKg_10_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47045000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_yLeqDQYRokaI-UsRB_Hczg_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45167000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_kmQqBxJkCUuN2fSJXId9aQ_10_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">58407000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_qu-cVXwivE65I2bmIIkq1g_11_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10536000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_UXoaub5OwEi7vUzcX0jkDg_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25523000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_Mknqf9D5z0WZj_cA0axPIA_11_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47068000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_XYHxyZ0osk6KOVSegTRIXQ_12_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">459618000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_Rur1YTEiN0a8ydj43LEOsQ_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">469484000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_NjS2haTQc0aC-aMep9sr5w_12_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">718931000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_Pv9eBV_fxkaWdNHlE9e-oQ_13_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">258879000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_ex8t5yHpCk6AI9Kvp3s-_w_13_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">220430000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_0J4C6IZVsE6SvgRpyc3bSA_13_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">190381000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_0FGB_Gecv0G8D4kHzrCbgw_15_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">81326000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_o8KRY0FQC0eoDeKXGeD53Q_15_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">71874000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_kNysGqdVWEOOCkRIUnoB7w_15_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">58153000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_Xmt1lNalaE2uKdZb035d0w_16_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12039000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_4DqAMXKaxEOFl1GhuYXTyg_16_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9306000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_sxYXQd-MXk6GPxQiJJLB-w_16_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11051000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_Y-0r9A-K-UWmuRInZT7IxQ_17_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-22218000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_oyHCggV1LkiFRT1toeB5Kw_17_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50001000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_0P8a1YPwBkK3x2Z2zEup2A_17_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23785000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_ucI16SAgDUKBHcJ5VLprbw_18_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10370000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_ZejndgR1IUiSXeKAulS_Xg_18_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-64820000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_sWKtBjw3a0ucL7El0zAq1g_18_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-47234000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_v7zS9cbkrUu5LKycC3AJ1A_19_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1929000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_w7IAUul410K9vuSwL8qzAQ_19_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-8559000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_03BXvoahOkmdLV-RSoJ50w_19_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18634000</us-gaap:GainLossOnInvestments>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_3uenAe7e00e-ohRMFpD4iw_20_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-79206000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_mUXXkBMPM06MXlsq-yuuNA_20_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-85946000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_WqZAYggw_0-Ajm7EyY56nA_20_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-51917000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_wD5ygrirP0izO0Nf4sh9KA_21_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">179673000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_CNWhzxZcOE-7sFQ0gIPYRA_21_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">134484000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_PNMLvY9FD0ejKW7FzsGncQ_21_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">138464000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_8OmbLpvYy0WWNPsg6l9IqA_22_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42066000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_jpFR5Lntukel9u1_hBhUMQ_22_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1983000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_8xfg-JxgTEqqUUnGNarqzA_22_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35844000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_ZRYnjDaxQEWo6mfbjk3orA_23_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28948000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_zUeWCYn_80-gFgqaBEOvxQ_23_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10779000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_HAnlvuOjA0e9m_H2v_fUuw_23_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7256000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_mAn5c_4Tw0O6ZMhRv0m35g_24_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">166555000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_SbOfUcqY7kKswBBxIN7EiQ_24_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">147246000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_W0seO5fxkkKb0_42vTUyjQ_24_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">109876000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_IsQoW48q706rMBjGONGBjg_25_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5030000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_jPHAvum6wkqUVetAkZ8SXw_25_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">543000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_YJSgHKQCbEqW8zTBYoiTIQ_25_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14628000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_uSUH1YhLV0ezNIOi-fqZew_26_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">171585000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_nyVbNSMDhUa14U_wNrgW3A_26_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">146703000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_tNPcGTGuFk-11wDX4ztFWQ_26_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">95248000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_XXIsOwBj9UaLLpM7ByO1sw_27_3"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">2.88</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_jKtI5r11UE2w88tm1NoPFQ_27_6"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">2.46</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_N5oP1BNfAEOTKHWQrzNjCw_27_9"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">1.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="0"
      id="Tc_Or3L9svTFUO6Pko1P_882g_28_3"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59633855</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="0"
      id="Tc_5lBbQzXR_UiSubGB8XApjQ_28_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59575898</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="0"
      id="Tc_EHKW4pwO8UeSTwBt2BGoiw_28_9"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">61614391</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_zKRN5V2EIkmizULH2cG-yQ_29_3"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">2.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_TR1_72ACp0ywaEE2MX01mQ_29_6"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">2.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_HkPs3G5y-kaDd31qiym3IA_29_9"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">1.46</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="0"
      id="Tc_GrcG8l8CwkeQhhsOiOqACg_30_3"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">60777696</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="0"
      id="Tc_S1PZjI3Hh02VVZjEyDE4sg_30_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">62306819</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="0"
      id="Tc_kNXAvUG9wE2fJBQ7-SynRQ_30_9"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">68872102</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_C3WvxlawX0aZkQ3Ch3_4XQ_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">166555000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_ES3lsn0UnU220U8hlF8yEA_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">147246000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_ThAGdns7G0m0kZ42MdcY4w_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">109876000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="0"
      id="Narr_Clkcaed5Hk6S4OPHoAFPZg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="0"
      id="Narr_3tyttAkYcUCMb30NNxQY_w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="0"
      id="Narr_B6JEeZVYJUm2WB3JisMKFg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_Og2cJLeHWU-N3rV3v0Ce-A_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_zyEijskNIUex-fr2qa7_uw_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">76188000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_aV_YvUpJV0eTQ4MY4NkwBw_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-26296000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_H_o47f2t2kGS6ymeWGyPFA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5847000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_IRrnNDVlDU6C5eoE5IzBPA_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-4115000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_8JZddeUnOEqGknQAwB7OUg_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">59000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_rdZuIef57Uuh3BCeqkcvlw_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10724000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_hikg33CPtkejchTDSr4XYA_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">161027000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_CBfZyPa9CEWB7wKlJ-dJ_Q_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">230043000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_gPkDTQ_JZEmM62CUKCfnSw_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">83639000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_op4vkT86bkK3aSD8FNZNGQ_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-11100000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_ZsoLrEVeJ0WiJ9OWZhK-dA_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2412000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_0cKOoisVD0G3FBS2qpzHfQ_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10296000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_M5XLCGG1ZUCXqN2rnv8S5w_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">172127000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_Diw1otRR-E6RgYvBwkYNsg_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">227631000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_XK8KsX1EFUuo9bFtNrnVaA_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">73343000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_vsFrU3n1oUWFZFVF98mncQ"
      decimals="INF"
      id="Tc_Nd32jVMoCEOwr0VpHaLlsQ_7_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59180624</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_vsFrU3n1oUWFZFVF98mncQ"
      decimals="-3"
      id="Tc_9ToTEuy_uEidnj4-mJLlAg_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">702931000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_KLKKRa2i20KgKdbx4bzQ6A"
      decimals="-3"
      id="Tc_6UzWEiZclUalMIOrHUG8GA_7_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10675000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_PJUjWnPnX0iW6gp8BM6gsA"
      decimals="-3"
      id="Tc_xO5yfP7F60yhDgx7KLTTWQ_7_12"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">622016000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uah-L9BZ102s0WRNhUq2vg"
      decimals="-3"
      id="Tc_16nErxVQeUKClwsEjB0HSw_7_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-110149000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_l0PfX9AkekmXplghvvyGqA"
      decimals="-3"
      id="Tc_23EgV1L_6kSMPKtY-qRZBA_7_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1225473000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_wWqS1nP4E0m5tNSDPdY5AQ"
      decimals="-3"
      id="Tc_pnW86ThNIUCPvCFg0aFjng_7_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47372000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw"
      decimals="-3"
      id="Tc_llLG0qDvI0ijKFzGRHGGwQ_7_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1272845000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_mPxLydfwSUS88XOXKZ-ujA"
      decimals="-3"
      id="Tc_71ifEhcxFkOG7BvU_qTyqw_8_12"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">171585000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg"
      decimals="-3"
      id="Tc_blVbiCdtLU26XhJ1gZa0kw_8_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">171585000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w"
      decimals="-3"
      id="Tc_kxxs6wxVUEap468fsRJS5w_8_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5030000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_NEy5v1tVYkuV8qJDqV3ukQ_8_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">166555000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__KR_9vw_uEyqcZL6VwQ73A"
      decimals="-3"
      id="Tc__6CSFDn_9k2qP_BlYWXvuA_9_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6389000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg"
      decimals="-3"
      id="Tc_4nYBHW4rn0GS9lyRMhZv6w_9_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6389000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w"
      decimals="-3"
      id="Tc_JOMj7idzoU6yd-r1ROc40w_9_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6070000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_5bz2TakXDkSyPPmh2Z0QpA_9_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TVcCP7v8-0WN-njQoNHJpQ"
      decimals="-3"
      id="Tc_rbrjfE-2g0G0AJ1aRZX55w_10_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4178000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg"
      decimals="-3"
      id="Tc_KWuH_zUl00y2gfyUjsw6Jw_10_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4178000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w"
      decimals="-3"
      id="Tc_iLDtkah5oECQyqA4wf2cxw_10_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9998000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc__WlZGYHK1kekjQAVo99v_g_10_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14176000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YZImHl_s5k2N7FJBnt2rqw"
      decimals="INF"
      id="Tc_5yTP4XZQ3ECxbGMbd2qwbg_11_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">-609516</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S8MP3ARTm0qp3g41yO5QiA"
      decimals="INF"
      id="Tc_GkLiSuByCE-3khtNaF_0zg_11_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">609516000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S8MP3ARTm0qp3g41yO5QiA"
      decimals="-3"
      id="Tc_2sCnxKc8LUyFvNd_TaEfsg_11_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11845000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg"
      decimals="-3"
      id="Tc_ahiNTBLPO0CfXG-PqyQLGw_11_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11845000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_unRH5y90xUWDThsobwLR6w_11_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11845000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TVcCP7v8-0WN-njQoNHJpQ"
      decimals="-3"
      id="Tc_g7jqVe2plUyd953qa7nvjA_12_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10682000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg"
      decimals="-3"
      id="Tc_HvQIOZ3Zq0K8wfUDOHDRZQ_12_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10682000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_UQkCHxK2o0OYVndVP61X8w_12_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10682000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YZImHl_s5k2N7FJBnt2rqw"
      decimals="INF"
      id="Tc_soP97zlInUmFl3mxWQQKXg_13_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">800576</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YZImHl_s5k2N7FJBnt2rqw"
      decimals="-3"
      id="Tc_he8B8UcrZk2RnvnZM3ppDw_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">875000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg"
      decimals="-3"
      id="Tc_BAxSxRzI80Cw1oBKOTc6qQ_13_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">875000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_apWPD-scIEet0735aDEtmg_13_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">875000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5x6139FxsUWs4D9ask_S8w"
      decimals="-3"
      id="Tc_NTJ5tDO7WkiSU1q_TC-OHg_14_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5650000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_QPixFphwP0mMUaHdCq8cIQ_14_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5650000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__KR_9vw_uEyqcZL6VwQ73A"
      decimals="-3"
      id="Tc_8yBnOEUN90mHA4T0oyMUZw_15_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5847000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_AhL6uWdvNEOl2YehX8l-Gg"
      decimals="-3"
      id="Tc_yC0il3j1jkWOCAXLh6LhZw_15_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5847000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_cn2CgSjt60OVDFNm7GS7Ow_15_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5847000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cMIz4rA9TU2JOchZShgAzg"
      decimals="INF"
      id="Tc_Y2nJUL8KvEuaUQFKLK8mcA_16_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59371684</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cMIz4rA9TU2JOchZShgAzg"
      decimals="-3"
      id="Tc_BaOzMXTShUyeaF1owWIY3A_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">703806000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_tqb2FK_Qj0OeXzBvnA3cNA"
      decimals="INF"
      id="Tc_SUsjCurtkUCyBO8aQbOp5g_16_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">609516000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_tqb2FK_Qj0OeXzBvnA3cNA"
      decimals="-3"
      id="Tc_22mglOgQikGL8cmsmXR2Hg_16_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11845000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bgOHWUfYk02tSDCpIFfCDg"
      decimals="-3"
      id="Tc_lMmUi9Jik0S26aVa2VDZeQ_16_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17179000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_DQdj51c9-ESyryXo9oA5tQ"
      decimals="-3"
      id="Tc_439gMfwnwk-6Q7iARQjsBg_16_12"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">793601000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_hTp4ySjj0k-gnAuyejj-zA"
      decimals="-3"
      id="Tc_o8ieyrSwDEWu_1uoigCtSQ_16_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-109607000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_hI33H2tOQUWrWgZPtXpQIA"
      decimals="-3"
      id="Tc_pl4Z2VzxJUe01VarLieHDw_16_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1393134000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_V8azuFbEDkqu-vk6w20eTg"
      decimals="-3"
      id="Tc_7-DKVSn8JEC6al8NC_AQsQ_16_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">31924000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw"
      decimals="-3"
      id="Tc_2Atv6SjUNUuzR6wJV-MBiQ_16_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1425058000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_yCA4MEB17E21mkFx-hMCoQ"
      decimals="-3"
      id="Tc_caPP825z_kWHoOuQV9hXZw_17_12"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">146703000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"
      decimals="-3"
      id="Tc_yZCyLApBEkq7CsF5kK9TBw_17_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">146703000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q"
      decimals="-3"
      id="Tc_vqZj66Sz50ursCjtgzC4NQ_17_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">543000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_uT5ssC8SakmOa1jF_Knlzw_17_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">147246000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_yeL6uPWqSEeLdkCTaaFyiw"
      decimals="-3"
      id="Tc_zJlIH6Hd9U2fm8iEG5EMOg_18_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">74319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"
      decimals="-3"
      id="Tc_u3xWhshpI0yXYlCpDoQ6ZQ_18_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">74319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q"
      decimals="-3"
      id="Tc_KX_8JDrHyk2AvrrC67L2qQ_18_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1869000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_p4SUxRC2n06PiW8FT5rAgw_18_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">76188000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_BB0jA9ShtUWzt2hZf5lgeg"
      decimals="-3"
      id="Tc_l_LU0ONZgE-XeiVfSlcwwg_19_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8414000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"
      decimals="-3"
      id="Tc_M4yys4zzHEm-deaz5xiXbg_19_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8414000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_WwG7FJS_hUy0EUVH0BA6GA_19_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8414000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw"
      decimals="INF"
      id="Tc_hTyApOcOXEqLtFWdMwt5ew_20_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">-381330</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w"
      decimals="0"
      id="Tc_sFTfTl3ebUCbYuaZGVK4lg_20_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">381330</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w"
      decimals="-3"
      id="Tc_cune4HfBrUyylfHuLga5Wg_20_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"
      decimals="-3"
      id="Tc_rKE3QfWIekGSNRr1mBYiZQ_20_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_JT9GV4tdpUOEFvkWjnF7xA_20_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:TreasuryStockRetiredCostMethodAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw"
      decimals="-3"
      id="Tc_r6EqS3xYiECBDts0FPTiDA_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17808000</us-gaap:TreasuryStockRetiredCostMethodAmount>
    <us-gaap:TreasuryStockSharesRetired
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w"
      decimals="-3"
      id="Tc_b_QYXm8AM0C2mKZcGDcG9Q_21_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">-990846000</us-gaap:TreasuryStockSharesRetired>
    <us-gaap:TreasuryStockRetiredCostMethodAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_qwQXP58ZCkOIGUo7fokk2w"
      decimals="-3"
      id="Tc_mf3SzhscDkyPGY82HMvsvg_21_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17808000</us-gaap:TreasuryStockRetiredCostMethodAmount>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_BB0jA9ShtUWzt2hZf5lgeg"
      decimals="-3"
      id="Tc_Ic31SZKvjUCi7buBqv6jUw_22_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12350000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"
      decimals="-3"
      id="Tc_PwKxQUWJpkaKvpZCuNiiCQ_22_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12350000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_RoSruJCz90GGqcKBV9o-wg_22_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12350000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw"
      decimals="INF"
      id="Tc_2uYw0YLlbEWPI21Xnea_HQ_23_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">830030</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rycyPRMQBUCxs34xPARgVw"
      decimals="-3"
      id="Tc_yZblKAZKt0aJxy1LBC_fGQ_23_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1035000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"
      decimals="-3"
      id="Tc_elD9hQN7G0upgCVPnAlV0g_23_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1035000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_wqU_62iO5EOoBW4kmHA8aw_23_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1035000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_BB0jA9ShtUWzt2hZf5lgeg"
      decimals="-3"
      id="Tc_9Y1oDObYgkCximleDTmAjw_24_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-49351000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"
      decimals="-3"
      id="Tc_oyf9RW6Hm0y5IlDvUqk0qQ_24_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-49351000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q"
      decimals="-3"
      id="Tc_8mPFKMDoq0-u8udH5pQ2Hw_24_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">273904000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_CxagMJyvj0iV3wmM1HTZxQ_24_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224553000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_al6Cpk_4X0iPITxsPpN71Q"
      decimals="-3"
      id="Tc_l1Et2IV3c0GprSZH5M3wBw_25_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14123000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_Uhk8yFJr0kyWjsfWEplXXA_25_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14123000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_yeL6uPWqSEeLdkCTaaFyiw"
      decimals="-3"
      id="Tc_YTX9hIcO6kOcsiPwvojzGw_26_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10724000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"
      decimals="-3"
      id="Tc_8nqcaVSOkU2roW6OkIg2fg_26_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10724000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_jN_OzaUsA0qPAYcdhCtpEA_26_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10724000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_yeL6uPWqSEeLdkCTaaFyiw"
      decimals="-3"
      id="Tc__rXv8PHEOECS62Mm0jpTMQ_27_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-4115000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_sYdlGMynGk6D-UWEXcnChg"
      decimals="-3"
      id="Tc_ikP4Kt8GWEyH__WWJi89Mg_27_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-4115000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_O5K7fZli20SRIcegIiWAhw_27_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-4115000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zHNZ8v0ba0CRcLslWy2xSg"
      decimals="INF"
      id="Tc_gSNV8CGODECJptvBym2aOQ_28_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59820384</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zHNZ8v0ba0CRcLslWy2xSg"
      decimals="-3"
      id="Tc_S8BSxwupRku_ZbPg4RWA_A_28_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">687033000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_WpHjOnW6bkiEo74ttdLUpg"
      decimals="-3"
      id="Tc_KvG5jX24XkiuzhuoTcxDgQ_28_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-28236000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_umuq4OaVVk-LJQ9ugt63mA"
      decimals="-3"
      id="Tc_bWmSZ7JbDESGu_1P2RhH6A_28_12"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">940304000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_-sFcBXfVkEucup3UTK22lg"
      decimals="-3"
      id="Tc_2rNqj0AM9UuEZo8KXR1C3g_28_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-28679000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_YTKQZI_RJUGPjDViw59KmQ"
      decimals="-3"
      id="Tc_8htybwkeq0KVrhwJu0s9-Q_28_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1570422000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember__-ObamsmikqfLjIgHCzeOg"
      decimals="-3"
      id="Tc_H5LJcyjFEU6AoPc8mvPwcg_28_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">322363000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_P-o8Jczq40iAWrkHOs9dmw_28_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1892785000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_TU3FSqXFvUSMFMMjnpHfaQ"
      decimals="-3"
      id="Tc_ZVxNHvKZq0CrYdVzvyG7nw_29_12"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ"
      decimals="-3"
      id="Tc_MA37exi8iUG_EVpEIdYedA_29_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ"
      decimals="-3"
      id="Tc_hVm6C25hjkyNXE7-HY4qqQ_29_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14628000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_p9DrQKiR2kid5F_redVyKw_29_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">109876000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__Ap7ax5W7EK88lAOqwFluQ"
      decimals="-3"
      id="Tc_hHlvIhU-60eoIc2zc23moQ_30_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-21964000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ"
      decimals="-3"
      id="Tc_dS_dK-gB7kyy_6tNFq4_fA_30_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-21964000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ"
      decimals="-3"
      id="Tc_KJqCR89q9EyCNK1Xdh8USQ_30_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-4332000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_4uYSmX6FH0CGNQoj-9dFOw_30_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-26296000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ"
      decimals="-3"
      id="Tc_Zs2fy_H9m0Of4z1eV1S0Tw_31_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10719000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_Bd-P1gYmRUuUFBJqRW7uKQ_31_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10719000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_ohPEQsVfAUKj5tlbi8vHRw"
      decimals="-3"
      id="Tc_v5QzW8TDEkGf0g9pJd2jPA_32_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8808000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ"
      decimals="-3"
      id="Tc_OHk_4BZodESgGG04lLui4g_32_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8808000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_wZSGdsyshESkH2Qn5Eoo7Q_32_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8808000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_LAlzLsbg20ezlsE9g9r6TA"
      decimals="INF"
      id="Tc_qoJWNvmlcECDtsnsGCHUxQ_33_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">562376</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_LAlzLsbg20ezlsE9g9r6TA"
      decimals="INF"
      id="Tc_rnszWEG6S06lzv2yYfYzng_34_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">3639918</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_LAlzLsbg20ezlsE9g9r6TA"
      decimals="-3"
      id="Tc_JIqHu9BHDkOwyVJBu0enpw_34_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">148510000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ"
      decimals="-3"
      id="Tc_pDBEgKzeH0ajYcSw7R3KEw_34_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">148510000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_8BEi7EaAGEWKESCyu1RWyw_34_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">148510000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ"
      decimals="-3"
      id="Tc_q7EOBICGGk-oGgPfqrVdTQ_35_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10003000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_LRgHI19evEmVBSuhHNnItA_35_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10003000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_iaWuLBndAku7NXKIeDX4BQ"
      decimals="-3"
      id="Tc_EbRhGxM8JkuKATITk2zD4w_36_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6588000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_Lr4tCdcrC0i3Yy2dKAWliw_36_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6588000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember__Ap7ax5W7EK88lAOqwFluQ"
      decimals="-3"
      id="Tc_hJrbwNMR30eDf8TX1t1RiQ_37_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">59000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_eM1O-m9qo0yFpO1g-FVFGQ"
      decimals="-3"
      id="Tc_2nj2GhIKy0qgr00y7kBpYQ_37_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">59000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_-1_RK7zBhU2xWKYIFhqt4Q_37_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">59000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hocUE_CKR0-8Kn9OLxkuhA"
      decimals="INF"
      id="Tc_TdRuJG1d2EeZk_srLww24A_38_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">64022678</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hocUE_CKR0-8Kn9OLxkuhA"
      decimals="-3"
      id="Tc_jXGTWS7IikeZ2EyBNmZoMw_38_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">835543000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_td_9e07pu0OzNodH-a-x2w"
      decimals="-3"
      id="Tc_c7BRK8070UGKdRTQXougLg_38_10"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-19428000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_4Sqifx5Mh0SuhtS4MpE3Iw"
      decimals="-3"
      id="Tc_6Lzxa_H4z0aTEdEpdRVNbQ_38_12"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1035552000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Va2HcDRF_UeR0zTVT1MZrw"
      decimals="-3"
      id="Tc_r5a2U9oNNke4a1e6TdL1FQ_38_14"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-50584000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_50Rvn_EMokmwxR64cR5SSQ"
      decimals="-3"
      id="Tc_0mGF2A0XdEKFtimz69edXw_38_16"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1801083000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_qY-XeaYWuUKCuXTxDDtKBw"
      decimals="-3"
      id="Tc_KFGBLNqoTEKzF_txXEmnjQ_38_18"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">325355000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_0LmcJFMaKkGrOlXbA70scA_38_20"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2126438000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_12_1_2019_To_12_31_2019_qRZDr0ef7UOSKDkb0ueK_Q"
      decimals="INF"
      id="Narr_ZUPD_Yrp9E2xl07QtpR-ww"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">609516</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_12_1_2019_To_12_31_2019_qRZDr0ef7UOSKDkb0ueK_Q"
      decimals="-3"
      id="Narr_0Pr77UkrNUW2Nibb8iGBag"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11845000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_1_31_2020_wgb-SEYTMk-03JBLWkCUZw"
      decimals="INF"
      id="Narr_MMgb1Isbo06KrNnNOvv4KQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">91424</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_3_1_2020_To_3_31_2020_TgZICfn6hEy3hqrBJ86-zw"
      decimals="INF"
      id="Narr_xc1u6KbI80ityeIc0MdmiA"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">289906</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_1_31_2020_wgb-SEYTMk-03JBLWkCUZw"
      decimals="-3"
      id="Narr_nVdC3g7iW0yKO3xa_nVzhQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2000000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_3_1_2020_To_3_31_2020_TgZICfn6hEy3hqrBJ86-zw"
      decimals="-3"
      id="Narr_1mzUKXrDG0aOv-F622Siow"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VGai6N_0CkqgbuFCOW6oFg"
      decimals="-7"
      id="Narr_84I313df4E6Sm4jpjX1V4Q"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">1780000000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VGai6N_0CkqgbuFCOW6oFg"
      decimals="-3"
      id="Narr_5QmbqHON1E2DBS1kAXuU2g"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">261332000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_5_27_2021_To_5_27_2021_yBbVfX4M3UWc9NQ7IpGQSg"
      decimals="INF"
      id="Narr_6NTGiIqFDk-N_CSH1c2NDQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">3639918</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_A56AHUScQ0eenbpf51sinQ"
      decimals="INF"
      id="Narr_alhOS7LYokuiInJECAYR9A"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">3639918</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_A56AHUScQ0eenbpf51sinQ"
      decimals="-3"
      id="Narr_oTemaGEaWkWoPHEBsB1ZEQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1490000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_iSPjKJbe-E-cyYfN4DDzzw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">166555000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_W06SSDzZSk2Hs_qBFyLiTg_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">147246000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_z2N28Ief70qalVja6mqvbw_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">109876000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_qanb5OWT70K7O0Qu8inoLA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">159723000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_9cmOAnfzU0mBSge__hqKNw_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">209118000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc__gON159CQk6Q-PgPJp4CqA_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">282769000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_apF9cwfCHEKcivb_r91MrQ_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">388000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_cdRlrYr6LkKwsnGpqr0IqQ_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1461000</us-gaap:AccretionExpense>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_4Ye_Ax6i3EWcqyF3B_BHnA_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1227000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_Jx1Wgg52OUeblby9y_95VQ_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">253000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_VCiMfsnTqUmTMHyfzcyv3Q_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-83000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_NMu4BdR0eEOSKC1bg39p4A_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1666000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_C_BEo4WKG0-ZpwzrINWMzw_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10091000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_1T6D0oet_kCZrLkxT_62tg_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1928000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_yqx2EBggQ0ygzOoVUfyV3w_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13936000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc__DwAaWxHeEW-myqSEk1Zyg_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10392000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_WmMzjR8zj0yvQahnhi2Zlw_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21866000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_a4_9ALiLq0y_DBY3oECctw_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11854000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_kCm4s3jqrUe3V6AQZWXmrw_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6084000</us-gaap:AssetImpairmentCharges>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_HWr65Gfz80elEBZM43GQRQ_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20194000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_9U6dZa_BGkKyXtN5g1oV9Q_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">369000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_koFnDIF8yUa0oGP1s4604A_13_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17152000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_-2kQcP95N0Sv1yfsYnnr6A_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_ynzCe6LF_EKvB4GegNKbcQ_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24060000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_xuF3vXv55Uen7PBT428RzA_14_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_qycSMDkW_UGBGUtESFLVwg_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-22218000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_idEVi331BkmGCILTe3cGFw_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50001000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_W1YZu3twLkyj1o_8zpGDBw_15_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23785000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_r8gazJ70Zk-gpM_WAnZ-qw_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28948000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_byMCB8GuvEeGJuCCANjkAQ_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10779000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_WtW9KyEuS0yp_wwRgzJ1ng_16_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7256000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_99-VdV9xOUqxhASCE2r3MA_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1250000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_MNfopyxl8EicSvJa3TkInQ_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9874000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_2J8-3kRUfUCWP7eTGZUgFw_17_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7615000</us-gaap:ProvisionForDoubtfulAccounts>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_1Nwfa4Ids0C5n15aLwMH7A_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14318000</csiq:NonCashOperatingLeaseExpenses>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_heF-NlTSe0m8gRIGifcVfQ_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19260000</csiq:NonCashOperatingLeaseExpenses>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_XVwcYFHOYUebRXRrxmfyxg_18_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14321000</csiq:NonCashOperatingLeaseExpenses>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_Csuevo-KsEurkMjEaaun_w_19_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19447000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_QUjvjwDjIE6xQNoxWcFfAA_19_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42907000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_WgXforfK1Uey_w3mn4eI4w_19_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14070000</us-gaap:InventoryWriteDown>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_x90ih6xUjk-SlNfSXSZJdw_20_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10682000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_zMdILcnWDUGi9TAQvEc4bw_20_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12350000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_u95-8YNcTEi6DxaXwh-fzg_20_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8808000</us-gaap:ShareBasedCompensation>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_zyOPwNRpbUiRUsjZ2uD7-w_21_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6194000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_etg0CT98nkmbJF7FYxadlA_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">66000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_LmKWSbsAoE6xgtHnLzpaOQ_21_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-35890000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:DerecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_MPAGD6Qg3EGAvdhVQrWWtw_22_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4439000</csiq:DerecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_sdaPWvM0l02LO2iJHmckXg_24_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-51670000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_ordkt9a9YEWGcoUhcTAMrg_24_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-65379000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_2Z97666xKkKdb8cCvc3iSw_24_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">284785000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_F71-pVttlky_326pi3ELag_25_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15268000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_iILlQqHC00KWQOP5XFExMg_25_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12064000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_IUngOYWWY0qW8EH5LGqPEA_25_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8783000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_yHkIG5idnU6eeLvzlwiQbw_26_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17347000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_WMGFolGHfkiy4rCrG5BYmg_26_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-26828000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_aLh80qrxFkK6LiQUagtYSQ_26_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">68912000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_-CyIJd0PDUy5dINby9CphQ_27_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">312781000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_t0mK_liSeE-Ff3Zrs2PqOg_27_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">180974000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_2pE4zONkskWVYBmd6O1JlQ_27_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">518741000</us-gaap:IncreaseDecreaseInInventories>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_aekX-UScVUqv9BOLGzIOBA_28_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">849000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_bemnMAtcT0ep5QqdfHQEtg_28_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-2687000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_A7gkJrnVM0m7SwoEWx6kNw_28_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21873000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_1MpRcL2XAEuWXKV4tG9JHg_29_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">27066000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_aLENZ3njsE6w8hKU5Goc3A_29_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">138915000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_A7mFTgZbhU-gszSTD8L8qQ_29_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30416000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_a-EMvdOkl0qE0XnSsJLzhw_30_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-28527000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_93jYx_lBWk63fGdlqgEVlw_30_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">443730000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_JYrVpTq7MkOjUktKokebhQ_30_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">73375000</csiq:IncreaseDecreaseInProjectAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_siGMBklWiEaAZWuRTIg3EQ_31_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-33283000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_4Z9l_sbdE0e1G9f7za27Bw_31_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">72188000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_eGtdNVlFpkK28d8ivE20vg_31_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">85754000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_9srXYnAfK0CEcFPiCkMCzA_32_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24037000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_IjAfLcUAMkmMxjV3NuiK1g_32_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11913000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_q4t1kkBm_E-OyGBbRhYKkg_32_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-20357000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_0uYR7_FRb0GWsuhTembSAA_33_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">209175000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_u52mnY_qLk27BZsOhCi1VQ_33_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-89180000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_MhmGTNO3dESy2eZlEdt5Ew_33_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11023000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_2nyyYXs1Z0yDpdfBizkrcw_34_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">185827000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_2ddoGsFW3k2slBp-s-QjSA_34_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">120445000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_wXMfAp6IOki7qDh85Nd3Ew_34_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">150982000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_pgOZPRHpJkmw9sk5bYV1Og_35_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5798000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_aPUXgmsb6EiIUfQTgH2OPQ_35_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-9773000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_ftSON4o710eD2U38N8It2Q_35_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-171000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_-6woiYwJTU2VRNKs6j88rQ_36_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42810000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_wZGZ1bvVKkGN4WoyfnzwFA_36_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10386000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_g0A-XdXGN0GgxB3NXXmlcg_36_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">126215000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_HJJdoSTaTkujdSSo657G6w_37_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">96115000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_k758h55haEKrs3KDPxvgEw_37_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">51683000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_7hOJCCeD90yxhEz8nIAUYw_37_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-53998000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_ovlvo3aVRU2S4ms9yQ33Tw_38_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-12566000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_IZMA9r4H5U2sxFEaYU5nQQ_38_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-19369000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_C2Ypm_SZ2k6uM2NOwxBeCw_38_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-15803000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_smSAm5evt0i01ruGWsktuw_39_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-10851000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_9XuBFEMz5ECBO8ljXnGmwQ_39_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">179911000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_DUkbJhs1iEGBaJ4bzQIENQ_39_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">41835000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <csiq:IncreaseDecreaseInProductWarrantyAccrual
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_VrSHCy9aXEqvosPB7Rf7cQ_40_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4624000</csiq:IncreaseDecreaseInProductWarrantyAccrual>
    <csiq:IncreaseDecreaseInProductWarrantyAccrual
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_mtpPskAx_UGrcR3Tdh-kjA_40_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-19143000</csiq:IncreaseDecreaseInProductWarrantyAccrual>
    <csiq:IncreaseDecreaseInProductWarrantyAccrual
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_L2AbgpZy7EaBqWL9HuxXYA_40_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9413000</csiq:IncreaseDecreaseInProductWarrantyAccrual>
    <csiq:IncreaseDecreaseInPrepaidLandUseRight
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_DL8v0qSmskq99k6twSktyQ_41_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-2622000</csiq:IncreaseDecreaseInPrepaidLandUseRight>
    <csiq:IncreaseDecreaseInPrepaidLandUseRight
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_iM7Uv3bfck66--h4P6RJMQ_41_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-452000</csiq:IncreaseDecreaseInPrepaidLandUseRight>
    <csiq:IncreaseDecreaseInPrepaidLandUseRight
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_6MvbM-HYcUyJRR8lCrH9PA_41_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1647000</csiq:IncreaseDecreaseInPrepaidLandUseRight>
    <csiq:IncreaseDecreaseInGoodwill
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_JMGCTC2v106IIOKLj8KP4g_42_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1005000</csiq:IncreaseDecreaseInGoodwill>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_tPJmw-o2HEKM1qL-WaP7GQ_43_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-4775000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_tfOG-K3bd0WoLTkWDImMSw_43_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-623000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_s1atqAKywUyQZZUU7itzAQ_43_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-7281000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_ST_rNrHvSEiV72B6TAG_TA_44_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12455000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_Nks8ozXIDUuL534smnBwwA_44_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21439000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_R6cTYgHPnUCn6RqdTfcXQg_44_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">67386000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_vTFp5iyZcUirR0BaiDk3wQ_45_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">27012000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_0MUmECA4YEK6YfYdEz38_w_45_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-33054000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_LCLeoF3rQ0Cv7Po9V6bciA_45_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-31886000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_QPenuhIRy0mLQ99Kx5ph4Q_46_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4126000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_Su6BIoF2y0ew48p8Gkwwcg_46_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1115000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_bgCkny7eQkedEGmXKsj2hA_46_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-10939000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_uK2MdJiWwUm7tlDY_kdKzA_47_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">600111000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_AU-wuX_zk0GyENc5eWUv3g_47_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-120541000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_uZ1lfefFi0uxWexJ2Ysvyg_47_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-408254000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_W4_dYEPAM02_8RuVsra6Hw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7684000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_96fhUrHp0ESnChF8_N-vJA_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17758000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_7IaYBUpfH02LckP5tLXSTA_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">54004000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_UvrxGZl7okKf044NL6wMpg_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3012000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_RyqJ7438cEqWjEApJiwh0g_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2671000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_CCDBKf4N6ESqFmcBveS3Uw_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1649000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_9QzPone3Ck6m9m0Icu_OKg_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">33037000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_0kg_wckIOEGHFMHbVxvVKg_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14311000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_fJ21BjDN-U-RcD6kyB0Flw_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">291182000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_KVVGbNhgxkWY2mbOHo065w_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">334781000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_HITRpiFUlk-W4_a8yulXxQ_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">428725000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_tOumobRwGEK0_f9O_uH9RA_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18555000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc__YZmQdplwU6cCJI9-8siDQ_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">160000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_eTAq8j_ijE6Og-7MQTsZpQ_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">775000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_9iX0g3YVPk2HB9cj3mIqZw_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">103000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_jDE0bjt5nkemd4ZBFlM_Fg_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18397000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_o7kR7rHYmEyCZdWe3n1Ivg_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-294102000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_mDh8Jz1tbkijRwRBeUrs8w_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-319662000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_uh3aQJJXJUOYAOJhX5GepA_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-429570000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_ovICdNovrkms_rjdrtseQQ_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1257009000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_2EOB0238w02Do2g2hSN96g_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1667703000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_vaZipbJY20mWpMYQ_FrepA_14_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1742064000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_2T_sba1Nj0SX3pA42wBGRQ_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1649721000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_UqqIvQQndkSVnERZM1WdAg_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1561597000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_g693rhLsAkmLkYA9V0pjFQ_15_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1879884000</us-gaap:RepaymentsOfNotesPayable>
    <csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_KJFINBHiH0-5hdm3xG4zrg_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">530990000</csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt>
    <csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_CUmVec5aZUGkoLMTo0V9xg_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">207632000</csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt>
    <csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_ct6EHKEFZUuiQpst5_yHFg_16_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">588082000</csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_BAMNpbTahEmLgm5Cq_SCeA_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14176000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_wxj-7jdP2UGr5KROzK_Hdw_17_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10719000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_EaTYS3-6SUSMpDpKyg2cOA_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11488000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_O95YvhI77E68uEVgzvPCxA_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">261332000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_AzNT_jkf9Umr-vMj7Q2UXA_18_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10003000</us-gaap:ProceedsFromMinorityShareholders>
    <csiq:ProceedsFromPaymentsToMinorityShareHolder
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_JAdgc7kBJkGVu4nuzFZ8nw_19_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6588000</csiq:ProceedsFromPaymentsToMinorityShareHolder>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_4eqQNx6AKEyrz-Zb38AVJg_20_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">148510000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <csiq:ProceedsFromThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_6L_ZUeYF10WwQZqUOvclWA_21_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3000000</csiq:ProceedsFromThirdPartyFinancingLiabilities>
    <csiq:ProceedsFromThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_4bdfz-sZaUKExoDVj8EoZg_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6419000</csiq:ProceedsFromThirdPartyFinancingLiabilities>
    <csiq:SaleLeasebackTransactionProceedsFinancingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_ZjVC1_rOk022ae8RsnUs8g_22_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9044000</csiq:SaleLeasebackTransactionProceedsFinancingActivities>
    <csiq:SaleLeasebackTransactionProceedsFinancingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_MGtfM7YCekqIEf2LAH5hlg_22_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9945000</csiq:SaleLeasebackTransactionProceedsFinancingActivities>
    <csiq:SaleLeasebackTransactionProceedsFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_YGGTiHXzb0Wz5q6z2AytzQ_22_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45693000</csiq:SaleLeasebackTransactionProceedsFinancingActivities>
    <csiq:PaymentsOfDistributionsToTaxEquityInvestors
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_HoEAwB126EGZ3qHGiIzm7w_23_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1120000</csiq:PaymentsOfDistributionsToTaxEquityInvestors>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_Gt0pexQV10qtYQWOshfDAQ_24_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42658000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_c2RKLK7JE0ijihbj5Iz0jg_24_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22173000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_W6snfnRQUU2fKhCyedQV4Q_24_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23090000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_eRDC_5A_KUu9zrBIsj1UdQ_25_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">222826000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_WTUwRmXSl0Wyl9-vrBnBzA_26_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">127500000</us-gaap:RepaymentsOfConvertibleDebt>
    <csiq:ProceedsFromSubscriptionAdvances
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_V71s8-jCx0SRICKUU9oVjA_27_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">36342000</csiq:ProceedsFromSubscriptionAdvances>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_PN0Vov2pE06m682e4TYeYg_28_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">875000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_MDmkYsNtdU-0GxUiRUN7hQ_28_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1035000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_I2hdmIVv_kSwTum5lCI_UA_29_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11845000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_v8UkwxxE7kmSw--CGLWHfg_29_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5963000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_aUh-8ldoy0eYB8IturpExQ_30_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-34614000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_AOMR-UDZ5Uu0gY5FNPOeiQ_30_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">823501000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_ikYRHVZQ2kyan6lzxdDVMg_30_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">614071000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_LI_sMDoy-0-qP6wAJLmgbQ_31_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6965000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_dn8Yy_qikkK1Qu_1fYL4cw_31_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50997000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_iDJGy2ssoU6AdMGMzFI-6A_31_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18320000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_iK6ghcwlrUqJzTDl8TTnyg_32_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">264430000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_0S49WQAozkKjRuUDCOSSYw_32_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">434295000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_KPLgNgWUAU-nBhWxNiOxlg_32_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-205433000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw"
      decimals="-3"
      id="Tc_oeHFXNCViU-31WwZwhE3xQ_33_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">940990000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw"
      decimals="-3"
      id="Tc_ImxqAoajjEOHvAzUTlHAHw_33_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1205420000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_FESdhI_h40ud0imNqEnp0Q_33_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1639715000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw"
      decimals="-3"
      id="Tc_xD4KMEZ_h0euqgtLyMB4Aw_35_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1205420000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_1p2eGVqVs0iJT9reqkqqtg_35_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1639715000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Y1p5yeJAwUK8_Paacwi79g_35_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1434282000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_Y-vZC0Xc4029oAmc59eBsw_37_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">85362000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_nN5Hld1ix0OyUVGB3zL5Fg_37_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">78747000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_80kqLu4Yb0aoRKEcHCBeQA_37_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">71006000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_THhhRFCPEEKwwyraefRNxA_38_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">40454000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_qPPrMmhdHUCt9jhKMXNipQ_38_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">38193000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_Z09DFeYan0m4tBy9pcGtrQ_38_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">57396000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_H5i5WPhXsEa_6dVlylzlxg_40_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">244483000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_N4tPbat24EW-EFvB9-KOvg_40_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">244512000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_8Lrq-1W_2UO63w2ZUvjBRg_40_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">299664000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_ZwOhoB50fku6tZ43SQxiZA_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1178752000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_KQR1cvt6f0KkY6gr3MVVag_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">869831000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_bN5_UT8nFUyiJahZRcSJXA_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">458334000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_vSIvSIrN6UafFjpof_01zw_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">560633000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_OT_WRkObYUOXF7-Q4O37ug_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2629000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_kJk4IxrixUCLPwch40QLvA_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3818000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_Ex1GbDnBVku6wl-7_HJwMA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1639715000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_pF-uQorLYEy2FnVnovUsHQ_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1434282000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_CpeHzpcGHEaY2Rz-EsaMNA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;1. ORGANIZATION AND PRINCIPAL ACTIVITIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;Canadian Solar Inc. (&#x201c;CSI&#x201d;) was incorporated pursuant to the laws of the Province of Ontario in October 2001, and changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006. In July 2020, CSI filed articles of continuance, or the articles, to change its jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. As a result, CSI is governed by the British Columbia Business Corporation Act, or the BCBCA, and its affairs are governed by its notice of articles and the articles.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;CSI and its subsidiaries (collectively, the &#x201c;Company&#x201d;) design, develop, and manufacture solar ingots, wafers, cells, modules and other solar power and battery storage products. In recent years, the Company has increased investment in its energy business, which primarily consists of solar and battery storage project development and sale, operating solar power systems and sale of electricity. As of December 31, 2021, major subsidiaries of CSI are included in Appendix 1.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;In July 2020, the Company announced its plan to carve-out and publicly list its legacy Module and System Solutions (&#x201c;MSS&#x201d;) subsidiary, CSI Solar Co., Ltd., in China (&#x201c;the IPO&#x201d;). In preparation for the IPO, the Company successfully completed the restructuring of its business segments during the fourth quarter of 2020, and transferred China solar power system and project assets from CSI Solar to the Global Energy segment in November 2021 as part of the CSI Solar Co., Ltd. carve-out listing process. Refer to Note 22 for further information. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;To qualify CSI Solar Co., Ltd. for the planned carve-out IPO and to bring in leading institutional investors and strategic partners (&#x201c;third-party investors&#x201d;), the Company also completed a capital raising in 2020 by transferring a portion of CSI Solar Co., Ltd. shares to third-party investors for an aggregate consideration of RMB1.50 billion (approximately $219,000), which was determined based on the equity value of CSI Solar Co., Ltd. of RMB7.50 billion (approximately $1,100,000). At the same time, selected employees also purchased existing CSI Solar Co., Ltd. shares from the Company for an aggregated consideration of RMB31 million (approximately $4,500) at the same price. As of December 31, 2020 and 2021, total proceeds of $224,553 were fully received and recorded as non-controlling interests in subsidiaries on the consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;In addition, CSI Solar Co., Ltd. approved an employee incentive plan (the &#x201c;ESOP scheme&#x201d;) and utilized a limited liability partnership (the &#x201c;LLP&#x201d;) as a vehicle to hold CSI Solar Co., Ltd. shares that will be used under the ESOP scheme. Eligible CSI Solar Co., Ltd. directors and employees and board members have collectively agreed to subscribe to equity interest in the LLP for an aggregate of RMB248 million($36,342) at a discount of 30%, or at an equity valuation of RMB5.25 billion (approximately $768,000), for which the vesting conditions include the successful completion of the IPO and service period. The ESOP scheme will be accounted for based on the grant date fair value which equals to the value of the discount benefited by the ESOP scheme participants. Compensation cost will be recognized over the vesting period upon and after completion of IPO, therefore, nil was recognized in the years ended December 31, 2020 and 2021. As of December 31, 2020 and 2021, $36,342 of subscription advances were fully received and recorded as other payables on the consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2020 and 2021, the third-party investors and Canadian Solar employees, in aggregate, owned 20.4% of for CSI Solar Co., Ltd. The Company&#x2019;s wholly-owned global project development business, its Global Energy subsidiary, is not part of this transaction.&lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw"
      decimals="-7"
      id="Narr_JRQ3evy2PkqJwU4_ybO3WA"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">1500000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw"
      decimals="-3"
      id="Narr_CvuqQpUgkkaMkWkzjJ7jAQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">219000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw"
      decimals="-7"
      id="Narr_cNpwMk8trEGLCZXs7EIasg"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">7500000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_CHqORpF5Bk29RTZIvwEHgw"
      decimals="-3"
      id="Narr_a_yCJ2n3o02MMIsnhYfwJQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1100000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_Ev3jp0kuv0eRIQPS0pGq0g"
      decimals="-6"
      id="Narr_Dqx4A2u0VEe-CVD1VL10jA"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">31000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_Ev3jp0kuv0eRIQPS0pGq0g"
      decimals="-3"
      id="Narr_TA8yShTFCEieYJ0bkQrrow"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4500000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <csiq:SharePurchaseProceedsFromThirdPartyInvestors
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_hCt6ZbuHQk2zf8gAflx33A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224553000</csiq:SharePurchaseProceedsFromThirdPartyInvestors>
    <csiq:SharePurchaseProceedsFromThirdPartyInvestors
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_onLUkyWK6UevfVGBaVLLKg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224553000</csiq:SharePurchaseProceedsFromThirdPartyInvestors>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_5z_uSD2qAkaDDIULyoERZA"
      decimals="-6"
      id="Narr_5nNnao0prUCMa2a5uTgmQQ"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">248000000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_5z_uSD2qAkaDDIULyoERZA"
      decimals="-3"
      id="Narr_MCzJoKCLrU6Y3UNtIjQ6ag"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">36342000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <csiq:PercentageOfDiscountOnIssueOfShares
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Narr_-OSEQC0ifEe_-83bKrmhig"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.30</csiq:PercentageOfDiscountOnIssueOfShares>
    <csiq:PremiumDiscountOnIssueOfShares
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-7"
      id="Narr_1tVqYFlg2kyaOsHFvsMV4w"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">5250000000</csiq:PremiumDiscountOnIssueOfShares>
    <csiq:PremiumDiscountOnIssueOfShares
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_Ewd22SDdVkSt_XDllDhO0Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">768000000</csiq:PremiumDiscountOnIssueOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_f1Um6DFkWkqaepWMt-u_5A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_3dG9_3vr70qu07SzrEud6w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <csiq:SubscriptionAdvances
      contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_tFDCQkmzn06EILalpnxGNQ"
      decimals="-3"
      id="Narr_XvBnR1qpEkGyNRreTdJB_A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">36342000</csiq:SubscriptionAdvances>
    <csiq:SubscriptionAdvances
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_RF-Ll5VBzku100Bzq0cPKg"
      decimals="-3"
      id="Narr_mkJcvwwAvkKEwIojddzvXw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">36342000</csiq:SubscriptionAdvances>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CanadianSolarMember_uLKXVXzo7EyPhuOKasog9g"
      decimals="3"
      id="Narr_tsmgqmRpbUi05zvXO4rcPA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.204</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="As_Of_12_31_2021_srt_OwnershipAxis_csiq_CanadianSolarMember_qOH3oMlSzkKECsf4ZCOzog"
      decimals="3"
      id="Narr_ewhD8Fto_EKJpg7gt7ihQA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.204</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb__Bqc0H4aTEKcyf5cKnY3-Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(a)&#160;&#160;&#160;Basis of presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#x201c;U.S.&#160;GAAP&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(b)&#160;&#160;&#160;Basis of consolidation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#x201c;VIEs&#x201d;) for which the Company is a primary beneficiary. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. 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;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(b)&#160;&#160;&#160;Basis of consolidation (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#x2019;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the Company&#x2019;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. 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 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(c)&#160;&#160;&#160;Use of estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#x2019;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of budget cost and estimates of variable consideration), allowance for credit losses on accounts receivable, other receivables and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#x201c;ARO&#x201d;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Restricted cash represents amounts held by banks, which are not available for the Company&#x2019;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(e)&#160;&#160;&#160;Accounts receivable, unbilled&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(f)&#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;Before 2020, the Company determined its allowance for doubtful accounts by actively monitoring the financial condition of its customers to determine the potential for any nonpayment of accounts receivable trade, advances to suppliers and other receivables. In determining its allowance for doubtful accounts, the Company also considered other economic factors, such as aging trends. The Company believed that its process of specific review of customers, combined with overall analytical review, provided an effective evaluation of ultimate collectability of trade receivables. Provisions for allowance for doubtful accounts were recorded as general and administrative expenses 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;After the adoption of ASU 2016-13 &#x201c;Financial Instruments&#x2014;Credit Losses (Topic 326)&#x201d; beginning on January 1, 2020, the financial instruments 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 cater for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company began purchasing credit insurance from insurers, such as the China Export &amp;amp; Credit Insurance Corporation, since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $386 and $1,409 as of December 31, 2020 and 2021, respectively and a corresponding reduction in bad debt&#160;expense.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(g)&#160;&#160;&#160;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 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(h)&#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 6pt 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 6pt 0pt;"&gt;Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(i)&#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 and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects to a third party customer. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage power system. 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 and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase 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 6pt 0pt;"&gt;Solar and battery storage projects are preliminarily 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 electricity are classified as solar power systems on the consolidated balance sheets. As of December 31, 2020 and 2021, no battery storage power system were recorded on the consolidated balance sheets. During the development phase, solar and battery storage projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970-360, as they are considered in substance real estates. The costs to construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year, which meet the criteria of ASC 360, 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 6pt 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 project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, 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 operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#x201c;project companies&#x201d;. The Company consolidates project companies as described in note 2(b) above. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar and battery storage power systems.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(j)&#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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(k)&#160;&#160;&#160;Assets acquisition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#x2019; carrying amounts on the Company&#x2019;s books. If the consideration given is not in the form of cash (that is, in the form of non cash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(l)&#160;&#160;Property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;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;20 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Over the shorter of the lease term or their estimated useful lives&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued) &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(m)&#160;&#160;&#160;Solar power systems&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power systems 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, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. &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 solar power systems is 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 of 20 to 25 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 reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#x2019;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from 20-25 years to 30 years, based on internal studies and market analysis that support a 30-year useful life as appropriate given advances in solar power technology. The useful life was not changed for projects to be transferred to an offtaker at the end of a PPA that is less than 30 years in duration. The change is being accounted for prospectively as a change in accounting estimate. Depreciation expense for the year ended December 31, 2021 would have been lowered by $2,186 if the change had been made at the beginning of 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(n)&#160;&#160;&#160;Intangible assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;1-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(o)&#160;&#160;&#160;Prepaid 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;Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#x201c;PRC&#x201d;). Amounts are charged to earnings ratably over the lease periods of 20 to 50 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(p)&#160;&#160;&#160;&#160;Investments in affiliates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on investment, and the rest of the amount is considered as return of 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;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, 2019, 2020 and 2021, the Company recorded nil, $24,060 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 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(q)&#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 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 based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $21,866, $11,854 and $6,084 for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(r)&#160;&#160;&#160;&#160;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 sell the asset to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(s)&#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. Assets retirement obligation (&#x201c;ARO&#x201d;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#x201c;ASC 410-20&#x201d;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it 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. The Company&#x2019;s ARO included in solar power systems was not material as of December 31, 2020 and 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(t)&#160;&#160;&#160;Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Effective January 1, 2019, the Company adopted Accounting Standards Update (&#x201c;ASU&#x201d;) No. 2016-02, Leases (Topic 842), as amended (&#x201c;ASC 842&#x201d;) for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use (&#x201c;ROU&#x201d;) assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use (&#x201c;ROU&#x201d;) asset and lease liability. 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 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;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 are not recorded on the consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 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 and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in 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 charge in asset impairments on its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(u)&#160;&#160;&#160;Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(v)&#160;&#160;Income taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&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;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar power products and materials&lt;/i&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 products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains 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 (aa) 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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company 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 customer. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Battery storage solutions and EPC services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company recognizes revenue for the sales of battery storage solutions (system integration business, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#x2019;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#160;&#160;Revenue recognition (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total anticipated 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar and battery storage projects&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Sales of solar power projects and battery storage power projects (project development business, including sourcing land, interconnection, structuring power purchase agreements and other permits and requirements for battery storage projects) are recognized at a point in time when customers obtain control of solar and battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The solar and battery storage projects are often held in separate legal entities which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#x201c;project companies&#x201d;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;O&amp;amp;M and asset management services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;O&amp;amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#x2019;s performance under the terms of service arrangements. Revenues from O&amp;amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performances and the costs of O&amp;amp;M and asset management services are expensed when incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#160;&#160;&#160;Revenue recognition &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Electricity revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Electricity revenue is generated primarily by the Company&#x2019;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when 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, 2019, 2020 and 2021, the Company recognized performance-based energy incentives related to electricity generated of $3,915, $6,628 and $9,402, 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&#x2019;s electricity revenue during the years ended December 31, 2019, 2020 and 2021 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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 5,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,302&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#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; 629&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,118&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 5,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,706&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,420&lt;/p&gt;&lt;/td&gt;&lt;/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-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 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The disaggregation of revenue from contracts with customers for the years ended December 31, 2019, 2020, and 2021 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 (Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation. Refer to Note 22 for further information.):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,210,459&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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,704,332&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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;/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,389&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 696,326&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 687,759&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,068,179&lt;/p&gt;&lt;/td&gt;&lt;/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; 22,409&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#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&#x2019;s contract assets and liabilities are as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td 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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&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;2021&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;/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; 28,461&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;/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; 37,244&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;&#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.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; 189,470&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 3pt 0pt 0pt;"&gt; 135,512&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,012&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,494&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 224,482&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 234,006&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;For the year ended December 31, 2021, $199,140 of the Company&#x2019;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2021. Contract liabilities of $234,006 as of December 31, 2021 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 0pt 6pt 0pt;"&gt;The Company has applied the practical expedients related to the revenue requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the revenue guidance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.&lt;/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 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 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Shipping and handling &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of $88,079, $134,248 and $316,358, are included in selling and distribution expenses for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#160;&#160;&#160;&#160;Research and development&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Costs related to the design, development, testing and enhancement of products are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $47,045, $45,167 and $58,407 for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other operating income, net&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&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 (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;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 prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; (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;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,245)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,468)&lt;/p&gt;&lt;/td&gt;&lt;/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 on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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,666)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  &#x2014;&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; (10,091)&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 property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (253)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(Insurance claims on) weather-related project damages &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  &#x2014;&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;"&gt; (1,025)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,408&lt;/p&gt;&lt;/td&gt;&lt;/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; (10,536)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (25,523)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,068)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#160;Warranty cost&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Before 2009, the Company 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019, the Company increased its guarantee for defects in materials and workmanship up to 12 years and the Company warrant that, for a period of 25 years, its standard polycrystalline 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 24th year, the actual annual power output decline of the module will be no more than 0.7%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of 30 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For solar projects built by the Company, 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 for a period of up to ten years following the energizing of the solar 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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#160;Warranty cost &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties 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 for sales of solar power&#160;products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties. 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 $1,728 and $528 as of December 31, 2020 and 2021, respectively and was included as a component of prepaid expenses and other current&#160;assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#x2019;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#160;Warranty cost &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#x2019;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is 25 or 30 years and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $82,532 and $87,729 as of December 31, 2020 and 2021, respectively, and were included as a component of other non-current assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company made upward adjustments to its accrued warranty costs of $2,622 and other non-current assets of $2,153 for the year ended December 31, 2021, to reflect the recent increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $28,044, $26,931 and $45,053 are included in cost of revenues for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Foreign currency translation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The United States dollars (&#x201c;U.S. dollars&#x201d; or &#x201c;$&#x201d;), the currency in which a substantial amount of the Company&#x2019;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The financial records of certain of the Company&#x2019;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#x201c;RMB&#x201d;), Euros, Canadian dollars (&#x201c;CAD&#x201d;), Japanese yen, Brazilian reals (&#x201c;BRL&#x201d;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac)&#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)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;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 and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ad)&#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 2019, 2020 and 2021 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 Canadian dollars. The Company&#x2019;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, toll manufacturing fees, 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, Australian dollars and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. 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. Since 2008, the Company has hedged part of its foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ae)&#160;Concentration of credit risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;All of the Company&#x2019;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. 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, 2020 and 2021, 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:77.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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:8.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.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:9.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;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:20.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;2020&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;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;margin:0pt;"&gt;&lt;span style="font-size: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.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.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="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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:77.21%;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.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="font-size: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.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; 43,821&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="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,257&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:8.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; &#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;margin:0pt;"&gt;&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:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,117&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="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.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; &#x2014;&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;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:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,026&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;Not in excess of 10% of total advances to suppliers as of December 31, 2020.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(af)&#160;Fair value of financial instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 1&lt;/i&gt;&#x2014;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#x2019;s restricted cash balance and listed equity securities for all periods presented uses level one fair value inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 2&lt;/i&gt;&#x2014;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 3&#x2014;&lt;/i&gt;Unobservable inputs reflecting the Company&#x2019;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.&lt;span style="font-style:italic;font-weight:bold;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ag)&#160;Derivatives instruments and hedging activity&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#x2019;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#x2019;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#x2019;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and the Company, as necessary. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ah)&#160;Earnings per share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ai)&#160;Share-based compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#x201c;RSUs&#x201d;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aj)&#160;Risks and uncertainties related to the COVID-19 pandemic&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#x2019;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#x2019;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#x2019;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed to slow the spread of COVID-19.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ak)&#160;Recently issued accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In December 2019, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued ASU 2019-12, &#x201c;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#x201d;, which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. This ASU is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company adopted this standard effective January 1, 2021. 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 March 2020, the FASB issued ASU No. 2020-04, &#x201c;Reference Rate Reform (Topic 848)&#x201d;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#x2019;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#x201c;Reference Rate Reform &#x2014; Scope,&#x201d; which clarified the scope of ASC 848 relating to contract modifications. With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The company has $956,523 of LIBOR debt as of December 31, 2021 and projects the balance will be approximately $530,662 by the June 2023 discontinuance date. All of the Company&#x2019;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ak)&#160;Recently issued accounting pronouncements (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In August, 2020, the FASB issued ASU No. 2020-06, Debt&#x2014;Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging&#x2014;Contracts in Entity&#x2019;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard is not expected to 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 November 2021, the FASB issued ASU 2021-10, &#x201c;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#x201d;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#x2019;s financial statements. The new standard was effective for the Company beginning January 1, 2022. The Company is currently evaluating the impact of adopting this 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_-5JdNOqPtkKocHOp8eWv4g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(a)&#160;&#160;&#160;Basis of presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#x201c;U.S.&#160;GAAP&#x201d;).&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_yst68xNg7UeEHiiwJl2MvA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(b)&#160;&#160;&#160;Basis of consolidation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#x201c;VIEs&#x201d;) for which the Company is a primary beneficiary. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. 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;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(b)&#160;&#160;&#160;Basis of consolidation (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#x2019;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the Company&#x2019;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. 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:UseOfEstimates
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_EkVpI--gq0ejVJBNNjoJgA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(c)&#160;&#160;&#160;Use of estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#x2019;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of budget cost and estimates of variable consideration), allowance for credit losses on accounts receivable, other receivables and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#x201c;ARO&#x201d;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_gWo3BHjfGUiQf7sOhODwaA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Restricted cash represents amounts held by banks, which are not available for the Company&#x2019;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_-XY9c2aNX0aFk5Ygh9lR8A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(e)&#160;&#160;&#160;Accounts receivable, unbilled&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy>
    <us-gaap:CreditLossFinancialInstrumentPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_cjZptl2Hr0qKs9GTQWb6_g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(f)&#160;&#160;&#160;&#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;Before 2020, the Company determined its allowance for doubtful accounts by actively monitoring the financial condition of its customers to determine the potential for any nonpayment of accounts receivable trade, advances to suppliers and other receivables. In determining its allowance for doubtful accounts, the Company also considered other economic factors, such as aging trends. The Company believed that its process of specific review of customers, combined with overall analytical review, provided an effective evaluation of ultimate collectability of trade receivables. Provisions for allowance for doubtful accounts were recorded as general and administrative expenses 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;After the adoption of ASU 2016-13 &#x201c;Financial Instruments&#x2014;Credit Losses (Topic 326)&#x201d; beginning on January 1, 2020, the financial instruments 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 cater for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company began purchasing credit insurance from insurers, such as the China Export &amp;amp; Credit Insurance Corporation, since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $386 and $1,409 as of December 31, 2020 and 2021, respectively and a corresponding reduction in bad debt&#160;expense.&lt;/p&gt;</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9heE3Xy2TUWrHfIcrVsU1g"
      decimals="-3"
      id="Narr_y-idKYEAC0CTD-M0GLtSCw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">386000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jJzZxlUtbkK06QdhQvx-eQ"
      decimals="-3"
      id="Narr_XHTX19_KBU201bTVOO7XrA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1409000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <csiq:AdvancesToSuppliersPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_NoxYvMoPika1z0IgJshmZg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(g)&#160;&#160;&#160;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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_SR4Y7eSFtUG4ofW__GAl9g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(h)&#160;&#160;&#160;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 6pt 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 6pt 0pt;"&gt;Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. &lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <csiq:ProjectAssetsPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_Q_S_ufNnNkCS2_M5bzZf8Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(i)&#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 and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects to a third party customer. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage power system. 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 and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase 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 6pt 0pt;"&gt;Solar and battery storage projects are preliminarily 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 electricity are classified as solar power systems on the consolidated balance sheets. As of December 31, 2020 and 2021, no battery storage power system were recorded on the consolidated balance sheets. During the development phase, solar and battery storage projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970-360, as they are considered in substance real estates. The costs to construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year, which meet the criteria of ASC 360, 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 6pt 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 project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, 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 operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#x201c;project companies&#x201d;. The Company consolidates project companies as described in note 2(b) above. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar and battery storage power systems.&lt;/p&gt;</csiq:ProjectAssetsPolicyTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_x6MjpygphEiV7OEE3Cqd5Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(j)&#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. &lt;/p&gt;</us-gaap:BusinessCombinationsPolicy>
    <csiq:AssetsAcquisitionPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_og-438S3mkCa9YXtRZkqpA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(k)&#160;&#160;&#160;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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_ndJRrZZ7A0yyeYz4HpucFA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(l)&#160;&#160;Property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;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;20 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Over the shorter of the lease term or their estimated useful lives&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_yMTZ2I-VWESOnUKRFnuyOg">&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;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="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_4sd2jhr1CEOg9hobXiaNQw"
      id="Tc_uRP8FXdB1k-rO8EWfsPFFA_1_2">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_a2_kny-ZgEOjn965789wGg"
      id="Narr_a7JrbylxDkKuv3eAVNAnrQ">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_aRGwl5_gLEu_KkmxmQfGNQ"
      id="Narr_d0GLoNXJTUeH-1tbIUwz2A">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember__y5lntMS9UqAvn-5W61lHQ"
      id="Tc_t3ep10KpykKLewvt1N6bTQ_4_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_6EcpkoepsEe8pgQMrxysWg"
      id="Tc_miB6AhB-b0OxQFi7sdNOyQ_5_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <csiq:SolarPowerSystemsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_g3px8oNhb0KJp9H18Ar1FA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(m)&#160;&#160;&#160;Solar power systems&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power systems 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, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. &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 solar power systems is 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 of 20 to 25 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 reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#x2019;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from 20-25 years to 30 years, based on internal studies and market analysis that support a 30-year useful life as appropriate given advances in solar power technology. The useful life was not changed for projects to be transferred to an offtaker at the end of a PPA that is less than 30 years in duration. The change is being accounted for prospectively as a change in accounting estimate. Depreciation expense for the year ended December 31, 2021 would have been lowered by $2,186 if the change had been made at the beginning of 2021.&lt;/p&gt;</csiq:SolarPowerSystemsPolicyPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ddLx-L-AiE-seQ4kH9l2tA"
      id="Narr_HgDi0PTTjUu97xd6I41erQ">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_DTcWRA7NPkOydiyHSSKmAw"
      id="Narr_1pIeyabr7EWKBPCssWmZTQ">P25Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RzhyAfNrqEykhHJI_Ff0-g"
      id="Narr_0UgyNH7yLU6baHpSNYqnkw">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RztR_BtH6U2nJivkjpJvRg"
      id="Narr_gbX9YryFXEWEn0PAyCrOfA">P25Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_v3HEqwcoVEanEqlajCmjtg"
      id="Narr_vu4bXqNJaUmMdSmjdd1j8w">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_v3HEqwcoVEanEqlajCmjtg"
      id="Narr_t4gzI7y0jkCJzwy8N4YYxA">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_v3HEqwcoVEanEqlajCmjtg"
      id="Narr_MdxrNXkEV0-0i7Uprse1uA">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_90a37v7dmkecjda4XpxLpw"
      decimals="-3"
      id="Narr_9K7mG2VoOUSOqPsUct2fmQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2186000</csiq:IncreaseDecreaseInDepreciationExpense>
    <us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_yU20HZQR5UataSpaCm6_7g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(n)&#160;&#160;&#160;Intangible assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;1-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_y4dX_q5FWkWZcGDaCjcU8A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;1-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_cmfqGEnIBkmpZXBiPOJG5w"
      id="Tc_6raJIi1FxE-IGlD_EWs8qg_1_2">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_isxfdeEcvUyoIh4HbkYtfg"
      id="Narr_PPo4L6oMWUmqHawQcG4fVA">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_fR0lrTcZD0qmDZrKdg6OMQ"
      id="Narr_hicuVQs5LkuPnIRYF-fMyA">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <csiq:PrepaymentForLandUseRightPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_geFCLg1ZpEqCrhYPmV2Yiw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(o)&#160;&#160;&#160;Prepaid 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;Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#x201c;PRC&#x201d;). Amounts are charged to earnings ratably over the lease periods of 20 to 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:PrepaymentForLandUseRightPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_fvuMNystbkm54xuEPrXFbQ"
      id="Narr_59FP2V3HM0eq_1AwZIesfw">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_oKqpTsuAeUSlSEhOGPyIKA"
      id="Narr_p9GgyNUSIkKt3aSrlTa7Ug">P50Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:EquityMethodInvestmentsPolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_tZuXwJxcFkqN6NjnWDwyag">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(p)&#160;&#160;&#160;&#160;Investments in affiliates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on investment, and the rest of the amount is considered as return of 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;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, 2019, 2020 and 2021, the Company recorded nil, $24,060 and nil of impairment charges on its investments, respectively.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_FcQzARX78kya3k11NpzotQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_QSx0jMR4l0eq6BHZlMB4dQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24060000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="0"
      id="Narr_MhrlvLFsOkO3wWtSdSTV8w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_KM6GCv9GAkCfrkTGOo0cSw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(q)&#160;&#160;&#160;&#160;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 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 based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $21,866, $11,854 and $6,084 for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_1TC5O3zycUm9i9ttCeyTAg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21866000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_tPFl1B-oj0WBzl62RNltHQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11854000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_FKdWECPH70uFOy1jvw6UoQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6084000</us-gaap:AssetImpairmentCharges>
    <us-gaap:InterestCapitalizationPolicyPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_8Fe-QcvmWkuQo0hqEu2J8Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(r)&#160;&#160;&#160;&#160;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 sell the asset to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.&lt;/p&gt;</us-gaap:InterestCapitalizationPolicyPolicyTextBlock>
    <us-gaap:AssetRetirementObligationsPolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_FYBFAypUBUeRnDZUh37e2g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(s)&#160;&#160;&#160;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. Assets retirement obligation (&#x201c;ARO&#x201d;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#x201c;ASC 410-20&#x201d;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it 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. The Company&#x2019;s ARO included in solar power systems was not material as of December 31, 2020 and 2021.&lt;/p&gt;</us-gaap:AssetRetirementObligationsPolicy>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_QIZ4ymM1kEOvlVcN0RK4_A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(t)&#160;&#160;&#160;Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Effective January 1, 2019, the Company adopted Accounting Standards Update (&#x201c;ASU&#x201d;) No. 2016-02, Leases (Topic 842), as amended (&#x201c;ASC 842&#x201d;) for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use (&#x201c;ROU&#x201d;) assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use (&#x201c;ROU&#x201d;) asset and lease liability. 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 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;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 are not recorded on the consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 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 and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in 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 charge in asset impairments on its consolidated statements of operations.&lt;/p&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_EJEG9Io64UaAZwuJWuuOuw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(u)&#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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_96zneiDyC0O0tsBmaoayKQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(v)&#160;&#160;Income taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&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;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_T29jV_Yjx060JWNBQZ00wg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar power products and materials&lt;/i&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 products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains 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 (aa) 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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company 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 customer. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Battery storage solutions and EPC services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company recognizes revenue for the sales of battery storage solutions (system integration business, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#x2019;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#160;&#160;Revenue recognition (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total anticipated 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar and battery storage projects&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Sales of solar power projects and battery storage power projects (project development business, including sourcing land, interconnection, structuring power purchase agreements and other permits and requirements for battery storage projects) are recognized at a point in time when customers obtain control of solar and battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The solar and battery storage projects are often held in separate legal entities which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#x201c;project companies&#x201d;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;O&amp;amp;M and asset management services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;O&amp;amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#x2019;s performance under the terms of service arrangements. Revenues from O&amp;amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performances and the costs of O&amp;amp;M and asset management services are expensed when incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#160;&#160;&#160;Revenue recognition &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Electricity revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Electricity revenue is generated primarily by the Company&#x2019;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when 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, 2019, 2020 and 2021, the Company recognized performance-based energy incentives related to electricity generated of $3,915, $6,628 and $9,402, 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&#x2019;s electricity revenue during the years ended December 31, 2019, 2020 and 2021 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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 5,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,302&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#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; 629&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,118&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 5,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,706&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,420&lt;/p&gt;&lt;/td&gt;&lt;/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-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 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The disaggregation of revenue from contracts with customers for the years ended December 31, 2019, 2020, and 2021 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 (Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation. Refer to Note 22 for further information.):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,210,459&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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,704,332&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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;/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,389&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 696,326&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 687,759&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,068,179&lt;/p&gt;&lt;/td&gt;&lt;/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; 22,409&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#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&#x2019;s contract assets and liabilities are as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td 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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&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;2021&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;/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; 28,461&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;/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; 37,244&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;&#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.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; 189,470&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 3pt 0pt 0pt;"&gt; 135,512&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,012&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,494&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 224,482&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 234,006&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;For the year ended December 31, 2021, $199,140 of the Company&#x2019;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2021. Contract liabilities of $234,006 as of December 31, 2021 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 0pt 6pt 0pt;"&gt;The Company has applied the practical expedients related to the revenue requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the revenue guidance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.&lt;/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 more than one year are not material to the Company.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <csiq:AmountOfPerformanceBasedEnergyIncentives
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YtP8-VOPtE-XDf6Ux3KVQA"
      decimals="-3"
      id="Narr_Qlis_wMZ9EqBubmwpwCF4Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3915000</csiq:AmountOfPerformanceBasedEnergyIncentives>
    <csiq:AmountOfPerformanceBasedEnergyIncentives
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_M3hmQbgtcECe-E6VsdKttA"
      decimals="-3"
      id="Narr_AGxSsa2ROkaohn62pQ8SVQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6628000</csiq:AmountOfPerformanceBasedEnergyIncentives>
    <csiq:AmountOfPerformanceBasedEnergyIncentives
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_5nMu5JmPPEGyXPr53dPdTA"
      decimals="-3"
      id="Narr_W2_zYUqF0kSB_d5-68k6oA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9402000</csiq:AmountOfPerformanceBasedEnergyIncentives>
    <csiq:ScheduleOfElectricityRevenueTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_ToQLmej7kUqFhGHm3thCgA">&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 5,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,302&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#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; 629&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,118&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 5,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,706&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,420&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfElectricityRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_UtRGT9yYcEK3LOZ9qcTI4w"
      decimals="-3"
      id="Tc_6Gx8zvP1x06kbspnyRhHAg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5866000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_wIaNeQbxTkq9vO40IGTwHQ"
      decimals="-3"
      id="Tc_ox5U_aqnBU205cAvZ25GAw_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9077000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_dzF_rcrg4UiN2pjm0cNswQ"
      decimals="-3"
      id="Tc_VgzCymJllkunDA0M-76eMg_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15302000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_l71XJMFKWUCgIe9B_Tngww"
      decimals="-3"
      id="Tc_vJYNg-jVGkC21olk6DI2IQ_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">629000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ZjURteT3yUenk-XpI1O1Yg"
      decimals="-3"
      id="Tc_980e0qNshU6BymGKWyrdeg_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14118000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YtP8-VOPtE-XDf6Ux3KVQA"
      decimals="-3"
      id="Tc_8T7huTzPzkKJptMP9HTwgw_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5866000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_M3hmQbgtcECe-E6VsdKttA"
      decimals="-3"
      id="Tc_k_GXAOQ-mkaV2oNDH-9pbQ_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9706000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_5nMu5JmPPEGyXPr53dPdTA"
      decimals="-3"
      id="Tc_LyFbtImFEUCMFvtblMnxCQ_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">29420000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_vIQwxUfUOUu-S-kgDxwIxw">&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 (Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation. Refer to Note 22 for further information.):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,210,459&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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,704,332&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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;/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,389&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 696,326&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 687,759&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,068,179&lt;/p&gt;&lt;/td&gt;&lt;/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; 22,409&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_epCDBGs1gUGU06ER_5AB9Q"
      decimals="-3"
      id="Tc_xUoZnuk3wkmYNChStYqTng_4_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2210459000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_STamKgI5KkG_yFYWkdlGxw"
      decimals="-3"
      id="Tc_5LadKKJD50CmwUZ3bBQWig_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2704332000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_DmuxOebKG0SJDwi3Pi4CXw"
      decimals="-3"
      id="Tc_ZNeorA--ZUW6zMocKcR7rw_4_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3881573000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_DlOM8CDZMkmeFN4M71aOUA"
      decimals="-3"
      id="Tc_J3CFw1rG5EOg-2XdbqctEQ_5_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">271389000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_P6G7rbv1KUmIZKReZmYi_A"
      decimals="-3"
      id="Tc_nqbUSqFbmUeZZ5_H90SSew_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45996000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_TxhYFdH_hEOqJoRFhWJg3Q"
      decimals="-3"
      id="Tc_ra5m6jHZPk-vvdRbSyQK7A_5_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">271513000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_CYYxEYxwe0WFH859XsqU8Q"
      decimals="-3"
      id="Tc_bKt58NVmj0CJuZ1U6843hA_8_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">696326000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_EQ6Ya3FbsEGlM5F_mk1TAg"
      decimals="-3"
      id="Tc_1ebY3NxYcEWbYs4X9IYP9A_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">687759000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_R5PE2AAQnkGaCQj2kNdwHA"
      decimals="-3"
      id="Tc_HXOCXFnqt0iX4GQRh4aEww_8_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1068179000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_FxMWBZ9S-06E6QiEQAsoCQ"
      decimals="-3"
      id="Tc_6Ojm4VS5JUShwTX7rVfzZQ_9_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22409000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_OqrCmk5C4ES1gpMtPWVPlg"
      decimals="-3"
      id="Tc_Rd37FbktE0il-C8OudA8zw_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">38408000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_7rOIARiEWUSIivTqK3cIEw"
      decimals="-3"
      id="Tc_ZEUNpD3EQU6oMBUyQEh_wg_9_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">55904000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_pxjQALMfU0eQQU5JXnN3cw_10_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_9g5b3u0Zy0KV3VbRoGyiOw_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_tcC3mm6fjUKwlBBq-4t1xQ_10_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_T4yLOeGhZ0CcBD_zxuWyTQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td 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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&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;2021&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;/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; 28,461&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;/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; 37,244&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;&#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.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; 189,470&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 3pt 0pt 0pt;"&gt; 135,512&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,012&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,494&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 224,482&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 234,006&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_5pyXKXJJBU2Amh9TnAdUaw_4_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28461000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_y9zWfD4fs02Bvk57pIYapA_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">37244000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_4Sf7ZIYwGkWf_M5zWl4RCg_7_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">189470000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_qiOiD_GLCEe0QJ4JRrgSQg_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">135512000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_MNM3Q1KhYEi0nk8qW3kv7Q_8_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35012000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Pw8WOtEIlE6M-QoWfQCSeA_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">98494000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_otu7msfYtEmakaE0cOWOkg_9_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224482000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_flLT77NWHE-cijLMvcmXbA_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">234006000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_VW0qYBs-HkaG_emO31SKYg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">199140000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_id8KXOmp3UO-z_HA9HaQ4Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">234006000</us-gaap:RevenueRemainingPerformanceObligation>
    <csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_EmTLlIh-0E-kvrNSw_sRMA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Shipping and handling &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of $88,079, $134,248 and $316,358, are included in selling and distribution expenses for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;</csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_ieSbl89XCUSV6clFD-_WRA"
      decimals="-3"
      id="Narr_QtJ_kZ2KvEeZQI9L0kR7lg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">88079000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_G9RAwZ7w5kW7SPxzwvMdzA"
      decimals="-3"
      id="Narr_Vk27D9Y4dkOc_LOmgsSHCA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">134248000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_b1w-2BN5HUy07gaU0yZ9_g"
      decimals="-3"
      id="Narr_pM5u0kDcMk2ws4z5FrOxSg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">316358000</us-gaap:SellingExpense>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_UAezOUPpJUa8OwlQECawjA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#160;&#160;&#160;&#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 $47,045, $45,167 and $58,407 for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_FsoU1Zt-VUahaP7dE9mxgQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47045000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_Bn1TS7a7IU6E5S3dYngjsw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45167000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_iSJBd8m84EO9pyT4NeRtWA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">58407000</us-gaap:ResearchAndDevelopmentExpense>
    <csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_TymsgbD6iEuXIjvgGnQEiQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other operating income, net&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&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 (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;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 prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; (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;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,245)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,468)&lt;/p&gt;&lt;/td&gt;&lt;/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 on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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,666)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  &#x2014;&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; (10,091)&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 property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (253)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(Insurance claims on) weather-related project damages &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  &#x2014;&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;"&gt; (1,025)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,408&lt;/p&gt;&lt;/td&gt;&lt;/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; (10,536)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (25,523)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,068)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock>
    <csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_aQNUzoRlu0SlN7OxrGtR6g">&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; (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;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,245)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,468)&lt;/p&gt;&lt;/td&gt;&lt;/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 on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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,666)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  &#x2014;&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; (10,091)&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 property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (253)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(Insurance claims on) weather-related project damages &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  &#x2014;&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;"&gt; (1,025)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,408&lt;/p&gt;&lt;/td&gt;&lt;/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; (10,536)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (25,523)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,068)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_jxXOkndr90K_G60fa4kK9Q"
      decimals="-3"
      id="Tc_QzwyXwwHBkyV_dM1jE2Q9A_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10097000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_GrantMember_XEb9CBo4nUqOn31P8X7STg"
      decimals="-3"
      id="Tc_VJl_KXlfVUeFNeCpEQeX7w_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24245000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_vlmqd1Ta4Ei7OrKojW9nzw"
      decimals="-3"
      id="Tc_vUbERqYh-kW3chVpW071nA_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">38468000</us-gaap:OtherOperatingIncomeExpenseNet>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_heqldt5uu0KLUhbOrFGjZg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1666000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_LuJUnZFYwkyiwnMvNwIzLA_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10091000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_zN_LZxwegE66ITKdSaNuUw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1227000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_HYZULADBRkORm6dfgIE6TQ_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-253000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_TXh6-tasPUiAQrcn4RCNuw_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">83000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:InsuranceClaimsOrWeatherRelatedProjectDamages
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_iveAIOLtbkiWXJqvadMlaQ_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1025000</csiq:InsuranceClaimsOrWeatherRelatedProjectDamages>
    <csiq:InsuranceClaimsOrWeatherRelatedProjectDamages
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc__y9tqeH_u02p9L_G61yqQQ_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1408000</csiq:InsuranceClaimsOrWeatherRelatedProjectDamages>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_qKsD88fIXkSxypLwpCHosw_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10536000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_HKQzub7570mWSr3Aq4U0Vg_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25523000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_qyCaxenQeUSiVgdCdC-oiA_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47068000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_OXkTutxnmUCk_tlvTvk6_g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#160;Warranty cost&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Before 2009, the Company 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019, the Company increased its guarantee for defects in materials and workmanship up to 12 years and the Company warrant that, for a period of 25 years, its standard polycrystalline 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 24th year, the actual annual power output decline of the module will be no more than 0.7%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of 30 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For solar projects built by the Company, 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 for a period of up to ten years following the energizing of the solar 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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#160;Warranty cost &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties 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 for sales of solar power&#160;products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties. 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 $1,728 and $528 as of December 31, 2020 and 2021, respectively and was included as a component of prepaid expenses and other current&#160;assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#x2019;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#160;Warranty cost &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#x2019;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is 25 or 30 years and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $82,532 and $87,729 as of December 31, 2020 and 2021, respectively, and were included as a component of other non-current assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company made upward adjustments to its accrued warranty costs of $2,622 and other non-current assets of $2,153 for the year ended December 31, 2021, to reflect the recent increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $28,044, $26,931 and $45,053 are included in cost of revenues for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;</us-gaap:StandardProductWarrantyPolicy>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ"
      id="Narr_Jwst_3vob0mnvA2mQa6cGQ">P2Y</csiq:StandardProductWarrantyPeriod>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ"
      id="Narr_7K-faalapUauwIQo6GbAJQ">P10Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ"
      id="Narr_6Rd90zDKEEerMPzl8RPfOg">P25Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ"
      decimals="2"
      id="Narr_UjwN9jTMrEmIc7xY92-3eg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.10</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_b2LS0j53jUmyd3oGtQwbcQ"
      decimals="2"
      id="Narr_jTmVtDsQfk-eQJMz9f2kBA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_u4ewgYH0BE2Wq1uPmMJI4w"
      id="Narr_y-nb1EfQGEGnTZOMQQRCgg">P6Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_10S7_yXU_U2d9vSAEUFtfw"
      id="Narr_Kr2wJnBUeEypkW_UrJOIzQ">P10Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_h9VfsIsTT0SP5VsfIckMCw"
      id="Narr_8gyIYDq0UkaxOsLTuJ_Ikg">P12Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_dsxCKPJzZE-OeR3xGjFvdQ"
      id="Narr_ylr9yuCy90it2pcmig-ioA">P25Y</csiq:InsurancePolicyTerm>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_ERgYShn35EirU9mKfM7MTg"
      decimals="3"
      id="Narr_ckAleXsS-UmXjSLCK09T-A"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.975</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_RdB8_mX8I0aRThF6LoZEMw"
      decimals="3"
      id="Narr_1ECzwZZz50qLmKr62EAHTg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.007</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_Ec21EHB2RU-MwsuUQ_ExbA"
      decimals="3"
      id="Narr_Th9qwLFBHU-WmR__goCrDQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.807</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_RTTvZip9J0CqODHRumDZWQ"
      id="Narr_xgoOPHBZv0q-eBoUJNxWCQ">P30Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_OX69uvUvgEeRUX95Lq8__Q"
      id="Narr_BjNMToOBRUm3S7BvygD3nA">P10Y</csiq:StandardProductWarrantyPeriod>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Narr_Er0Uiv_vEUyl0o7Tqpd2lQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.01</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_z-23Kq4-GUOews7wAgCjCg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1728000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_HfETtOx30kSdRJbjX_4ElQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">528000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA"
      id="Narr_KBiJeqFO2EemkmIYJ3jGPA">P25Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w"
      id="Narr_8QAv_J-dg0qnOvS2joJDOw">P30Y</csiq:InsurancePolicyTerm>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_fbjXes4f9UG_zP9a7bKOnw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">82532000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_6LDuqRXIsE6bWeH432eJSg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">87729000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_U3ZljX2eZkm_Qp79LWI-dA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2622000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <csiq:OtherNoncurrentAssetsAdjustment
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr__TXOYaE2YEacJLI4kXBzuA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2153000</csiq:OtherNoncurrentAssetsAdjustment>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_FTFEBuoh9kWXku-wzqxeLQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28044000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_w2eH7JwlL0WS587eXStWKg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">26931000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_oeCcdIw2mECTMT5vTHxnfQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45053000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_rbYXaerXP0uoTtlrZ8ytJw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Foreign currency translation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The United States dollars (&#x201c;U.S. dollars&#x201d; or &#x201c;$&#x201d;), the currency in which a substantial amount of the Company&#x2019;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The financial records of certain of the Company&#x2019;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#x201c;RMB&#x201d;), Euros, Canadian dollars (&#x201c;CAD&#x201d;), Japanese yen, Brazilian reals (&#x201c;BRL&#x201d;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_d5AvRtK4UkSSrj0DdNEbAg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac)&#160;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)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;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 and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. &lt;/p&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <csiq:ForeignCurrencyRiskPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_THJCgpIwmUGCMigybSo3AA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ad)&#160;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 2019, 2020 and 2021 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 Canadian dollars. The Company&#x2019;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, toll manufacturing fees, 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, Australian dollars and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. 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. Since 2008, 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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_0MfsTjZJkk2GQYZ3zSaDBQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ae)&#160;Concentration of credit risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;All of the Company&#x2019;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. 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, 2020 and 2021, 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:77.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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:8.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.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:9.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;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:20.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;2020&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;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;margin:0pt;"&gt;&lt;span style="font-size: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.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.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="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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:77.21%;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.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="font-size: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.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; 43,821&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="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,257&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:8.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; &#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;margin:0pt;"&gt;&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:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,117&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="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.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; &#x2014;&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;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:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,026&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;Not in excess of 10% of total advances to suppliers as of December 31, 2020.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_RfERIQYMfk6QS2Do5RgsXQ">&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:77.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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:8.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.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:9.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;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:20.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;2020&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;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;margin:0pt;"&gt;&lt;span style="font-size: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.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.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="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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:77.21%;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.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="font-size: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.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; 43,821&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="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,257&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:8.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; &#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;margin:0pt;"&gt;&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:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,117&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="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.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; &#x2014;&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;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:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,026&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;Not in excess of 10% of total advances to suppliers as of December 31, 2020.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2020_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_4a8GjbskAUyY7X6coVBiGA"
      decimals="-3"
      id="Tc_nvTXv8Q7nESRPN5eoxUBqg_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">43821000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_sY12ZlW3GUuVNWRhjtCJ2Q"
      decimals="-3"
      id="Tc_JQSdlAYCKUG9rN5bRNs0lg_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">52257000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierBMember_sDODvgHt50W6Uypj93Fo6Q"
      decimals="-3"
      id="Tc_xdENvhMfLE29f5kJse01DQ_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">37117000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierCMember_DRYi3nBre02_MxOTX0njxg"
      decimals="-3"
      id="Tc_YIzksBMTyUWvOAHQSIwZSg_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">36026000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_RKuANTVTRUKqEKKzdh-Wcw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(af)&#160;Fair value of financial instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 1&lt;/i&gt;&#x2014;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#x2019;s restricted cash balance and listed equity securities for all periods presented uses level one fair value inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 2&lt;/i&gt;&#x2014;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 3&#x2014;&lt;/i&gt;Unobservable inputs reflecting the Company&#x2019;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.&lt;span style="font-style:italic;font-weight:bold;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_VShqWATAYEuhGX5puhH9Iw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ag)&#160;Derivatives instruments and hedging activity&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#x2019;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#x2019;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#x2019;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and the Company, as necessary. &lt;/p&gt;</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_Sj56AAphOEecr7dm8dItqA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ah)&#160;Earnings per share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb__8ov08df0k2vbTk9KeCKFA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ai)&#160;Share-based compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#x201c;RSUs&#x201d;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <csiq:UnusualOrInfrequentItemPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_r8ztDcbR3UevnWvlW5F_XQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aj)&#160;Risks and uncertainties related to the COVID-19 pandemic&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#x2019;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#x2019;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#x2019;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed to slow the spread of COVID-19.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.&lt;/p&gt;</csiq:UnusualOrInfrequentItemPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_6Fgq9AqUekGaMJnKxoPAcQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ak)&#160;Recently issued accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In December 2019, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued ASU 2019-12, &#x201c;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#x201d;, which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. This ASU is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company adopted this standard effective January 1, 2021. 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 March 2020, the FASB issued ASU No. 2020-04, &#x201c;Reference Rate Reform (Topic 848)&#x201d;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#x2019;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#x201c;Reference Rate Reform &#x2014; Scope,&#x201d; which clarified the scope of ASC 848 relating to contract modifications. With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The company has $956,523 of LIBOR debt as of December 31, 2021 and projects the balance will be approximately $530,662 by the June 2023 discontinuance date. All of the Company&#x2019;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ak)&#160;Recently issued accounting pronouncements (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In August, 2020, the FASB issued ASU No. 2020-06, Debt&#x2014;Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging&#x2014;Contracts in Entity&#x2019;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard is not expected to 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 November 2021, the FASB issued ASU 2021-10, &#x201c;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#x201d;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#x2019;s financial statements. The new standard was effective for the Company beginning January 1, 2022. The Company is currently evaluating the impact of adopting this guidance and the potential effects it could have on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_3_31_2020_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember_jSU1pJ5frka_aeStj9NjTA"
      decimals="-3"
      id="Narr_jQ35-6fdkUmeYUKgAl9Ibw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">956523000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_kD5xv81kAkevPJ7hC9Kz4A"
      decimals="-3"
      id="Narr_DdmxFLhFhEWPiUXXpQ1olw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">530662000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:AllowanceForCreditLossesTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_hxO7fgYTSE-MDNGG0xyB3A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;3.&#160;ALLOWANCE FOR CREDIT LOSSES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Allowance for credit losses is comprised of allowances for accounts receivable trade, advances to suppliers and other receivables. Other receivables 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;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;2020&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;2021&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; 449,251&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.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; 698,498&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; (40,293)&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.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; (47,126)&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; 408,958&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.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; 651,372&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;2020&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;2021&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; 299,019&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.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; 279,800&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,700)&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.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; (19,682)&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; 279,319&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.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; 260,118&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;2020&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;2021&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; 238,779&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.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; 280,350&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; (8,802)&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.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,397)&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; 229,977&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.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; 270,953&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;3. ALLOWANCE FOR CREDIT LOSSES (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 and advances to suppliers:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Advances&#160;to&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts&#160;Receivable&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Suppliers&#160;and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Trade&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&#160;Receivable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December&#160;31,&#160;2018&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,630&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Allowances made (reversed) during the year, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,386)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (309)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,452)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;border-bottom:1px solid #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,493)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;border-bottom:1px solid #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; (123)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December&#160;31,&#160;2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Cumulative-effect adjustment for the adoption of ASU 2016-13&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,785&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,647&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Writeoffs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (639)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,490)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,602&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December&#160;31,&#160;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 40,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 7,171&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 444&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Writeoffs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (197)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (53)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (141)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 186&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December&#160;31,&#160;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,126&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;margin:0pt;padding: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;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AllowanceForCreditLossesTextBlock>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_NL0LmfYfqkiZV1IATUfOyQ"
      id="Tb_nwK54yAg3kW2h-ont4sdqw">&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;2020&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;2021&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; 449,251&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.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; 698,498&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; (40,293)&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.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; (47,126)&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; 408,958&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.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; 651,372&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg"
      decimals="-3"
      id="Tc_HGveM7aXFEyvMDP8oJ-XVw_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">449251000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg"
      decimals="-3"
      id="Tc_cQDgfgdjZ0akTLT4bJOxjQ_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">698498000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg"
      decimals="-3"
      id="Tc_CmkOBo6tck-p6tKYwZmxvg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">40293000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg"
      decimals="-3"
      id="Tc_ew3wipB6jE-Har_oowUKRA_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47126000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg"
      decimals="-3"
      id="Tc_XCPBt6cwmEOnYyorBntQ9A_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">408958000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg"
      decimals="-3"
      id="Tc_ffeqa1XTeEu60M-6phiAwQ_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">651372000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_SXh7c36LUU6pmxQDXofBiQ"
      id="Tb_DGNSqmtDkkK0ie8ICXHfEg">&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;2020&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;2021&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; 299,019&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.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; 279,800&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,700)&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.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; (19,682)&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; 279,319&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.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; 260,118&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BM0VLg1Dgky_h60ZAGRnyQ"
      decimals="-3"
      id="Tc_f733vHfR90uqTJx9Om4Pog_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">299019000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_8qBCfaIMt02j9DdASJvJwQ"
      decimals="-3"
      id="Tc_PjQ6kwdwQku7yhIvb-OpdA_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">279800000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BM0VLg1Dgky_h60ZAGRnyQ"
      decimals="-3"
      id="Tc_3nW1V5RJxUKw0mSzhiGKNw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19700000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_8qBCfaIMt02j9DdASJvJwQ"
      decimals="-3"
      id="Tc_2z92x9MAa0eD_AYDjDKgJw_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19682000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BM0VLg1Dgky_h60ZAGRnyQ"
      decimals="-3"
      id="Tc_7iV04xGjBEKNvILRnvAwSw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">279319000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_8qBCfaIMt02j9DdASJvJwQ"
      decimals="-3"
      id="Tc_7KROs5fWj06ATe_7UhvLRw_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">260118000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_J_1YYATexU2mCgsmLZ-G3g"
      id="Tb_ckxlMIp5BUeTT78Xe_5scA">&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;2020&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;2021&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; 238,779&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.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; 280,350&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; (8,802)&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.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,397)&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; 229,977&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.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; 270,953&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_QueGe8e5EEGlINdWVqJp6A"
      decimals="-3"
      id="Tc_8AAaSPPBeECiH9Obx5EEbQ_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">238779000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_hmfRew07WEWAEfUcnYMpLQ"
      decimals="-3"
      id="Tc_MfJFjdFCz0m0v9MooKMxnw_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">280350000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_QueGe8e5EEGlINdWVqJp6A"
      decimals="-3"
      id="Tc_s-W9wmzbj06miUnKZC12WQ_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8802000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_hmfRew07WEWAEfUcnYMpLQ"
      decimals="-3"
      id="Tc_ITGJHWSE4kqBH08pcmYGHw_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9397000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_QueGe8e5EEGlINdWVqJp6A"
      decimals="-3"
      id="Tc_OjujaQCAWU6HrgodEimRRw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">229977000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_hmfRew07WEWAEfUcnYMpLQ"
      decimals="-3"
      id="Tc_d4Ak_6t2tU6Cw-kHEJj0pA_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">270953000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_DrvnjvKcAkK5AeS_yaxD4w">&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.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Advances&#160;to&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts&#160;Receivable&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Suppliers&#160;and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Trade&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&#160;Receivable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December&#160;31,&#160;2018&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,630&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Allowances made (reversed) during the year, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,386)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (309)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,452)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;border-bottom:1px solid #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,493)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;border-bottom:1px solid #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; (123)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December&#160;31,&#160;2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Cumulative-effect adjustment for the adoption of ASU 2016-13&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,785&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,647&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Writeoffs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (639)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,490)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,602&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December&#160;31,&#160;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 40,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 7,171&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 444&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Writeoffs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (197)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (53)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (141)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 186&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December&#160;31,&#160;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,126&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;margin:0pt;padding: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;/table&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_e0_G-9mSx0ebqaJdY_0Knw"
      decimals="-3"
      id="Tc_w1hRbLc5xkKLGZqAY1QRbw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">32733000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Q4VpPoQ9bUygy0-qu8hMsQ"
      decimals="-3"
      id="Tc_gNQAjMOAL02_yi1cAmx1Jg_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30630000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_3KvATZByD0qH5-DH83BCSw"
      decimals="-3"
      id="Tc_CMBWD5b5E0CUDLhkYeQ0VA_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1386000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_TeVEUvCXQUSWU6WK7q2iEA"
      decimals="-3"
      id="Tc_JeJTalWAcU6u7yORRCqh5Q_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2657000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_3KvATZByD0qH5-DH83BCSw"
      decimals="-3"
      id="Tc_uJPXFzrP40W7dvIuXuANfg_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">309000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_TeVEUvCXQUSWU6WK7q2iEA"
      decimals="-3"
      id="Tc_tA6FNJaEMECfUIbecBR9UQ_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1452000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_3KvATZByD0qH5-DH83BCSw"
      decimals="-3"
      id="Tc_K8MqA_e930K5_Vmds_ikCQ_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1493000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_TeVEUvCXQUSWU6WK7q2iEA"
      decimals="-3"
      id="Tc_H2MS3CNzREehtRKU8r8CuA_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-123000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_bf7Q7pXEPEC5G2Zs8iTang"
      decimals="-3"
      id="Tc_pc-mSFWQN0ymaeBeRKLi8Q_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">29545000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_HpSRES9v6Eq5rxIfbUS_MA"
      decimals="-3"
      id="Tc_oXRM-IMZrU-TyoL-x44jaA_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">31712000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_x4H_mnzlN0yVZF2ueX4mrQ"
      decimals="-3"
      id="Tc_pKM_kuopOEysm6k1Wz7wUA_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-9785000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_D-h256mGCUeWbYfDZB3eYQ"
      decimals="-3"
      id="Tc_eVsoLWFDX0W20EtVYASyfQ_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1647000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_x4H_mnzlN0yVZF2ueX4mrQ"
      decimals="-3"
      id="Tc__4Cju7HX-kOu7BAgogoEKg_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">639000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_D-h256mGCUeWbYfDZB3eYQ"
      decimals="-3"
      id="Tc_s9E6AFVUM0WP76SXcunzlw_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5490000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_x4H_mnzlN0yVZF2ueX4mrQ"
      decimals="-3"
      id="Tc_Q13B9Xgt4kG-05jjop4ICw_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1602000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_D-h256mGCUeWbYfDZB3eYQ"
      decimals="-3"
      id="Tc_El0zmVKU3kiSve8kwg6VLQ_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">633000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_CaFEfXRds0y31NutKJm5xg"
      decimals="-3"
      id="Tc_Puuo9341gkyLyqi-NBx0Eg_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">40293000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_4T_NCYEy5UybEiqn8Q0tPw"
      decimals="-3"
      id="Tc_SPOstgo790mvlcvMLLpfeA_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28502000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_9y9FZLXcVEysruByGFEoZg"
      decimals="-3"
      id="Tc_nu52AZ-01kKHdd8A3cxAkA_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7171000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Iof7ixIH206pnDUM37XZOA"
      decimals="-3"
      id="Tc_Re-xniYmZkqRWzeLziltEw_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">444000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_NL0LmfYfqkiZV1IATUfOyQ"
      decimals="-3"
      id="Tc_ranFV8LhUU2mcg5pIRrHQg_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">197000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_DDvJyNTjwUymyvPm2FEHmQ"
      decimals="-3"
      id="Tc_ppNqpOW-T0G3NRPDsPcwaQ_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">53000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_NL0LmfYfqkiZV1IATUfOyQ"
      decimals="-3"
      id="Tc_VK5lM2q0AEq2ho6g-AAG4g_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-141000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_DDvJyNTjwUymyvPm2FEHmQ"
      decimals="-3"
      id="Tc_oK9dkilwiUG7ffvHbafr-Q_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">186000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg"
      decimals="-3"
      id="Tc_53S9TKF4LEmiXQGxE3H04g_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47126000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_Dn26cC9s_UuMJ1xEJrGk4w"
      decimals="-3"
      id="Tc_M-Uf_Ma0-U6t8QVOTq5Jeg_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">29079000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_J56enDDDV0mLhlq_NWFTTQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;4.&#160;INVENTORIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Inventories consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,308&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,433&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Work-in-process&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,132&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,509&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 536,541&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 919,432&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 695,981&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,192,374&lt;/p&gt;&lt;/td&gt;&lt;/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 $181,012 and $163,078 as of December 31, 2020 and 2021, respectively, that allow solar energy systems to qualify for the U.S. Federal Investment Tax Credit by satisfying the 5% safe harbor method outlined in the U.S. Internal Revenue Service (IRS) guidance notice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 2019, 2020 and 2021, inventory was written down by $19,447, $42,907 and $14,070, respectively, to reflect the lower of cost and net realizable value.&lt;/p&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_offLtFzzmkiIzrgHHBERFg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,308&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,433&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Work-in-process&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,132&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,509&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 536,541&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 919,432&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 695,981&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,192,374&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_NCtTnCpwYUGiA7s9Ma-cvQ_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">90308000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_4HakPEGv3Uyo0tud6UGF4w_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">155433000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_cxa_-a-4PEqR7uEUnyKLJw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">69132000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_KiLeF4IgyUuSm9A-0iTg4w_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">117509000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_ONmo1fFfCUqWjcxG6KQj_A_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">536541000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_nxhMTz_R-0W7NPuvWiLAbA_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">919432000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_cE-C4IcgOkWZZehbfs-9sA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">695981000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_2vaPeAR5WkmnAPmrRV7D9A_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1192374000</us-gaap:InventoryNet>
    <csiq:FinishedGoodsModules
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_QHc0wefdOU2ch3APoCLFcA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">181012000</csiq:FinishedGoodsModules>
    <csiq:FinishedGoodsModules
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_NSxhTK6hekeySEytReJ6iQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">163078000</csiq:FinishedGoodsModules>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Narr_5RYUL_-SyUuQk24h61hnaA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.05</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_PQmUA2S-fE-9Jiz7AXH3dw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19447000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_J7QKbLU97UWF7BuBtfpPaw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42907000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_vh-D35RPykSEK_Bm896jIw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14070000</us-gaap:InventoryWriteDown>
    <csiq:ProjectAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_ablSpugjwkWEEcAR34s3rA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;5.&#160;PROJECT ASSETS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Project assets consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; Acquisition cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,549&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; 70,651&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; EPC and other cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,092,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 956,710&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,137,466&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,361&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 747,764&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 594,107&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Non-current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 389,702&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; 433,254&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 $20,194, $369 and $17,152 for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;</csiq:ProjectAssetsDisclosureTextBlock>
    <csiq:ScheduleOfProjectAssetsTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_qec0YneVvku0f8BiKocIPA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; Acquisition cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,549&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; 70,651&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; EPC and other cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,092,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 956,710&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,137,466&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,361&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 747,764&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 594,107&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Non-current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 389,702&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; 433,254&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfProjectAssetsTableTextBlock>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_tGM33kzlNkqPwYMyn0ZT3g_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">44549000</csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_fmDsCLFezkWln2GM2geVvA_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">70651000</csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_n3M8bsAK7ki7tltskiHvGw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1092917000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ytoXtp7BgkK4i_eWVmfiTw_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">956710000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_Xm32xx-bUEmh7if3HmrYag_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1137466000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_OD2bHB48mEGEoMp9HWdJzw_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1027361000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_9iGWmKl7f0qF5y89lL8ltA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">747764000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_aI8EA9K4aE-zlLMQ1MaAQA_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">594107000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_cS1uOZAVHE6QAszRzTiCOQ_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">389702000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_YnLesqcGsEmdFubWsXYpxQ_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">433254000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_OgwkF_lAp0y_bCNsc4xTtw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20194000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_bBVphREk_EmWxN7zgxe9Ig"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">369000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_MDfkeqZ0PkS2Bc2DzVOAwA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17152000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_mdz-Vhu_aEm7RTMw9m70cw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;6.&#160;PROPERTY, PLANT AND EQUIPMENT, NET&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Property, plant and equipment, net consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&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;2021&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; 533,647&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.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; 724,940&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; 14,804&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.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; 32,995&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,191,780&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.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,477,638&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; 75,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.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; 86,616&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; 7,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;&#160;&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; 9,833&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;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; 20,231&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 31,691&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; 1,843,761&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.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,363,713&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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (827,601)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.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; (1,019,988)&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;Impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #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; (52,149)&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.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (42,828)&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;Subtotal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 964,011&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.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; 1,300,897&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;Construction in process&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:1px solid #000000;margin:0pt;padding: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,720&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.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,980&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;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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:3px double #000000;margin:0pt;padding: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,157,731&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,401,877&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 $148,034, $197,600 and $266,956 for the years ended December 31, 2019, 2020 and 2021, respectively. Construction in process primarily represents production facilities under construction and the machinery under installation. &lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_eUEW_KQJH02hfEg7M_qSAg">&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;2020&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;2021&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; 533,647&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.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; 724,940&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; 14,804&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.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; 32,995&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,191,780&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.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,477,638&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; 75,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.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; 86,616&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; 7,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;&#160;&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; 9,833&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;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; 20,231&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 31,691&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; 1,843,761&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.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,363,713&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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (827,601)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.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; (1,019,988)&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;Impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #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; (52,149)&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.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (42,828)&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;Subtotal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 964,011&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.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; 1,300,897&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;Construction in process&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:1px solid #000000;margin:0pt;padding: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,720&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.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,980&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;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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:3px double #000000;margin:0pt;padding: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,157,731&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,401,877&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KHu_sbSbNEKbY2JngZ0BEw"
      decimals="-3"
      id="Tc_9Scz2wo6gUG1_gzcic3rTg_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">533647000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_-FM8yzjTPU2U8c69ax-n_Q"
      decimals="-3"
      id="Tc_igvLMoYtSki1YJB2wSsaMg_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">724940000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_e4ksN3XW6UuxGTrGHnRcNg"
      decimals="-3"
      id="Tc_ZH56PNEIIUe4g5YtkUGVSg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14804000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_WUmGBvWKMkaBlt8gdsNiFQ"
      decimals="-3"
      id="Tc_b0qF_p77tEWWv9uZ_W5i3Q_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">32995000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_A8jAP0LWfEOPT25iutk66w"
      decimals="-3"
      id="Tc_IBv6MtHluUGjaDXdjBpimw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1191780000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_UoYBzaTdSU-qdqiX4VYRvQ"
      decimals="-3"
      id="Tc_Ir0ClvATH0agbPT1O4Cs2Q_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1477638000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_H6GQ4xmxwEyeecDferH5jA"
      decimals="-3"
      id="Tc_eYDkdw-DaUqg0KyM-_ZlNw_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">75656000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_huHdn6rGrES9kDGhkA7zXA"
      decimals="-3"
      id="Tc_TQQOxEuLPEONqMImY3XU_A_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">86616000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_6HIB3VlG6Em1adFmZxDSUw"
      decimals="-3"
      id="Tc_IyIa3dOnfECsbrMm73XiBA_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7643000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_kV1zWAeWvEeVEqMZw5mogw"
      decimals="-3"
      id="Tc_63LrysuNPUq5rbaf-0J5pw_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9833000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dNbDeMD4HkKSp1_pKmfuUQ"
      decimals="-3"
      id="Tc_2Ii2i8QPJky0qxQfMreZ2A_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20231000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_z77O0eoBz0-YeUKRFxNMAA"
      decimals="-3"
      id="Tc_E18A2wICDU66bayrAQOpmw_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">31691000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_plCTWTBtWkKo3wyVE4owKg_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1843761000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_sxNEsUwGREG90qK_FCgyIQ_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2363713000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_VuE1UoYzg0aZwWj9Emrl2w_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">827601000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_SXQjuYCRKU-FCygGHkWDTw_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1019988000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <csiq:AccumulatedAssetImpairmentCharges
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_FRb6iIIo_U6ESiUEKMTn0w_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">52149000</csiq:AccumulatedAssetImpairmentCharges>
    <csiq:AccumulatedAssetImpairmentCharges
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_tWTyDIk_40q995ZipwTD0Q_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42828000</csiq:AccumulatedAssetImpairmentCharges>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_tEhZ-ZHN2EKAC6ZAZI9x-w_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">964011000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_A7iZmyrYVk-1jpAQUXLRRQ_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1300897000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_wjNCDvvj4kqlgq91s4WZQA_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">193720000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Zl2_jItO5UGTr8ZwnS_SwQ_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">100980000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_uqDoxwtcV0y6a4rHhBdW2A_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1157731000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_XXLl5e_1vEq59hT8j5h2BQ_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1401877000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_y-bXRBP0kE-ZoA6XwotkJQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">148034000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_2LSLAYYNAEOVyvNwB1q9ug"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">197600000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_vTMuJhgg6UmVna7dooj3_w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">266956000</us-gaap:Depreciation>
    <csiq:SolarPowerSystemsTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_o-24rw-fIEqFx2cv51TVew">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;7. SOLAR POWER SYSTEMS, NET&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Solar power systems, net consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems in operation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,339&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems under construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding: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,565&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,684&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&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:1px solid #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; (30,535)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,760)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 158,262&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 108,263&lt;/p&gt;&lt;/td&gt;&lt;/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 solar power systems was $6,379, $6,396 and $11,212 for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;</csiq:SolarPowerSystemsTextBlock>
    <csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_-Xkc7Zf8gkK79lY1gaJSIw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems in operation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,339&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems under construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding: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,565&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,684&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&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:1px solid #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; (30,535)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,760)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 158,262&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 108,263&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_tN6QA7tF-Ee1plzQX-LjGA"
      decimals="-3"
      id="Tc_Go5EU2dX606tJ67gMbip2A_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">182232000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_3kWoO7oXNESnMI9VcRKVWg"
      decimals="-3"
      id="Tc_prx3sHH_IUGUI4fZhiRoeQ_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">117339000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_qq6RWunVjUGoxXVpQJnlzg"
      decimals="-3"
      id="Tc_HYa0A7WWkk-uB75svY7Jyg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6565000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_vF3dX8aG10S00S82cjWQZg"
      decimals="-3"
      id="Tc_ZUwkpRg2GEO7Vvfrl7XM6w_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4684000</csiq:SolarPowerSystems>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc__WftFe7DpEKI2EJbSOGGcw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30535000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_s2rkH1PB3EWOGUVMv3z8XQ_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13760000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_20eeHV5UZke2GgmHq47j4w_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">158262000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ANuxN9sKdkWgw_6wcmz97g_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">108263000</csiq:SolarPowerSystems>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_lHr8ufMChECO4U9Jus6uiA"
      decimals="-3"
      id="Narr_pAnS_i9XJUObrmK_ORDQ3w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6379000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_RRMsT1YOEUK0V4sv2xF34A"
      decimals="-3"
      id="Narr_zk6ESB7BtkmjjySn4877BA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6396000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_b3l8cSbYEU6Vh4Z9XdPP9Q"
      decimals="-3"
      id="Narr_NkWj-OqBl0KqTVQMWCIXcA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11212000</us-gaap:Depreciation>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_IZEsIc_Et0Sx6yVzN8wqkQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;8.&#160;INTANGIBLE ASSETS, NET&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s intangible assets, net:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,562)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,082)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,977&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,636&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,644)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table 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, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-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,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; (1,525)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 41,085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (18,674)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 22,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;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; 42,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;border-bottom:3px double #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,199)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 22,429&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Amortization expense for the years ended December 31, 2019, 2020 and 2021 were $5,310, $5,122 and $4,601, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Amortization expenses of the above intangible assets are expected to be approximately $4,409, $3,228, $2,691, $2,198, $2,052 and $4,414 for the years ending December&#160;31, 2022, 2023, 2024, 2025, 2026 and thereafter, respectively.&lt;/p&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_GLbxsG0yM0y-m6U8JS68yg">&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, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,562)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,082)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,977&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,636&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,644)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table 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, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-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,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; (1,525)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 41,085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (18,674)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 22,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;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; 42,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;border-bottom:3px double #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,199)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 22,429&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_awYlA3Z1R0Ov3l257vb9Zg"
      decimals="-3"
      id="Tc_HN2ab4-wKkqDJ_1-G7T-fg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1577000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_awYlA3Z1R0Ov3l257vb9Zg"
      decimals="-3"
      id="Tc_nlqtIIe8b0SzaAkSBj1xJw_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1562000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_awYlA3Z1R0Ov3l257vb9Zg"
      decimals="-3"
      id="Tc_7_-HHjDFnEWAh7TAcezHSg_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_kl32AtrNhUqJBbWIHcfnnw"
      decimals="-3"
      id="Tc_aXmbbngYrE-2HeBCLFqrdg_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">39059000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_kl32AtrNhUqJBbWIHcfnnw"
      decimals="-3"
      id="Tc_LZR1SQm2206sE7EosrqLSA_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20082000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_kl32AtrNhUqJBbWIHcfnnw"
      decimals="-3"
      id="Tc_HV2TmbujVUeXD-OGaadR3Q_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18977000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_w6rrO-tQg0qRxfWnebErUA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">40636000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ZAtn2wa1HEC4vUjjRnJj-A_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21644000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_w72CPZrhKkay2ZPC3Y2Acg_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18992000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_zawpYAh-P0-PmyHGn0d09w"
      decimals="-3"
      id="Tc_FvQuIC0RA02i1e69Jw8fhg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1543000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_zawpYAh-P0-PmyHGn0d09w"
      decimals="-3"
      id="Tc_HmKDQJrbbEuO6yrQYvP8Ow_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1525000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_zawpYAh-P0-PmyHGn0d09w"
      decimals="-3"
      id="Tc_7zXD7pVxpEGsyODLbUqytA_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AmmuiOtJ3kG2WVH-TKc70Q"
      decimals="-3"
      id="Tc_M9p2JXdrM0aRIEdnJgOn1A_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">41085000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AmmuiOtJ3kG2WVH-TKc70Q"
      decimals="-3"
      id="Tc_u8is_CVZJkqNr_t0o394tg_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18674000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AmmuiOtJ3kG2WVH-TKc70Q"
      decimals="-3"
      id="Tc_ie9l67JRNEGPkM9nGs1kyA_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22411000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_vHFxWs9B6UOmBvLJo9t64w_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42628000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_eooZ1ZkHAUm2LgWCC0Fteg_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20199000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_U9xfJzHB_0KAMmP3wBQTWQ_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22429000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_dT1V2Rp4dUqhtDKTcFKUqA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5310000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_aLB3V2wyvU2Gm98zC_Yzjg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5122000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_SnjYou3wekOLvOU5gw1yGw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4601000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_d2wdvLfC10KLiDX6GMR7PA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4409000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_6dW9vR5JxE2TfqEByIqXpw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3228000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_vbwek5EVrUqmhd5Jyv0AuQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2691000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_GKke-xx4TUuqfp4lWQp-9Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2198000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_b2E7RyFBIUu3sjvqQXjKDA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2052000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <csiq:FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_8bDwPiJ3j0-qS2y0uufS-Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4414000</csiq:FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_grCQwTLu4kGk1NWnHg1M_A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;FAIR VALUE MEASUREMENT&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company measures at fair value its financial assets and liabilities by using a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value. Fair value is the price that would be received from the sale of an asset or paid to transfer a liability (i.e., an exit price) on the measurement date in an orderly transaction between market participants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2020 and 2021, with the exception of its listed equity securities which was measured based on unadjusted quoted prices for identical assets in active market (Level 1 inputs), the Company&#x2019;s financial assets and liabilities were measured at fair value on a recurring basis in periods subsequent to their initial recognition all using the significant other observable inputs (Level 2 inputs). &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Foreign exchange&lt;/span&gt; &lt;span style="font-style:italic;font-weight:bold;"&gt;option and forward contracts&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company entered into certain foreign currency derivative contracts to protect against volatility of future cash flows caused by the changes in foreign exchange rates. The foreign currency derivative contracts do not qualify for hedge accounting and, as a result, the changes in fair value of the foreign currency derivative contracts are recognized in the consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s foreign currency derivative instruments relate to foreign exchange options or forward contracts involving major currencies such as Renminbi, Brazilian reals, Euros, Canadian dollars and South African rand. Since its derivative instruments are not traded on an exchange, the Company values them using valuation models. Interest rate yield curves and foreign exchange rates are the significant inputs into these valuation models. These inputs are observable in active markets over the terms of the instruments the Company holds, and accordingly, the fair value measurements are classified as Level 2 in the hierarchy. The Company considers the effect of its own credit standing and that of its counterparties in valuations of its derivative financial instruments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Interest 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 6pt 0pt;"&gt;In July 2020, the Company completed the sale of its class B membership interests in the Roserock project to an unrelated third party, and consequently the Company&#x2019;s interest rate swap contracts with total notional amounts of approximately $399,000 were paid off following the loan repayment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, the Company 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 6pt 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;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;text-indent:18pt;margin:0pt;"&gt;The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2020 and 2021 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2019, 2020 and 2021 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,178&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,124&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,173&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 162&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;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;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 assets&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: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;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 assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;76&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;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;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;&#160;&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; 23,351&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;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:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,362&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,753&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,622&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&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; 10,755&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;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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,622&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&#160;of&#160;Gain&#160;(Loss)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recognized&#160;in&#160;Statements&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Location&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gain&#160;(Loss)&#160;Recognized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;in&#160;Statements&#160;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;2021&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;"&gt; (20,249)&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:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,807&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&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 3pt 0pt 0pt;"&gt; 22,582&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;"&gt; (1,022)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; 220&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Commodity hedge&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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 3pt 0pt 0pt;"&gt; 983&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (947)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,182)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (22,218)&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:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,001&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,785&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;Listed equity securities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In December 2020, the Company received shares of a company that is listed on Shenzhen stock exchange for the disposal of its ownership of Suzhou iSilver Materials Co., Ltd, valued at RMB91,370 (approximately $14,003) on the transaction date as part of the consideration. These shares were carried at fair value of $15,056 and $20,195 as of December 31, 2020 and 2021, respectively, included as a component of Prepaid expenses and other current assets. Unrealized gains on these shares of $1,048 and $4,744 was recorded as investment income in the consolidated statements of operations for the years ended December 31, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other fair value measurements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company measures certain long-lived assets or long-term investments at fair value on a non-recurring basis in periods after initial measurement in circumstances when the fair value of such assets is below its recorded cost and impairment is required. The Company assesses ROU assets for impairment quarterly. If the carrying value of ROU asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company recorded impairment charges for certain manufacturing asset group of $21,866, $11,854 and $6,084 for the years ended December 31, 2019, 2020 and 2021, respectively. The fair value of these assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded in general and administrative expenses of CSI Solar segment on its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;FAIR VALUE MEASUREMENT &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other fair value measurements &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company recorded impairment loss on project assets of $20,194, $369 and $17,152 for the years ended December 31, 2019, 2020 and 2021, respectively. The fair value of project assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded as cost of revenues on its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company also holds financial instruments that are not recorded at fair value in the consolidated balance sheets, but whose fair value is required to be disclosed under the U.S. GAAP. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, other receivables, accounts payables, short-term notes payable, amounts due to related parties, other payables and short-term borrowings approximate their fair values due to the shorter -term maturity of these instruments. Long-term borrowings were $446,090 and $523,634 as of December 31, 2020 and 2021, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The fair value of long-term borrowings was measured based on discounted cash flow approach, which is classified as Level 2 as the key inputs can be corroborated with market data.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The carrying value of the Company&#x2019;s outstanding convertible notes was $223,214 and $224,675 as of December 31, 2020 and 2021, respectively, which approximates the fair value.&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_hy9LXXCss0-n-dN8aTEwDQ"
      decimals="-3"
      id="Narr_IXPDZqa8SkO_9FHOfjBq-g"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">399000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_GIOUeJ0hlEueZrAkeX67Vg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,178&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,124&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,173&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 162&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;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;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 assets&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: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;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 assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;76&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;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;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;&#160;&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; 23,351&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;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:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,362&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,753&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,622&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&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; 10,755&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;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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,622&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_aXaYQ-GGW0CxRUjHUbg8fA"
      decimals="-3"
      id="Tc_acaGDYaCaE-pH8oNvqZT-A_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22178000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7C7tlO2W6k-xf2WTdGPQ-Q"
      decimals="-3"
      id="Tc_9h5fEjCONUCQR86XC4lMxQ_5_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7124000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_-JW98uUv70qHAwAPzcN8SQ"
      decimals="-3"
      id="Tc_znlTxypKskCheR2cUqiHrw_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1173000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_hf5NGKDBpk2DJoKbVbsXEQ"
      decimals="-3"
      id="Tc_QeJ_1iPO_kOrqebT74RwmQ_6_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">162000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ylpZg90LHk2zZiR3H2XEPQ"
      decimals="-3"
      id="Tc_BbHhnM4W_06wf_bNcME-zw_7_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">76000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2020_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_kLzxw1pQMkmxx6Li_rtfTw"
      decimals="-3"
      id="Tc_ZUriyORqkUa0p6nxne5-bg_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23351000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_4FWVVmlT5UuA0CAFPFqgBA"
      decimals="-3"
      id="Tc_Ezoz0U57KEaIXLthCfFuPw_8_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7362000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_z6oG1VEGYke7c-PjvMSzdQ"
      decimals="-3"
      id="Tc_FddxfwX2Kk2Ykthe4Ck39g_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10753000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_k5FdJZJTQE6R9o9Ez-V4-Q"
      decimals="-3"
      id="Tc_LYgzPUnq3ki7ud3GR6aiBA_5_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2622000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2020_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tOPsYRzvuku7j6hgsPIKVQ"
      decimals="-3"
      id="Tc_Om7sGNkWu02P6YBntiJhTA_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2020_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_kLzxw1pQMkmxx6Li_rtfTw"
      decimals="-3"
      id="Tc_DZnpx04ydEO8UQkJH4s3FA_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10755000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_4FWVVmlT5UuA0CAFPFqgBA"
      decimals="-3"
      id="Tc_SVWCAyIf6kWfUtzwFF1KJg_7_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2622000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_jFkpBqR9kE-s63VG0KDgZA">&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;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;2021&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;"&gt; (20,249)&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:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,807&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&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 3pt 0pt 0pt;"&gt; 22,582&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;"&gt; (1,022)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; 220&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Commodity hedge&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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 3pt 0pt 0pt;"&gt; 983&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (947)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,182)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (22,218)&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:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,001&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,785&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_2Hv_NQbIEk-OzvRXFu7rTg"
      decimals="-3"
      id="Tc_PH2gf4D9MUytOGXan8Ftgw_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-20249000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_pOy0KZxhJUijWIhxYXMWVQ"
      decimals="-3"
      id="Tc_AYhzd0G8NkaHSxL2HBXNow_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">49807000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_Uk6nWU03SUOyPZ-gAbXG5Q"
      decimals="-3"
      id="Tc_AEDaUIV7Yk6Bp3Zai1N1bA_7_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22582000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_2C8fcSjMSkSPPe9hew5OTw"
      decimals="-3"
      id="Tc_iaY8IM93Qk6evbSnhlNs_w_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1022000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_4E73SSWE6EaMoTQfEqHSAQ"
      decimals="-3"
      id="Tc_4QL_pHWPnU26wZo4ocJpvg_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1376000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_azeMWygeSkGGFmhr2WCjtw"
      decimals="-3"
      id="Tc_18Y6ug33B0WAz770VM-l6A_8_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">220000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_aJa7efIEBE6XFgrNQRpckA"
      decimals="-3"
      id="Tc_XFKgmJBM7ECuBzAXvXG_Mw_9_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">983000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_llairrzg9kqdJwN6tyAMYQ"
      decimals="-3"
      id="Tc_ywolLZJK8Um8miO9DMMy_w_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-947000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZdZrkK_bNUa_lD63ryM5qw"
      decimals="-3"
      id="Tc_y33gLROCU0K2GRiEALJkZw_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1182000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_dVlFLY7atku7ZOnLJM4XWQ_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-22218000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_rmbuI-EL2Em4C9q2W2XqNQ_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50001000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_xDA-vBitgUiHkRkuVbmEFw_11_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23785000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_NheWc7HcN0m_AbOCNZQwsg"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">91370000</us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent>
    <us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_RDmc8pTgMUqglK2cfrsfpQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14003000</us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent>
    <us-gaap:EquitySecuritiesFVNINoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="0"
      id="Narr_tga2AYJqWkid0qmWrxMpDw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15056</us-gaap:EquitySecuritiesFVNINoncurrent>
    <us-gaap:EquitySecuritiesFVNINoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="0"
      id="Narr_7qfjsI1cT06QqlRYBfQoFA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20195</us-gaap:EquitySecuritiesFVNINoncurrent>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_0Is8aW_2RkyByEVI09-1hQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1048000</us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_AiAVWtmLtESNUavXNsM8oA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4744000</us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_BX0yr7H9ekaq7V2iP_dMsA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21866000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_yWKp1iZXVUqD-1fzjY8vDA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11854000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_UQwyPNT4IEqTIeVGPwweFA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6084000</us-gaap:AssetImpairmentCharges>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_rbp-DkBrq0iKmsV3r-wgIg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20194000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_K8Paiy9IhES4eegK7Yp7cg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">369000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_jHkcNZVcbECBiH5xvr3MHw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17152000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_6_4wOWFWGkym52ZBqGilwA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">446090000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_b3RoDmg4g0W-EfLPoSuSWw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">523634000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_iF7-hTCdiEiNu_NaTPcUaQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">223214000</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_m9FSxtVy506zWk9SaSMKrQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224675000</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:VariableInterestEntityDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_P2KpziJ3nE2YfUcptYsyzQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;10. VARIABLE INTEREST ENTITIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Since 2016, the Company, through its subsidiaries, entered into silent partnership agreements and/or various types of bankruptcy remote arrangements for the sole purpose of holding Japan project companies. Under the silent partnership agreements and/or the bankruptcy remote arrangements, the project companies are considered VIEs in which the Company has no majority equity interests, but is entitled to substantially all of the economic interests of the projects. In addition, the Company has the power to make decisions over the activities that most significantly impact the economic performance of the projects under the asset management agreement signed simultaneously between the project companies and a wholly-owned subsidiary, Canadian Solar Projects K.K. As such, the Company concluded it was the primary beneficiary of the project companies and thus these project companies were accounted for as consolidated VIEs since their establishment. The Company does not retain any ownership interest nor control of the bankruptcy remote entities, which individually and, in the aggregate, are insignificant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2020 and 2021, 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:69.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,064&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 337,836&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,580&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,091&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 459,480&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 390,606&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 180,773&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,857&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,880&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,845&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,872&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 294,026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 257,609&lt;/p&gt;&lt;/td&gt;&lt;/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;"&gt;Net income and overall cash flow activities during the years ended December 31, 2020 and 2021 were immaterial to the Company&#x2019;s consolidated financial statements.&lt;/p&gt;</us-gaap:VariableInterestEntityDisclosureTextBlock>
    <us-gaap:ScheduleOfVariableInterestEntitiesTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_3JQ6fo5Zr0mbHSEOHJObQg">&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:69.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,064&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 337,836&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,580&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,091&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 459,480&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 390,606&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 180,773&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,857&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,880&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,845&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,872&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 294,026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 257,609&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfVariableInterestEntitiesTextBlock>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA"
      decimals="-3"
      id="Tc_rIPLei4Vm0GtSovWYIk2CA_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42064000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg"
      decimals="-3"
      id="Tc_1tUlWenMa0q-c54NzD_7qA_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">48200000</us-gaap:Cash>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA"
      decimals="-3"
      id="Tc_g1LBGjbCgkqvs7fjMujZXQ_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">337836000</csiq:ProjectAssets>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg"
      decimals="-3"
      id="Tc__CFHNDJkgEC4GVHbT9wyMA_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">289315000</csiq:ProjectAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA"
      decimals="-3"
      id="Tc_Y5BjYU673Ey4uwMxDTMMwg_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">79580000</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg"
      decimals="-3"
      id="Tc_2y6Um-DwM0KdrYfHNz3GfQ_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">53091000</us-gaap:OtherAssets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA"
      decimals="-3"
      id="Tc_yk37bTrW4EisVjjDeCo9tA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">459480000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg"
      decimals="-3"
      id="Tc_haUMDbFIAEua1V3wVAIezw_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">390606000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA"
      decimals="-3"
      id="Tc_FWFmkDA2ukqQcVJH7AQU9Q_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">180773000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg"
      decimals="-3"
      id="Tc_Eev_Eq3UVUScTdj77wBjTA_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">113857000</us-gaap:ShortTermBorrowings>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA"
      decimals="-3"
      id="Tc_PuOdvr5BGkK92nV-8YpPXA_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">52408000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg"
      decimals="-3"
      id="Tc_1zWwOOc1JEeERfCPRbFLLQ_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">106880000</us-gaap:LongTermDebt>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA"
      decimals="-3"
      id="Tc_8ItzqQoyjkaMPrUN3OzMTQ_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">60845000</us-gaap:OtherLiabilities>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg"
      decimals="-3"
      id="Tc_cTSj1juj3kykHlHHMFru7g_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">36872000</us-gaap:OtherLiabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_8wn3sInh8k6-KhDlfirxsA"
      decimals="-3"
      id="Tc_FSeK1TvSKEma6YRps4ZHBg_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">294026000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg"
      decimals="-3"
      id="Tc_JJUs_HK3dEq454wl8oHWjQ_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">257609000</us-gaap:Liabilities>
    <us-gaap:EquityMethodInvestmentsDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_hbBSYMCvkEOFwXFWLwZuLw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;11.&#160;INVESTMENTS IN AFFILIATES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Investments in affiliates consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:59.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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: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 colspan="7" style="vertical-align:bottom;white-space:nowrap;width:38.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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:59.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: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 colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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: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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p 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:59.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: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:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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:59.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: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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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.79%;background:#cceeff;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,980&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:8.75%;background:#cceeff;margin:0pt;padding: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.66&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,889&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.64&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.79%;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.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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,969&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:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.78&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.78&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#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:8.75%;background:#cceeff;margin:0pt;padding: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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,854&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding: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:59.79%;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.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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&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:8.75%;margin:0pt;padding: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.55&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,342&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:8.75%;background:#cceeff;margin:0pt;padding: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-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding: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-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.79%;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding: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,291&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:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding: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 6pt 0pt;"&gt;In 2017, Canadian Solar Infrastructure Fund, Inc. (&#x201c;CSIF&#x201d;) completed its initial public offering. On March 5, 2021, CSIF issued 151,500 investment units at 125,115 Japanese yen per unit through public offering, the Company purchased 22,725 units in the amount of JPY2,843,238 ($25,683). Through its initial private placement of 1,500 units, the purchase of 25,395 units in the initial public offering on October 26, 2017 and allotment of 7,000 units on September 5, 2018, the Company held a total of 56,620 units as of December 31, 2021 at a total subscription amount of JPY6,247,998 ($55,697). As of December 31, 2020 and 2021, the Company owned 14.66% and 14.64% of total units of CSIF, respectively. One out of the three members of the board of directors of CSIF represents the Company. The quorum for a board resolution of CSIF is a majority of the members of the board of directors, and the adoption of a resolution requires a majority of the votes present. As such, the Company is considered having significant influence over the investee and the equity method is used in this investment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2015, the Company, through CSI Solar Co., Ltd., established an entity, Suzhou Financial Leasing Co., Ltd. with 4.78% effective interests. One of five board members is designated by CSI Solar Co., Ltd. This investment is accounted for under the equity method as CSI Solar Co., Ltd. has significant influence over the investee.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 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 in investments in affiliates on its consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In October 2021, the Company, through CSI Solar Co., Ltd., acquired a 4.55% effective interest in JuSheng (Suzhou) Solar Tech Co., Ltd.. This investment is accounted for by CSI Solar Co., Ltd. under the equity method as it designated a representative director to participate in the investee&#x2019;s policy-making processes and exercised significant influence over the investee.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In December 2020 and December 2021, the Company completed the sales of its majority interests in Horus Solar S.A. De Capital Variable (&#x201c;Horus&#x201d;) which holds its Horus project, and Recursos Solares PV De M&#xe9;xico II S.A. De Capital Variable (&#x201c;Recursos&#x201d;) which holds its Tastiota project, respectively, to unrelated third parties. In connection with these sales, the Company&#x2019;s interest in Horus and Recursos decreased to 49%. 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.&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 unconsolidated investees were $28,948, $10,779 and $7,256 for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsDisclosureTextBlock>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_ApEP2oJGak6szak6zdCxvw">&lt;p style="font-family:'Times 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:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:59.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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: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 colspan="7" style="vertical-align:bottom;white-space:nowrap;width:38.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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:59.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: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 colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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: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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p 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:59.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: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:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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:59.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: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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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.79%;background:#cceeff;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,980&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:8.75%;background:#cceeff;margin:0pt;padding: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.66&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,889&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.64&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.79%;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.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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,969&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:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.78&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.78&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#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:8.75%;background:#cceeff;margin:0pt;padding: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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,854&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding: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:59.79%;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.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:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&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:8.75%;margin:0pt;padding: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.55&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.79%;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.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:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,342&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:8.75%;background:#cceeff;margin:0pt;padding: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-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding: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-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.79%;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding: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,291&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:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding: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_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1kXLRU8usUyF-Wud3dkXKQ"
      decimals="-3"
      id="Tc_qy_Jha_8cEmDQtJacZmQSA_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19980000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1kXLRU8usUyF-Wud3dkXKQ"
      decimals="4"
      id="Tc_QPyVsJvZckypjJekKn86mQ_6_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA"
      decimals="-3"
      id="Tc_K8Lx_XVQRUuwYTQF8AZxEg_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12889000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA"
      decimals="4"
      id="Tc_L-3qTRoC5E-FEjxWbUKAdQ_6_8"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1464</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_a0QTEi6hekeHPuw_3-Hd7A"
      decimals="-3"
      id="Tc_72XGlM_zHEGUmlg2iGHeNw_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23969000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_a0QTEi6hekeHPuw_3-Hd7A"
      decimals="4"
      id="Tc_Otpvmi79FkSphA2Vs5x__A_7_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0478</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_FO_z5VqmBE-vN_DhG_eM-w"
      decimals="-3"
      id="Tc_ipzbyoHjNU2t7v42W2jUUg_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">27026000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_FO_z5VqmBE-vN_DhG_eM-w"
      decimals="4"
      id="Tc_N8UJgRKpnkGQXGa3E_Ljng_7_8"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0478</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_Rn8Ovx5w7kCM45SUAXks4A"
      decimals="-3"
      id="Tc_aYdk1hAQE0OlQXzgReKN1g_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18854000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_Rn8Ovx5w7kCM45SUAXks4A"
      decimals="2"
      id="Tc_Sz51yiw7hkWs48ln0aQftQ_8_8"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_7GEjb6I4nUmUf288tBIYEA"
      decimals="-3"
      id="Tc_96522hVDLEqXpxlwQA7tLQ_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6274000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_7GEjb6I4nUmUf288tBIYEA"
      decimals="4"
      id="Tc_6f7wONZo2kOkV4Z28nd6wQ_9_8"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0455</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_-DEh7xZa1kSPfVao5fo6wA"
      decimals="-3"
      id="Tc_si7-lw5zREW5GrMOndNzuA_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">34342000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2020_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_DPNQNTQZi0-K9xkRAMdfcg"
      decimals="2"
      id="Narr_DusGvVggZUWlMVoXDcw0tA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.15</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2020_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_j3iyoVICHEO0fNLF37P4OQ"
      decimals="2"
      id="Narr_WcPR4IZPKUyfv9xvYw3EKg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_zXU4iMNy1UyqZInwrQRxow"
      decimals="-3"
      id="Tc_XL2bOa7XRU-lyeb53tKhBQ_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">33776000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JVHkhMNPkUSeo8Snu_VgsA"
      decimals="2"
      id="Narr_w4Jo-9_i1ESFX6uWUKTbNw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_Jop9wKV2nUWA13cAO31NKg"
      decimals="2"
      id="Narr_fx4KIuamL0-NxAprVjIVhA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_QsPSgQW-DEyVDJUMlSWQTA_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">78291000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_1mh3qZ5d0U6d6xG3QJ0FOg_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">98819000</us-gaap:EquityMethodInvestments>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_3_5_2021_To_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_Cpu-VJy4ZE-Maoq6e5jM8A"
      decimals="INF"
      id="Narr_aCTDTw1ZZkGcQPgLshr8pQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">151500</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_p6Lpuu7N-U-xwKZ5fs-FWw"
      decimals="0"
      id="Narr_SLAof1fkhkyuxjt4NBzW0A"
      unitRef="Unit_Divide_JPY_shares_98G2KJ8ZqkGANWGgBqIkfg">125115</us-gaap:SharePrice>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PVROSTaWdEqqi7Cswhmi5w"
      decimals="INF"
      id="Narr_PqbT1I9IXUaVyoOrIR94tA"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">22725</csiq:NumberOfUnitsPurchased>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_h9l9SUNsf0iCgw7gtS9a0g"
      decimals="0"
      id="Narr_oPZddEu7_UKsg0X1ZuuA_g"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">2843238</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_h9l9SUNsf0iCgw7gtS9a0g"
      decimals="0"
      id="Narr_Hc-qYDFVUEe8btyhj2x26Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25683</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_p0KXTUKynUC9yPKkGU_G9Q"
      decimals="INF"
      id="Narr__0yht4qclkmTbkLozWAISw"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">1500</csiq:NumberOfUnitsPurchased>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_IPOMember_EtcHhHkAzkKCJrGDDM9deA"
      decimals="INF"
      id="Narr_540r2_rBFkiljKtz043jOg"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">25395</csiq:NumberOfUnitsPurchased>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_9_5_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_859O9c9_LUqZ6m1wYcPFjw"
      decimals="INF"
      id="Narr_K1hvK4aL-0ahN_e2FlfyHA"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">7000</csiq:NumberOfUnitsPurchased>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA"
      decimals="INF"
      id="Narr_EBtD6yv7-0mkigzkpbZBnQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">56620</csiq:NumberOfUnitsPurchased>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_K6UnWxB_YEmH_A-OWTCS4g"
      decimals="0"
      id="Narr_nXhI17rcoEK4nMrkoZhkSg"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">6247998</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_K6UnWxB_YEmH_A-OWTCS4g"
      decimals="0"
      id="Narr_aG2wyDCuEEqMrM1BNOtstg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">55697</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1kXLRU8usUyF-Wud3dkXKQ"
      decimals="4"
      id="Narr_EihbX1dYY0ejg9wEu9XfKw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0Q9LvuYNd0OJ5rI4mNkyKA"
      decimals="4"
      id="Narr_ZChQ-LIvOkqZUnhpBvvKCQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1464</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_0hIAHSGJc06TGUtE91Kr5Q"
      decimals="4"
      id="Narr_46VIKkb36U2JnRwvp_p9aw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0478</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:EquityMethodInvestmentOwnershipPercentageSold
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_fQyfCMvPBEKvSyDTy2ck1w"
      decimals="2"
      id="Narr_wmnS-0ldI0K7sCxXrrifbA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.80</csiq:EquityMethodInvestmentOwnershipPercentageSold>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_dmVGokYJwES-hEnT1rV3HQ"
      decimals="2"
      id="Narr_p7TYyPGadEG01EcCp-4_cQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_fQyfCMvPBEKvSyDTy2ck1w"
      decimals="-3"
      id="Narr_17kJTcEDuUa_ObwfUnKdiA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">123135000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_fQyfCMvPBEKvSyDTy2ck1w"
      decimals="-3"
      id="Narr_aNEqzIycsEmazo1CueEhYg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42333000</csiq:DecreaseOfNetAssets>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_10_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_jjjBXuIm1k6Jpt9u44w4cw"
      decimals="4"
      id="Narr_Odsz8CXoXE2pNMa7ez6PXg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0455</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_P7aBSBn9f0GA3-hrPD7sTQ"
      decimals="2"
      id="Narr_J2if6R2uEUOqRIifKhayjw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_RllKoaVR-UaCItjksEPnNg"
      decimals="-3"
      id="Narr_AYOZLw1DzEmDg95zGYIqUg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">100896000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_f1gDpC_tKUSv8JwJEFsADQ"
      decimals="-3"
      id="Narr_gbmD7ig4SkerATIU-KsLug"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">113843000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_P7aBSBn9f0GA3-hrPD7sTQ"
      decimals="2"
      id="Narr_efyKj2HO-EyrpM0YT1s7RA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_RllKoaVR-UaCItjksEPnNg"
      decimals="-3"
      id="Narr_RW1ZtWbD9UWdzpo8vI5lyA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10363000</csiq:DecreaseOfNetAssets>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_f1gDpC_tKUSv8JwJEFsADQ"
      decimals="-3"
      id="Narr_6Y0gRvh88Ey_hDVzoX5BvA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7527000</csiq:DecreaseOfNetAssets>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_IjQzezd87USr6N-_RBqvUA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28948000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_QZqAbz0QGESfW0J0AWKUqQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10779000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_vb5sDP_4M0G5Rvbz_YfxQw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7256000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_D1RC5z9fsketDITiHfOjVQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;12&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;.&lt;/span&gt;&lt;b style="font-weight:bold;"&gt; LEASE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company leases office space, office equipment and vehicles for solar power plants construction, and manufacturing facilities in various regions where the Company operates. Leased assets are mainly located in the PRC, United States and Canada.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The leases considered as ROU assets have various terms of up to twenty years. The Company also has certain leases with terms of 12 months or less, which are not recorded on the consolidated balance sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The components of lease expenses were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2020&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;2021&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 right-of-use 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; 8,036&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,920&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,497&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,349&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; 19,630&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; 18,443&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; 850&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,884&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; 30,013&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; 36,596&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Other supplemental information related to leases 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: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;2020&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;2021&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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&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,497)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,349)&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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&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; (20,589)&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,972)&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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&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; (19,163)&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; (35,554)&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;padding-left:7.2pt;text-indent:-7.2pt;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; 10,666&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; 60,102&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;padding-left:7.2pt;text-indent:-7.2pt;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,892&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; 24,694&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;padding-left:7.2pt;text-indent:-7.2pt;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; (6,572)&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; (1,880)&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;2020&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;2021&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 operating 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; 0.90&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; 2.66&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 operating 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; 3.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 4.40&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;&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.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;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.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;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: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 operating lease discount rate - finance 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; 5.54&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 4.95&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;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 operating lease discount rate - operating 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.18&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.34&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;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;12&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;.&lt;/span&gt;&lt;b style="font-weight:bold;"&gt; LEASE &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2021, maturities of operating and finance lease liabilities were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year Ending December&#160;31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,768&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 20,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 33,149&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,941&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 17,052&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,993&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 16,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 21,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,880&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,398&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&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; 2,398&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,651&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,651&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,471&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 53,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 94,176&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,071&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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,552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,623&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 50,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,553&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,749&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,934&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,404&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,553&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, 2020, 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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.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;Operating&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.64%;margin:0pt;padding:0pt;"&gt;&lt;p 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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;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.08%;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.58%;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.08%;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%;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.64%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding: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,374&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: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; 22,706&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding: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,080&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding: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,427&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: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; 2,514&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,941&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding: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,632&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:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding: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,632&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;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.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding: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,242&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: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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding: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,242&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 369&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:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 369&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;background:#cceeff;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.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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,859&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:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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,859&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding: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,903&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: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; 25,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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,123&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 467&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: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; 963&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:3px double #000000;margin:0pt;padding: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,436&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: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; 24,257&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:3px double #000000;margin:0pt;padding: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:56.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.58%;background:#cceeff;margin:0pt;padding: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.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: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;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding: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:56.86%;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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding: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.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: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;"&gt;&lt;span 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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding: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:56.86%;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_HBHGmGHHfEuos-2dVi7JDg;"&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.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding: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,204&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: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; 21,887&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding: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,091&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;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_MtGyIV6DrU6RTTlWhUYIsw;"&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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding: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,232&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: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; 2,370&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding: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;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,436&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 24,257&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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;/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-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_tItpqhiGNku2EFLZ-L5B_w"
      id="Narr_crZIju9OAkq1VvVfLlzBIQ">P20Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Group_ukR4AD1J7USK3GInP-sW_A">&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;2020&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;2021&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 right-of-use 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; 8,036&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,920&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,497&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,349&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; 19,630&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; 18,443&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; 850&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,884&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; 30,013&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; 36,596&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_Nmlu0yQj302kYljR6qj1lg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8036000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_EaodEWIiG0OqOsuD411E3g_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14920000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_QDxD4h9e_027d86epJxbpA_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1497000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_zrbNTUfoYUSPRU7E5NiXyg_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1349000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_hPqMFvFmHkaVxKp1DTvfSA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19630000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_qUMyD8UHoEKgrkbyYkVk2g_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18443000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_gIc14XQKfUK-OalpzFF5RQ_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">850000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_sJBevdsNCU6SCRq1OJF-KQ_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1884000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_aTsXqA069UK844MS5vy8TA_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30013000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_KjyWGNKNPketjMQCgSm3Ig_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">36596000</us-gaap:LeaseCost>
    <csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_dfZPk2WcWUmnrrJyGLx2pw">&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;2020&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;2021&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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&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,497)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,349)&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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&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; (20,589)&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,972)&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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&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; (19,163)&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; (35,554)&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;padding-left:7.2pt;text-indent:-7.2pt;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; 10,666&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; 60,102&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;padding-left:7.2pt;text-indent:-7.2pt;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,892&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; 24,694&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;padding-left:7.2pt;text-indent:-7.2pt;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; (6,572)&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; (1,880)&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;2020&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;2021&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 operating 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; 0.90&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; 2.66&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 operating 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; 3.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 4.40&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;&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.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;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.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;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: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 operating lease discount rate - finance 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; 5.54&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 4.95&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;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 operating lease discount rate - operating 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.18&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.34&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;/table&gt;</csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_PqavB3mPLkmoZgEFq_tDCA_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1497000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_T7ea-qqB70yHQ-NOLYqekw_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1349000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_bGhMkGJ6QUeJgYSVpBm0Ng_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20589000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_jKKFUBECzEumdBvaxvP-4A_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19972000</us-gaap:OperatingLeasePayments>
    <csiq:PaymentsForFinancingCashFlowsFromFinanceLease
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_bomwgsPbKE2osLI7uc7ClA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-19163000</csiq:PaymentsForFinancingCashFlowsFromFinanceLease>
    <csiq:PaymentsForFinancingCashFlowsFromFinanceLease
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_7h97OHKiH0qLtvjxyATWhg_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-35554000</csiq:PaymentsForFinancingCashFlowsFromFinanceLease>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_bHKb8juXiEyJ5uQ--YmLaQ_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10666000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_Q6Hd9it_jUGSfI5sRHMIkQ_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">60102000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_TfGWysv7TkqbwIfLO_hEcQ_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14892000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_kVsR5atvtEivhtrQC6D9RA_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24694000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_AVrltqHMR0KwL3T4I3mIkw_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6572000</csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction>
    <csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_7VHnK1KCeUulaqrl3VW1Jw_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1880000</csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      id="Tc_5ASwCOqbpk-bLCEvTpVV0Q_3_2">P0Y10M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      id="Tc_JDPC61SKWEmEJey_h5wSbQ_3_4">P2Y7M28D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      id="Tc_F8m8hBydlUKgUqvq4y9kqQ_4_2">P3Y25D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      id="Tc_faWMvn_cFUaMSoP6WDMQqw_4_4">P4Y4M24D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="4"
      id="Tc_-ME5gwLVdUmDhw4slSlgYw_6_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0554</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="4"
      id="Tc_sodZpyl-6kKRPBOQeh12kw_6_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0495</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="4"
      id="Tc_MTKoHfp2OEC0AeqmYATCJQ_7_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0418</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="4"
      id="Tc_0K388oZXq0eKqxqTIvHtmA_7_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0434</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_JBKQPwP_0EG_4VnIp6T8sw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2021, maturities of operating and finance lease liabilities were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year Ending December&#160;31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,768&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 20,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 33,149&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,941&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 17,052&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,993&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 16,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 21,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,880&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,398&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&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; 2,398&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,651&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,651&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,471&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 53,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 94,176&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,071&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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,552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,623&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 50,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,553&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,749&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,934&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,404&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,553&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, 2020, 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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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.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;Operating&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.64%;margin:0pt;padding:0pt;"&gt;&lt;p 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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;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.08%;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.58%;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.08%;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%;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.64%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding: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,374&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: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; 22,706&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding: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,080&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding: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,427&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: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; 2,514&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,941&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding: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,632&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:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding: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,632&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;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.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding: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,242&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: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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding: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,242&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 369&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:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 369&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;background:#cceeff;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.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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,859&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:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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,859&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding: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,903&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: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; 25,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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,123&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 467&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: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; 963&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:3px double #000000;margin:0pt;padding: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,436&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: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; 24,257&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:3px double #000000;margin:0pt;padding: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:56.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.58%;background:#cceeff;margin:0pt;padding: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.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: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;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding: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:56.86%;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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding: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.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: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;"&gt;&lt;span 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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding: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:56.86%;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_HBHGmGHHfEuos-2dVi7JDg;"&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.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding: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,204&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: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; 21,887&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;margin:0pt;padding: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,091&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;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_MtGyIV6DrU6RTTlWhUYIsw;"&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.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding: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,232&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: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; 2,370&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding: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;tr&gt;&lt;td style="vertical-align:bottom;width:56.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,436&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 24,257&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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_djxJkm6cd0WFWSr-18V8rQ_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12768000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc__nchFPGnvUqV79YLRRx2bA_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20381000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <csiq:LeasesFutureMinimumLeasePaymentsDueCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_esqmQ6QwPkCGMEtDtzVizQ_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">33149000</csiq:LeasesFutureMinimumLeasePaymentsDueCurrent>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_zKvHT6tV6ESHev2O3F-5DQ_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7941000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_EuS9qiRKhUu9X20soNQeHw_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17052000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInTwoYears
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_VUFQshR6REqemrDpy3ga1g_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24993000</csiq:LeasesFutureMinimumLeasePaymentsDueInTwoYears>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_12HxCUHKg0S3ae3Cy_Nv0A_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4833000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_YSDEJFVEjECLbZSLwi9Zug_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">16272000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInThreeYears
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_TqMTX4C9T0akcN3w58QNsQ_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21105000</csiq:LeasesFutureMinimumLeasePaymentsDueInThreeYears>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_1Yi1jb1_t0qcs1nYlXjmYg_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1880000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInFourYears
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_FMGuoMLJIEWz8x_a7KnrdA_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1880000</csiq:LeasesFutureMinimumLeasePaymentsDueInFourYears>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_l7rzc9b0q0uzDVoD_a2EmQ_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2398000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInFiveYears
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_2FeLv_I5SECer6rCYGC4bQ_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2398000</csiq:LeasesFutureMinimumLeasePaymentsDueInFiveYears>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_YcfXEaufSU2HMQMuI1zs3Q_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10651000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <csiq:LeasesFutureMinimumLeasePaymentsDueThereAfter
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_M2N6IHh3eUWAn5QjSKbM7A_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10651000</csiq:LeasesFutureMinimumLeasePaymentsDueThereAfter>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_2uYEv1iAFka38qd8OuZKAQ_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">40471000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_sJTCeK5PJ0e2TTyyqMOHSQ_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">53705000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <csiq:LeasesFutureMinimumLeasePaymentsDue
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_0QmA0Nsfj0Cp6wX5g9Kx9w_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">94176000</csiq:LeasesFutureMinimumLeasePaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Bj6l2xF-TUKIfL0wjceWaw_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5071000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_-recpoMLX0G6jFvun1nWCA_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3552000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <csiq:LeasesFutureMinimumPaymentsInterestIncludedInPayments
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_i2cxvSwTyUOCnu2yrowq1g_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8623000</csiq:LeasesFutureMinimumPaymentsInterestIncludedInPayments>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_7Skd9nXW2EaxjC8zwYKHDQ_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35400000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_9tZfwUAP70CTTnDHJcLc0Q_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50153000</us-gaap:FinanceLeaseLiability>
    <csiq:LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_dVS2mdLeHEy3s7rDlx_14g_13_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">85553000</csiq:LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_pjP2yDi19EesMaEUIs3g4w_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12185000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_8n2WVZoxP0-Iine8NY2uAA_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18749000</us-gaap:FinanceLeaseLiabilityCurrent>
    <csiq:LeaseLiabilityCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_MPM7lOEorEqWYC_ooZWPew_16_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30934000</csiq:LeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_pDU23_o2OUmzkHy-PM2CFA_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23215000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_cwiZttC7WUuQAfOY5wZAEw_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">31404000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <csiq:LeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_mkJEmKmpz0qeUJisbisufw_17_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">54619000</csiq:LeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_YtZBETqQV0KFflL4dasTrQ_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35400000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_aDow_W2gpUq6VvWpuChhcA_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50153000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_SUvutIA8rk-yQEiiX281og_18_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">85553000</csiq:LeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_badbOQ00e0iUdrxD9_JuCA_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14374000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_ZYsT_azrvUew1CFMcocTbQ_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22706000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <csiq:LesseeLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_N95hgjbbxkGaROxlXiWwfQ_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">37080000</csiq:LesseeLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_KcggipphREy-OnU2AUSl4A_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7427000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_omQrWYSz7USE2Czx-BiVgw_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2514000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <csiq:LesseeLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_ePSV80mLSEObNuDzRb0EzQ_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9941000</csiq:LesseeLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_hAoQx3GwXkKyG2aoRdHqyg_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3632000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <csiq:LesseeLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_49M7AxY37UmvveHfitczvA_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3632000</csiq:LesseeLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_Ne6mqWHETkynXPl0cNEo3A_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1242000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <csiq:LesseeLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_CDLn294qwkSKfkVuPJOrtA_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1242000</csiq:LesseeLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_O4IEOTZyZUKWP31_P1M2OA_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">369000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <csiq:LesseeLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_D12o0RoLAEah1agFGoQ8Dw_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">369000</csiq:LesseeLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_7MuYFdHpkk-DMHYlf89SwA_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1859000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <csiq:LesseeLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_B94pWJI2TU-XHvZ-8GyM1g_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1859000</csiq:LesseeLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_5VErW8zEe0G8gU08Fb4jEA_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28903000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_vJtxYl4H3E2r9hXGz9lG5A_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25220000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <csiq:LesseeLiabilityPaymentsDue
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_CR0BfRb03EmGX-aOmsD8AA_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">54123000</csiq:LesseeLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_FOnh_y7zd0irV9DGlGxbjQ_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">467000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_kN5wdC4hA06i8ZcH4MdF7Q_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">963000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <csiq:LesseeLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_N8RbqHJLVEGxXQNFO1iw_Q_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1430000</csiq:LesseeLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_jKFS_rbj9EeFq6j7UEIBag_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28436000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_8vPTQX8A2UWfZi_ueOuukQ_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24257000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_9RiKyKRsp0qb2bRtoZE05A_13_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">52693000</csiq:LeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_Q9WEGxWNAU-HyCUHtFxrsA_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15204000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_UUw10o5cAU6U49FqxbRqIQ_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21887000</us-gaap:FinanceLeaseLiabilityCurrent>
    <csiq:LeaseLiabilityCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_-2KJrlAaZUOeKB00yDnAJg_16_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">37091000</csiq:LeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_QptIa5oVrkuo80Nf8Bhm4w_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13232000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_hMHZgbsbj0WUMwBSevR9Pg_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2370000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <csiq:LeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_0WM86SxFJkWNxYECeuNJyw_17_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15602000</csiq:LeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_W9zwRcinY0eust0QOFbwZQ_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28436000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_Ux749Z4E70ivsQE4UTrIZw_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24257000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_fHKex_KFB0GWE532udkexg_18_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">52693000</csiq:LeaseLiability>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_bCtU_6o01kiY045jY6FrUQ">&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;margin:0pt;"&gt;Borrowings consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 912,549&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,092,329&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings, current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,736&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,886&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings on project assets &#x2014; current&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt; (1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 198,794&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 321,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Subtotal for short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,401,079&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,592,870&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 446,090&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 523,634&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,847,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,116,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2021, the Company had contractual credit facilities of $3,357,009, of which $1,595,684 has been drawn under borrowings and $511,700 has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and $1,249,625 was available for draw down upon demand. In addition, as of December 31, 2021, the Company also had uncommitted credit facilities of $962,564, of which $375,963 has been drawn under borrowings and $250,321 under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. As of December 31, 2021, $514,756 of the Company&#x2019;s borrowings under its energy business were non-recourse in nature.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2021, borrowings of $1,348,352 were secured by property, plant and equipment with carrying amounts of $417,055, inventories of $163,910, prepaid land use rights of $52,253, restricted cash of $67,031, accounts receivable of $32,481, equity interest of $348,238 and project assets and solar power systems of&#160;$682,136. These borrowings were recorded as short-term borrowings of $596,484, long-term borrowings, current portion of $98,949, long-term borrowings on project assets &#x2013; current of $318,506 and long-term borrowings of $334,413.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s significant borrowings during the years ended December 31, 2020 and 2021 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2016, Canadian Solar Projects K.K. obtained a syndicated three-year loan facility of JPY9,600,000 ($85,200) with Sumitomo Mitsui Banking Corporation (&#x201c;SMBC&#x201d;), acting as the lead arranger and 13 other participating financial institutions. The facility is unsecured and is guaranteed by the Company. The loan proceeds may be used to develop its solar project pipeline in Japan and for general corporate working capital purposes. In October 2020, the facility agreement was renewed with 11 participating financial institutions led by SMBC at a term of two years and a facility amount of JPY9,100,000 ($88,200). In September 2021, the subsidiary further expanded the facility to JPY10,000,000 ($89,859) and the facility will mature in September 2024. As of December 31, 2021, the loan was fully drawn and all the requirements of financial covenants were met.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd.  obtained a &lt;/span&gt;five-year syndicated credit facility of $188,000 with the Siam Commercial Bank Public Company Limited (&#x201c;SCB&#x201d;), acting as the lead arranger and China Minsheng Banking Corporation Ltd as one of the lenders. The facility is guaranteed by the Company. Under the same facility agreement, the subsidiary obtained a working capital facility of THB3,540,000 ($106,729) from SCB to support the operations of its manufacturing company in Thailand. As of December 31, 2021, the long-term loan outstanding balance was $61,506 and the outstanding balance of working capital facility was $103,487. As of December 31, 2021, all the requirements of financial covenants were met.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020, Recurrent executed a $75,000 development loan with Nomura. The loan facility leverages Recurrent&#x2019;s pipeline of solar and battery storage projects in the U.S. and Canada and is guaranteed by the Company. In November 2021, the facility was renewed with an extended amount totaling $125,000 that matures in November 2023. As of December 31, 2021, the loan was fully drawn, and all the requirements of financial covenants were met.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13.&#160;BORROWINGS &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020, Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd. obtained a syndicated five-year non-recourse facility of AUD289,419 ($206,022) with Australia and New Zealand Banking Group Limited acting as the facility agent and 3 other financial institutions, to finance the construction of the Suntop and Gunnedah Solar Farms in Australia. The facility is secured by the project assets and will mature in 2025. As of December 31, 2021, the outstanding balance was $154,027 and all the requirements of financial covenants were met.&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 February 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. The facility is for construction of the 100MWp Azuma Kofuji project in Japan. The project finance loan is secured by project assets and will mature in November 2023, As of December 31, 2021, the outstanding balance was $105,542 and all the requirements of financial covenants were met.&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 Mar 2021, four Japanese subsidiaries issued JPY8,100,000 ($73,167) of non-recourse green project bonds to construct 42.8 MW of projects in Japan. The project bonds are secured by project assets and will mature in 2039.&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 April 2021, CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc. entered into two credit facilities in the aggregate of RMB1,150,000 ($177,820) with Bank of China to support manufacturing operations in China. CSI Solar Co., Ltd. is the borrower or guarantor of these credit facilities and the credit facilities mature in March 2023.. As of December 31, 2021, $135,008 was drawn.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In August 2021, Canadian Solar Manufacturing (Changshu) Inc. entered into a RMB600,000 ($92,766) one-year credit facility with China Merchants Bank. The credit facility is unsecured and is guaranteed by CSI Solar Co., Ltd and matures in August 2022. As of December 31, 2021, $62,333 was drawn, and all the requirements of financial covenants were met.&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 November 2021, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.) entered into a RMB580,000 ($90,918) long term loan facility with Shanghai Pudong Development Bank. The loan facility is secured by certain property, plant and equipment, guaranteed by CSI Solar Co., Ltd., and matures in November 2028. As of December 31, 2021, $7,387 was drawn. As of December 31, 2021, all the requirements of financial covenants were met.&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;These obtained long-term borrowings mentioned above bear effective floating interest rates from 1.0% to 5.7%.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Future principal repayments on the long-term borrowings are as follows. Included in the future principal repayment of 2022 are $321,655 of long-term borrowings on project assets &#x2013; current, associated with certain solar and battery storage projects that are expected to be sold within one year:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2022&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; 500,541&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;2023&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; 336,504&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;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;&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; 160,043&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;&lt;span style="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; 6,822&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; 4,783&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; 15,482&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;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 1,024,175&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;Less: future principal repayment related to long-term borrowings, current portion&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%;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;"&gt; (500,541)&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 long-term portion&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;&lt;span style="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%;background:#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; 523,634&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 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13.&#160;BORROWINGS &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Interest expenses&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.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.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.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;&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;&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.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.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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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.16%;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.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:11.32%;background:#cceeff;margin:0pt;padding: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.26&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding: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.03&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.16%;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 on project assets &#x2013; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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:11.32%;margin:0pt;padding: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.63&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding: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.04&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;tr&gt;&lt;td style="vertical-align:bottom;width:71.16%;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;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding: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.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding: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.46&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;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company capitalized interest costs incurred on borrowings obtained to finance construction of solar and battery storage projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2019, 2020 and 2021 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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,794&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 17,316&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; property, plant and equipment&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; 2,620&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; 154&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; &#x2014;&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 expense&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:1px solid #000000;margin:0pt;padding: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,326&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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,874&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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:1px solid #000000;margin:0pt;padding: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;/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;Total interest incurred&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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,740&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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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%;border-bottom:3px double #000000;margin:0pt;padding: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;/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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_XSXeuxa-nUy3KNxQ9F6YWQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 912,549&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,092,329&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings, current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,736&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,886&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings on project assets &#x2014; current&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt; (1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 198,794&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 321,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Subtotal for short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,401,079&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,592,870&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 446,090&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 523,634&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,847,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,116,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_asNLzA_0YU-HDNWU6_HsGA_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">912549000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_BRdvvptl1UGZLN_mS81E2w_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1092329000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_ciwGObDGD02IlE9fZb63Hw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">289736000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_J-yRvTF8CUCub8LJa7Cxrg_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">178886000</us-gaap:LongTermDebtCurrent>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_S5a1W9pmN0-OtC8KDVgdtw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">198794000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ENwu0NDLXEmlkvJxSCQDVQ_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">321655000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <us-gaap:DebtCurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_X5SeGRplIk2sDMXCOSZVog_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1401079000</us-gaap:DebtCurrent>
    <us-gaap:DebtCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_lWFlJK9eFEO66VgP_btmFw_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1592870000</us-gaap:DebtCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_CaSeVf05qE22JnKa8hRkWg_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">446090000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Cx2eTXzvcUGkU0WogPUWSA_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">523634000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_33W5VfO3ZES-Rzwf2ps7Ww_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1847169000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_3Z3i_UQqa0-QtQ-KjmNkIA_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2116504000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww"
      decimals="-3"
      id="Narr_o-wDU8Rfz0S-5wBoZc_Cpg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3357009000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww"
      decimals="-3"
      id="Narr_iHXrc6fmQkCbY2wstgWwzQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3357009000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww"
      decimals="-3"
      id="Narr_4H0x_QbG-EOBzBZAyJxuEQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1595684000</us-gaap:LineOfCredit>
    <csiq:AdditionalAmountDrawnOfUnderBorrowing
      contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww"
      decimals="-3"
      id="Narr_owkz9P9vK0Gm9GtQrao2WA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">511700000</csiq:AdditionalAmountDrawnOfUnderBorrowing>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5BgRRjj-7UK0Gu1DSldqww"
      decimals="-3"
      id="Narr_VQv0FlVSfkG3cYieFcu8mQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1249625000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_-zJWEog1M0yehDRrYOL62Q"
      decimals="-3"
      id="Narr_WNmrPho-rEaKwqPy2ZNDMg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">962564000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_CAOyA5KI50-WJi9PDkIBWg"
      decimals="-3"
      id="Narr_lqzRPjkRbEeuA_bsWgE_gQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">375963000</us-gaap:ProceedsFromLinesOfCredit>
    <csiq:AdditionalAmountDrawnOfUnderBorrowing
      contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_BqGJfzSJp0S8t-SIU8qo0w"
      decimals="-3"
      id="Narr_tvkWN3OWhkCBN-qgeALMIw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">250321000</csiq:AdditionalAmountDrawnOfUnderBorrowing>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2021_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_YhZlUnWfVESR2FRwiMXvHg"
      decimals="-3"
      id="Narr_Js5sHvsgb0OlMvsh6wWdkw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">514756000</us-gaap:LineOfCredit>
    <us-gaap:SecuredDebt
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_GA21s60nZ0-4L9sXTwpudg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1348352000</us-gaap:SecuredDebt>
    <csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_fpPmUFuuzEeHCLqzq0AOgQ"
      decimals="-3"
      id="Narr_zp13s0RSjEqZbtAapRVl6w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">417055000</csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment>
    <csiq:PledgedAssetsNotSeparatelyReportedInventory
      contextRef="As_Of_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_fpPmUFuuzEeHCLqzq0AOgQ"
      decimals="-3"
      id="Narr_RHhkuiHEw0mlsqT_9xHe-g"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">163910000</csiq:PledgedAssetsNotSeparatelyReportedInventory>
    <csiq:PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight
      contextRef="As_Of_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_fpPmUFuuzEeHCLqzq0AOgQ"
      decimals="-3"
      id="Narr_FFb8QiISuEiiZHvshdGlAg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">52253000</csiq:PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight>
    <csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw"
      decimals="-3"
      id="Narr_gNhFNDIz90ObN_cD3Jom2Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">67031000</csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash>
    <csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw"
      decimals="-3"
      id="Narr_6qPF80940ECDudOuTS0qPA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">32481000</csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable>
    <csiq:PledgedEquityNotSeparatelyReported
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw"
      decimals="-3"
      id="Narr_UGZY8Mq4o0O7UY7nmGVtmA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">348238000</csiq:PledgedEquityNotSeparatelyReported>
    <csiq:PledgedAssetsProjectAssetsAndSolarPowerSystems
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_6EfFMVwC102fIoRMr3QOvw"
      decimals="-3"
      id="Narr_AKDWWlZsTU6HPH4TVcQ92A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">682136000</csiq:PledgedAssetsProjectAssetsAndSolarPowerSystems>
    <csiq:SecuredShortTermDebt
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr__ATjkcoQJ0K0qV5BAzKUKw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">596484000</csiq:SecuredShortTermDebt>
    <us-gaap:OtherLongTermDebtCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_jq6I8ZG09kOMassmTjq32g"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">98949000</us-gaap:OtherLongTermDebtCurrent>
    <us-gaap:SecuredDebtCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_vUjGUPiEWUG6JNcJJvrbZw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">318506000</us-gaap:SecuredDebtCurrent>
    <us-gaap:SecuredLongTermDebt
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_tYh0UlLevk-sd_mEQBdWnw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">334413000</us-gaap:SecuredLongTermDebt>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FEMhfvtnmEmeODvi6CHTEA"
      id="Narr_w0lyKyfP1Ea_JZKGHTk5nA">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Lk33d0wmkUOf604JayASmA"
      decimals="0"
      id="Narr_0bXFB6YJJEyHmPQISkp7bQ"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">9600000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Lk33d0wmkUOf604JayASmA"
      decimals="-3"
      id="Narr_ZhnGTGPH_kyKrvFZ5hXxvg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">85200000</us-gaap:DebtInstrumentFaceAmount>
    <csiq:NumberOfOtherParticipatingFinancialInstitutions
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FEMhfvtnmEmeODvi6CHTEA"
      decimals="INF"
      id="Narr_XaxkkBqkpkajVOtYRmUVJg"
      unitRef="Unit_Standard_Institution_wep2g2lCNUqkNn8TlaitpQ">13</csiq:NumberOfOtherParticipatingFinancialInstitutions>
    <csiq:NumberOfOtherParticipatingFinancialInstitutions
      contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_PrQ9s49HoUuMYOhDU8gRoQ"
      decimals="INF"
      id="Narr_CxH_mFw_A0mp-xaGDvIQ3w"
      unitRef="Unit_Standard_Institution_wep2g2lCNUqkNn8TlaitpQ">11</csiq:NumberOfOtherParticipatingFinancialInstitutions>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_PrQ9s49HoUuMYOhDU8gRoQ"
      id="Narr_r47Aca-2CEup_Ice8fYR2w">P2Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_QnJcDuRnN0qQ4mshUIcLxQ"
      decimals="0"
      id="Narr_37SYjAheSE6AYkNqjVsmpA"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">9100000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_QnJcDuRnN0qQ4mshUIcLxQ"
      decimals="-3"
      id="Narr_kGpknlgugUmQ-KEGQR41pA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">88200000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_DghxPgZC3U2aDHINY81HdA"
      decimals="0"
      id="Narr_nWSq5RPQLEyRonInj9ev3Q"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">10000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_DghxPgZC3U2aDHINY81HdA"
      decimals="-3"
      id="Narr_1Xe5fuszUE-ZnX8E6Xgc4g"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">89859000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_aUfnUcGUyUKE224FJqeGwA"
      id="Narr_6q1todPB60-OxFTdmurwzg">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_BtAWqe6MiESMmXXMetgJ-g"
      decimals="-3"
      id="Narr_oQQoKT7sR0GGIx8vK6CoRQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">188000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_l6A5P82JtEe3WfB_SRTpkw"
      decimals="0"
      id="Narr_-U_gVJ39ekG1HKwELuNjOA"
      unitRef="Unit_Standard_THB_gtUN5SeDzE-Mb6_3THBBTQ">3540000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_l6A5P82JtEe3WfB_SRTpkw"
      decimals="-3"
      id="Narr_NbtKFLcSHEyX16bIvZRH4Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">106729000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_Mu9HX167IU2niK97OnGCeQ"
      decimals="-3"
      id="Narr_5pfZFdJcNkiwLpUJJHSzXw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">61506000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_2kQ-mKKmTke2K6A9v1gyYA"
      decimals="-3"
      id="Narr_vrmShEtr20KtVuJibxvOWg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">103487000</us-gaap:LineOfCredit>
    <csiq:AmountOfDevelopmentLoan
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_yMlFtVLOgk2d7XgMiMScRg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">75000000</csiq:AmountOfDevelopmentLoan>
    <csiq:TotalAmountOfMatures
      contextRef="As_Of_11_30_2023__tY0T467tUiQCpIpuxU5lA"
      decimals="-3"
      id="Narr_Llac_8BaQ0GnJfQ2YfWTJA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">125000000</csiq:TotalAmountOfMatures>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_QPXBOu5fkUaxFeGjzZH6sQ"
      id="Narr_yHrcCcFpykm1CrqjdmXpvw">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_zOFbBprUrUGY8rwoWeAq9w"
      decimals="0"
      id="Narr_2jDPgA0u7E-F6uT0aqhpdQ"
      unitRef="Unit_Standard_AUD_aYlja-s--0aCbuIQJhwE5A">289419</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_zOFbBprUrUGY8rwoWeAq9w"
      decimals="-3"
      id="Narr_QNakXm1xXUqjBA22AvXlig"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">206022000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <csiq:NumberOfOtherParticipatingFinancialInstitutions
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_QPXBOu5fkUaxFeGjzZH6sQ"
      decimals="INF"
      id="Narr_CYZUHqoOGUOP6ByVUTyKnQ"
      unitRef="Unit_Standard_Institution_wep2g2lCNUqkNn8TlaitpQ">3</csiq:NumberOfOtherParticipatingFinancialInstitutions>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_g9thuX8JTE6AThgixMUOjA"
      decimals="-3"
      id="Narr_wluyJzqlAkW5d8dMuEzXHg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">154027000</us-gaap:LineOfCredit>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_Yp0h0VLO1kyhPd2laRNnXw"
      decimals="0"
      id="Narr_0yakZkLp6ECEIaWxpFiNZw"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">24513530</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_Yp0h0VLO1kyhPd2laRNnXw"
      decimals="-3"
      id="Narr_Laiw4KrufkqzNFSqf4O-sw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">230759000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_PyKnPSYlJ0OgZupPPItelQ"
      decimals="-3"
      id="Narr_pP3Ybn9nsUmJZ-TgHBxR0Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">105542000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_3_31_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_CQz9aYoigUOXY2YQfiJLQA"
      decimals="0"
      id="Narr_MVko8iwRmUaKpgDFEFoyQg"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">8100000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_6_30_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_sRfPiB6HOUea9322YBIc8A"
      decimals="-3"
      id="Narr_Ru0OGgjplUmE9u1n-3Stug"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">73167000</us-gaap:DebtInstrumentFaceAmount>
    <csiq:NumberOfLineOfCreditFacility
      contextRef="Duration_4_1_2021_To_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_NcheskuvekWV2WdPDcctKw"
      decimals="INF"
      id="Narr_4S_Ps8Vf8kyClP4fEWxDsw"
      unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw">2</csiq:NumberOfLineOfCreditFacility>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_DRVkejT-HUqvBMMQ3fNAIQ"
      decimals="0"
      id="Narr_IMlUwkyLkEO5_YtqjSoiDw"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">1150000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_4_30_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_DRVkejT-HUqvBMMQ3fNAIQ"
      decimals="-3"
      id="Narr_RXV-bkEx7UOBQ_2LMV6Phg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">177820000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_O9B-vl1P30qBieeFTysfIg"
      decimals="-3"
      id="Narr_hUHzLGgpgE6rxKgjkvJT2Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">135008000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_vPdJhM_tVUW-1_7r-ycEpw"
      decimals="0"
      id="Narr_eexXgFhRcU6wNUsERcku6g"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">600000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_vPdJhM_tVUW-1_7r-ycEpw"
      decimals="-3"
      id="Narr_HRBz72lQH0CO_Jdu-hzMjA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">92766000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_8_1_2021_To_8_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bLUGEiEC3U6MotjtmLk4ew"
      id="Narr_Yo8vLG6CpUSPdiDXU5DCjw">P1Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ytrnuOWe9k-4pqxQnXLegQ"
      decimals="-3"
      id="Narr_HFWeZWjTXkSfAw2V7oWZCA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">62333000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_HMemPwh2dUC1uU3BDI5_qQ"
      decimals="0"
      id="Narr_6-mwqa2cXUqWxRpUuVbJXg"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">580000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_HMemPwh2dUC1uU3BDI5_qQ"
      decimals="-3"
      id="Narr_qvm0Z48FVUaHc9SJL78luA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">90918000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_kQB-djhflUWo1A_Fv4UBYg"
      decimals="-3"
      id="Narr_LI4rftRZDUmWvWVx7bF8sw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7387000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA"
      decimals="3"
      id="Narr_3HOMJtlRUU-Hs0s_jzN-vA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.010</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w"
      decimals="3"
      id="Narr_PTs3udyFcESZ9K9NCCHiLQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.057</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <csiq:LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_3l_Ai6TBNUC84NW5Y-jlJA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">321655000</csiq:LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_W2elUtXVfkiOfEvxbB0Zkw">&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;2022&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; 500,541&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;2023&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; 336,504&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;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;&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; 160,043&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;&lt;span style="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; 6,822&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; 4,783&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; 15,482&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;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 1,024,175&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;Less: future principal repayment related to long-term borrowings, current portion&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%;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;"&gt; (500,541)&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 long-term portion&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;&lt;span style="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%;background:#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; 523,634&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_FQK5Au0Hf0aNq8WjxFcZdA_1_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">500541000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_-M0vY--MEUae78ExEqgSHg_2_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">336504000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_S1ZLiXMO5kaHwZ1Qm21Kew_3_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">160043000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_9S-kNGmsgki_jRP0H6uM1A_4_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6822000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_7gd_PL3-ZE6XTF1xfcI0Gg_5_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4783000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_s3eITLQaz0SILn0XPcbo-w_6_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15482000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_HPUMiTJIoEy5leb3BHcYsQ_7_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1024175000</us-gaap:LongTermDebt>
    <us-gaap:LoansPayableCurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_NbHAHXPnREyqBIqxmTU9CQ_8_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">500541000</us-gaap:LoansPayableCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_pHhHl_Ei5UeWP9B9L3K8pg_9_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">523634000</us-gaap:LongTermNotesAndLoans>
    <csiq:ScheduleOfEffectiveInterestRatesTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_jxv4eP80RUOxqo8xW7esog">&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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.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.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.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;&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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;&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.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.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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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.16%;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.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:11.32%;background:#cceeff;margin:0pt;padding: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.26&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding: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.03&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.16%;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 on project assets &#x2013; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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:11.32%;margin:0pt;padding: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.63&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding: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.04&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;tr&gt;&lt;td style="vertical-align:bottom;width:71.16%;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;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding: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.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding: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.46&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;/table&gt;</csiq:ScheduleOfEffectiveInterestRatesTableTextBlock>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_ffqGOHYbFEO3lmbyWzY08g"
      decimals="4"
      id="Tc_Wp5yPTYkRUyc4BlK_7crpQ_3_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0326</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_c5usO8WML0SuBgfm2wCpcw"
      decimals="4"
      id="Tc_USRzmGOihE2kpvo_hijO0g_3_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0303</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_aDAFYcJcC060ov2KS-jGbA"
      decimals="4"
      id="Tc_zpL9zQI0c0m8uvMo9gA6lA_4_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0363</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ysFsDqf0TUa393F1bFQMow"
      decimals="4"
      id="Tc_zCGeu05Enkq98in64Q3Z0g_4_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0304</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="4"
      id="Tc_auLZ-GEsZkGXPo-nb7H0rg_5_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0437</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="4"
      id="Tc_4v_jVZIqA0yJA0dY_9sxbw_5_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0346</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:ScheduleOfInterestExpenseTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_cLBJOP-3XkODHoh0G3ha4Q">&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,794&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 17,316&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; property, plant and equipment&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; 2,620&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; 154&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; &#x2014;&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 expense&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:1px solid #000000;margin:0pt;padding: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,326&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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,874&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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:1px solid #000000;margin:0pt;padding: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;/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;Total interest incurred&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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,740&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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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%;border-bottom:3px double #000000;margin:0pt;padding: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;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfInterestExpenseTableTextBlock>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_k1editrbaUS9d60ONUsZrQ_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10794000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_OK4jRrQGSUGIu-jKAr_cYA_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10197000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_EM2aM2Ko70CBQLb-YIrKHw_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17316000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_y3GWod-jwkOZtiG9_VsFCg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2620000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_gzYuSRJSkEiqxUI5a2opKw_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">154000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_k4hQg4tIJEyZYAx9Bk0LYg_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">81326000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_uz-G3ycREUOclU-aPXdeyA_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">71874000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_58gOEiaFAkiVagw-E1FUmQ_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">58153000</us-gaap:InterestExpense>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_jK0BjMZNfk-IrulvWZFiTw_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">94740000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_JXvbQJGu4k6yy3ch7luMOw_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">82225000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_JT5zlxwcNEucuTIg8Bo1-w_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">75469000</us-gaap:InterestCostsIncurred>
    <csiq:ShortTermNotesPayableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_iQLokmKqJkes8eeednvORA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;14.&#160;SHORT-TERM NOTES PAYABLE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company enters into arrangements with banks whereby the banks issue notes to the Company&#x2019;s 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 banks&#x2019; settlement of the notes. Given the purpose of these arrangements is to extend the payment dates of accounts payable, 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, 2020 and 2021, short-term notes payable was $710,636 and $881,184, respectively.&lt;/p&gt;</csiq:ShortTermNotesPayableTextBlock>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_JvDzVHy1YEydtNBKIYmSkA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">710636000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_VfRyrlUxXUazyBXkTWMEPg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">881184000</csiq:ShortTermNotesPayable>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_rtzd-7aaTku17cLHzpL91w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;15.&#160;ACCRUED WARRANTY COSTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company&#x2019;s warranty activity is summarized below:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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;2021&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;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; 50,605&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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; 37,732&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; 28,044&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,931&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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; 45,053&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; (23,282)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (46,067)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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; (35,432)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 990&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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; (2,207)&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; 55,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_I5aYu-znkEuIuHz8PCteBA">&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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;2021&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;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; 50,605&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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; 37,732&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; 28,044&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,931&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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; 45,053&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; (23,282)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (46,067)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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; (35,432)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 990&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.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; (2,207)&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; 55,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw"
      decimals="-3"
      id="Tc_IpYBBGYFPk6zNM6mc2ixQg_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50605000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw"
      decimals="-3"
      id="Tc_uJ2YkIPJyU-AkS_W89022w_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">55878000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_EGkng_6k6k-O4Q6ZvrXVqA_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">37732000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_dwpImNCZmUq5KgTpXtFQcQ_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28044000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_hNEeiRsWVU6aHjdQqUOhLg_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">26931000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_J3OdAUSTeka9_wZ2Izmymg_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45053000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_BVMZN1rD4E-S9gLd7qsTCA_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23282000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_TY5e-TxcBEOVvLHv7_yyKg_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">46067000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_PayPsNuN7EaPBJswthvwqg_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35432000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_XZlrrKiiF0OtPuEC4qgzBA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">511000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_8BLgiFIL8UK2-r_xj-wKnQ_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">990000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_8zi0xaZOxE2yEpqTFR8CDw_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-2207000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw"
      decimals="-3"
      id="Tc_GAaQ6L4-fEa4eHBExAQGMw_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">55878000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_Fiq2uqlwCEeqK5N4CBO0zA_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">37732000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_qLPX2h1AJ0SHrvE6kvAyxw_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45146000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:RestrictedAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_T1gnogHsFk6PDX_qwZW9MQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;16.&#160;RESTRICTED NET ASSETS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As stipulated by the relevant laws and regulations applicable to PRC&#x2019;s foreign investment enterprise, the Company&#x2019;s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (&#x201c;PRC&#160;GAAP&#x201d;) to non-distributable reserves, which include general reserve, enterprise expansion reserve and staff welfare and bonus reserve. The wholly-owned PRC subsidiaries are not required to make appropriations to the enterprise expansion reserve but appropriations to the general reserve are required to be made at not less than 10% of the profit after tax as determined under PRC GAAP. The board of directors determines the staff welfare and bonus&#160;reserve.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The general reserve is used to offset future losses. The PRC subsidiaries may, upon a resolution passed by the stockholder, convert the general reserve into capital. The staff welfare and bonus reserve is used for the collective welfare of the employee 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 $602,460 as of December 31, 2021.&lt;/p&gt;</us-gaap:RestrictedAssetsDisclosureTextBlock>
    <csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="2"
      id="Narr_Wdxp-WRRhEe0nktK6MqqkA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.10</csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage>
    <us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_v6-ZJqGFiUuC286VK_uoiQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">602460000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ConvertibleNotesDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_w-BTlz8OB0eYKZeZVZjXDw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;17.&#160;CONVERTIBLE NOTES &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On September 16, 2020, the Company issued $200,000 of convertible notes (the &#x201c;2020 Notes&#x201d;). The Company granted the initial purchasers a 30-day option to purchase up to an additional $30,000 aggregate principal amount of the 2020 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2020 Notes are described as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Maturity date.&lt;/i&gt; The 2020 Notes mature on October 1, 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Interest.&lt;/i&gt; The 2020 Notes holders are entitled to receive interest at 2.50% per annum on the principal outstanding, in semi-annually installments, payable in arrears on April 1 and October 1 of each year, beginning April 1, 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Conversion.&lt;/i&gt; The initial conversion rate is 27.2707 shares per $1,000 initial principal amount, which represents an initial conversion price of approximately $36.67 per share. The 2020 Notes are convertible at any time prior to maturity. The conversion rate is subject to change for certain anti-dilution events and upon a change in control. If the holders elect to convert the 2020 Notes upon a change of control, the conversion rate will increase by a number of additional shares as determined by reference to an adjustment schedule based on the date on which the change in control becomes effective and the price paid per common share in the transaction (referred to as the &#x201c;Fundamental Change Make-Whole Premium&#x201d;). The Fundamental Make-Whole Premium is intended to compensate holders for the loss of time value upon early exercise.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Redemption.&lt;/i&gt; The Company may redeem for cash all or any portion of the notes (i) at the Company&#x2019;s option, on or after October 6, 2023, if the last reported sale price of the Company&#x2019;s common stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption, or (ii) following the occurrence of certain tax related events, in each case, at a redemption price equals to 100% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2020 and 2021, the carrying value of the convertible notes was $223,214 and $224,675, net of unamortized issuance costs of $6,786 and $5,325, 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 $388 and $1,461 for the years ended December 31, 2020 and 2021, respectively. Coupon interest of $1,677 and $5,750 was recorded for the years ended December 31, 2020 and 2021, respectively, of which $1,677 and $1,438 was not paid and was recorded in other payables on the consolidated balance sheets as of December 31, 2020 and 2021, respectively.&lt;/p&gt;</csiq:ConvertibleNotesDisclosureTextBlock>
    <csiq:ProceedsFromConvertibleDebtInitialIssuance
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA"
      decimals="-3"
      id="Narr_ACdzrKUImUy7suY8JIZ75A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">200000000</csiq:ProceedsFromConvertibleDebtInitialIssuance>
    <csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA"
      id="Narr_z5YHmhtoakGp6EBnr62YzQ">P30D</csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance>
    <csiq:ProceedsFromConvertibleDebtAdditionalIssuance
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA"
      decimals="-3"
      id="Narr_wYkA1IH9cUmT5tsQfCCd9Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30000000</csiq:ProceedsFromConvertibleDebtAdditionalIssuance>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_thnJXXgtjUKzYqPbUNTzoQ"
      decimals="INF"
      id="Narr_P53nMRqT9UWzWPtf1cWXfQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0250</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA"
      decimals="4"
      id="Narr_YQ7_9OKawUaRVSVkhYD4IA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">27.2707</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentAnnualPrincipalPayment
      contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_thnJXXgtjUKzYqPbUNTzoQ"
      decimals="-3"
      id="Narr_OuS9wP4rTU-UoL4uV5ic-Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1000000</us-gaap:DebtInstrumentAnnualPrincipalPayment>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_thnJXXgtjUKzYqPbUNTzoQ"
      decimals="2"
      id="Narr_WDBrt8xFlUGclI7lPQHIRw"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">36.67</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA"
      decimals="2"
      id="Narr_gatMIvBYSk2zc8no2SmbNA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA"
      decimals="INF"
      id="Narr__RqO-asnpEWPuAkgFymuCA"
      unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA"
      decimals="INF"
      id="Narr_Iqo6qIBA6UyC1QfgNXTx0Q"
      unitRef="Unit_Standard_D_AKaH3pVAHUCsfp7wE-X4MA">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uPzxIlNQa0apfrCorfacCA"
      decimals="2"
      id="Narr_SuHZ_bpP5kKXUTLiJdt5-w"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_FO5MJcP4O0GDffwYtuZ2NA"
      decimals="-3"
      id="Narr_AQKL7rqrmE-aa6iCtGIJZw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">223214000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA"
      decimals="-3"
      id="Narr_nVSDwRADFEuWi2njqfF01Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224675000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_FO5MJcP4O0GDffwYtuZ2NA"
      decimals="-3"
      id="Narr_Y2J1qxAk6k2EN_tJ5dhZ5A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6786000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA"
      decimals="-3"
      id="Narr_Kiy1LoO_O0KGQBHkNphR_Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5325000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA"
      decimals="4"
      id="Narr_FDYUqYZRCk6q2HK23qrUZQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0318</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_p0sqk9_Nxk6UOstb-OZvWA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">388000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_bf8O1lOKj0O-f1b0xmvnbw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1461000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_6d6nsIiq8UOxVGUFeZqzbA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1677000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_rGidu_eovEqcLNgGTpzI9Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5750000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestPayableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_FO5MJcP4O0GDffwYtuZ2NA"
      decimals="-3"
      id="Narr_ajyCVuqGrEGiX7MlDTU-vw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1677000</us-gaap:InterestPayableCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_dHKLPtfLXEqGmgcFIrG7pA"
      decimals="-3"
      id="Narr_ExQYvI-J4EmJTw-SbfxfGQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1438000</us-gaap:InterestPayableCurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_VJi92CgiqkupNmdI7fQIxw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Income tax expenses (benefits)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The provision for income taxes is comprised of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (61,880)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,896)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 5,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 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; 8,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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (113,262)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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; 204,632&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 189,398&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (32,716)&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; 29,335&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,642&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,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 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 28,215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 50,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 51,313&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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 208,621&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 145,263&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 145,720&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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="visibility: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;margin:0pt;"&gt;&lt;span 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;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 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (3,420)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 36,226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (1,124)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;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;"&gt; (4,803)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (71,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:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/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;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,622&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;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; 13,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 3pt 0pt 0pt;"&gt; 18,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; 24,047&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,057&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 16,865&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 56,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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,558)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,792)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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; (2,412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,173&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,604)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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; (5,333)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,998)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (65,017)&lt;/p&gt;&lt;/td&gt;&lt;/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; (2,953)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,571)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (353)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 2,637&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; (8,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;&#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; (948)&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:3px double #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; (14,619)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;"&gt; (24,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;"&gt; (67,237)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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 income tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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="visibility: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;margin:0pt;"&gt;&lt;span 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;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 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (9,978)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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,434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (439)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;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;"&gt; (7,215)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (48,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%;margin:0pt;padding: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;/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;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,289&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,278&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;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; 10,276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,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:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/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; 9,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;&#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; 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;&#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; 15,917&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 42,066&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,983)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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;The Company mainly operates in Canada, PRC, Japan, the United States and Hong Kong.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;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% for the year ended December 31, 2019, and for the period from January 2020 to June 2020. In July 2020, CSI filed articles of continuance, or the articles, to change its jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. CSI is subject to federal, Ontario provincial and British Columbia provincial corporate income taxes at a rate of 26.5% for the period from July 2020 through December 31, 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Solutions&#160;Inc. was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of 25% for all years ended December 31, 2019, 2020 and 2021. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;United&#160;States&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 22.9%, 22.2% and 26.4% for the years ended December 31, 2019, 2020 and 2021, 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 27.9%, 26.1% and 22.2% for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Japan&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Japan K.K. was incorporated in Japan and is subject to Japanese corporate income taxes at a normal statutory rate of approximately 31.8% for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Germany&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar EMEA&#160;GmbH was incorporated in Munich, Germany and is subject to German corporate income tax at a rate of approximately 33% for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Vietnam&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 Vietnam Co., Ltd was incorporated in Vietnam and is subject to Vietnamese corporate income taxes at a normal statutory rate of 10%. The Company enjoyed full tax exemption from 2016 to 2019 and uses a reduced statutory rate of 5% from 2020 to 2028.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Thailand&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand and is subject to Thailand corporate income taxes at a normal statutory rate of 20%. The Company currently has two Board of Investment certificates for full tax exemption which have different effective years. The licenses both started from year 2017, one of which will expire in 2022 and the other in 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Hong Kong&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and are subject to Hong Kong profits tax at a rate of 16.5% for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;PRC&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The other 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;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Certain of the Company&#x2019;s PRC subsidiaries, such as Suzhou Sanysolar Materials Technology Co., Ltd., Changshu Tegu New Material Technology Co., Ltd., CSI New Energy Development (Suzhou) Co., Ltd. (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd.), and Changshu Tlian Co., Ltd. were HNTEs and enjoyed preferential enterprise income tax rates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;PRC (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;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 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:70.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&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:24.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;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;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:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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; 9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Effect of true-up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.62%;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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (14)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.62%;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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;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:6.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;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:6.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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:70.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:3px double #000000;margin:0pt;padding: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:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;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:6.62%;border-bottom:3px double #000000;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/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:58.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: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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;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.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;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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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: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;2019&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;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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&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;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;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.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;(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:58.68%;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: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; 7,956&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,287&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.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; 4,466&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.68%;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: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; 0.13&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; 0.02&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.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; 0.07&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.68%;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: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; 0.13&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; 0.02&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.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; 0.07&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;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;"&gt;The components of the deferred tax assets and liabilities are presented as&#160;follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued warranty costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,699&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,942&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Bad debt 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;margin:0pt;padding: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,218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,175&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Inventory write-down&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,121&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,404&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Future deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,454&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,910&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation and impairment difference of property, plant and equipment and solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,138&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,561&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges&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; 406&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Government subsidies&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,470&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Net operating losses carry-forward&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,850&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 110,012&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange loss and capital loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 491&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest limitation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,956&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,800&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,958&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,690&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 206,482&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 286,494&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (50,118)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (45,682)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, net of valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 156,364&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 240,812&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Derivative assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,153&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation difference of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,776&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Insurance recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 785&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange gain&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,746&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,452&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,234&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,046&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,788&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,459&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 188,353&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 170,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 236,503&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (49,080)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,150)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 188,353&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:2pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;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 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, 2021, all of the undistributed earnings of approximately $604,781 attributable to the Company&#x2019;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and no provision for PRC withholding income tax on dividend has been made thereon accordingly. Upon distribution of those earnings generated after January 1, 2008, in the form of dividends or otherwise, the Company would be subject to the then applicable PRC tax laws and regulations. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $30,239 to $60,478 depending on whether the immediate offshore companies can enjoy the preferential withholding tax rate of 5%.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Movement of the valuation allowance is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 76,522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,627&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; (6,156)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,585)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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; 261&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,076&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 70,627&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2021, the Company has accumulated net operating losses of $700,667 of which $398,744 will expire between 2022 and 2041, and the remaining can be carried forward and back.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers positive and negative evidences to determine whether some portion or all of the deferred tax assets will not be realized. This assessment considers, among other matters, the nature, frequency and severity of recent losses, forecasts of future profitability, the duration of statutory carry-forward periods, the Company&#x2019;s experience with tax attributes expiring unused and tax planning alternatives. The Company has considered the following possible sources of taxable income when assessing the realization of deferred tax&#160;assets:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Tax planning strategies;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Future reversals of existing taxable temporary differences;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Further taxable income exclusive of reversing temporary differences and carry-forwards;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Valuation allowance (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:6pt;text-indent:18pt;margin:0pt;"&gt;The Company has recognized a valuation allowance of $50,118 and $45,682 as at December 31, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Uncertain tax positions&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company makes an assessment of the level of authority for each of its uncertain tax positions (including the potential application of interest and penalties) based on their technical merits, and has measured the unrecognized benefits associated with such tax positions. This liability is recorded as liability for uncertain tax positions in the consolidated balance sheets. In accordance with its policies, the Company accrues and classifies interest and penalties associated with such unrecognized tax benefits as a component of its income tax provision. The amount of interest and penalties accrued as of December 31, 2020 and 2021 was $5,101 and $1,585, 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, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;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; 15,730&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Addition for tax positions related to the current 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: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; 11&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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;&#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;&#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; &#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;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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; (5,720)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (1,011)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (3,763)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 536&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 82&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (2)&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;Ending 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;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 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;&#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; 5,863&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company&#x2019;s taxation years from 2015 to 2021 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 2016 through 2021 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 2016 retrospectively, and on transfer pricing matters for taxation years up to 2011 retrospectively. There is no statute of limitations in case of tax evasion in PRC.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb__7mPaQlnh02Rsd4-x5Q3VQ">&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (61,880)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,896)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 5,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 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; 8,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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (113,262)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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; 204,632&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 189,398&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (32,716)&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; 29,335&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,642&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,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 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 28,215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 50,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 51,313&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:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 208,621&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 145,263&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 145,720&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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="visibility: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;margin:0pt;"&gt;&lt;span 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;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 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (3,420)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 36,226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (1,124)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;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;"&gt; (4,803)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (71,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:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/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;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,622&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;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; 13,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 3pt 0pt 0pt;"&gt; 18,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; 24,047&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,057&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 16,865&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 56,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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,558)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,792)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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; (2,412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,173&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,604)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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; (5,333)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,998)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (65,017)&lt;/p&gt;&lt;/td&gt;&lt;/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; (2,953)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,571)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (353)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 2,637&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; (8,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;&#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; (948)&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:3px double #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; (14,619)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;"&gt; (24,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;"&gt; (67,237)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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 income tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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="visibility: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;margin:0pt;"&gt;&lt;span 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;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 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (9,978)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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,434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (439)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;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;"&gt; (7,215)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (48,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%;margin:0pt;padding: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;/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;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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,289&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,278&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;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; 10,276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,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:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/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; 9,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;&#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; 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;&#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; 15,917&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 42,066&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,983)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew"
      decimals="-3"
      id="Tc_gYiwFHfs4UaQbF6Zvu894Q_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-61880000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw"
      decimals="-3"
      id="Tc_Hw54cvwHcUCsbIb3ckFGDQ_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-31896000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_aibNVaUiY0aiy309eLSR_Q"
      decimals="-3"
      id="Tc_fR2YspBaYUOs1RvBioV9mA_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5922000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ"
      decimals="-3"
      id="Tc_o08YdjdHoU6EdttPptafUw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8319000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA"
      decimals="-3"
      id="Tc_Q7-9_ZD6NEGCoBE3jqF8eQ_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-113262000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_JkRKHAFxjkaQOtdb47DL4g"
      decimals="-3"
      id="Tc_BHa92C65lE-yyl0tpacrZA_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">66431000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg"
      decimals="-3"
      id="Tc__gz4b-yxwUuU-MMmZ6t7bg_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">204632000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA"
      decimals="-3"
      id="Tc_wMJEw7X4qEKVorGNvMVClA_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">189398000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_CbqdABqQtUu35QBcOh8nrA"
      decimals="-3"
      id="Tc_hAmUhQGFAka23yu_PL-QJg_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-32716000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg"
      decimals="-3"
      id="Tc_-zDwWg8TukmqsbU_8ETi8g_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">29335000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ"
      decimals="-3"
      id="Tc_JyVQtLDr9kibjDi6-g42xA_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50642000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_Bp73lXxPp0KE4ondMp-wZg"
      decimals="-3"
      id="Tc_4AWmxkBbcU-CNCIDvesD0Q_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">54770000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A"
      decimals="-3"
      id="Tc_vbUdweUvBkGYsZ9IivjruA_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">28215000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA"
      decimals="-3"
      id="Tc_-es1sXfxJEWgnw-FvJpMBg_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50381000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w"
      decimals="-3"
      id="Tc_PXjjPIfpqEKy4k-wHV7Q_A_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">51313000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_juO7RmQ3QkiJtj3hF6owwA_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">208621000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_JGqlRmJJSkaVo-oBvqfqRg_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">145263000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_2le-AtWkwE2Qm6mhi_Cs3g_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">145720000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew"
      decimals="-3"
      id="Tc_uD-pyR3bzkGoZC_aC-8Www_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-3420000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw"
      decimals="-3"
      id="Tc_TLZZqqO6d0WYLLcwNR9rrQ_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">36226000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_aibNVaUiY0aiy309eLSR_Q"
      decimals="-3"
      id="Tc_MDIvcUZjQkO49gKi2lVEIA_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1124000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ"
      decimals="-3"
      id="Tc_V2W3q46cV0Wzxd6GE5HJDw_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-4803000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA"
      decimals="-3"
      id="Tc_kkdEefxXb02fWPcZWZeBbQ_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-71421000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_JkRKHAFxjkaQOtdb47DL4g"
      decimals="-3"
      id="Tc_calWWWQN_kee4_CUHKOSSA_13_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15937000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg"
      decimals="-3"
      id="Tc_xXz1tCP74kO0YdCoDr4tvQ_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">44622000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA"
      decimals="-3"
      id="Tc_mpj3oRQNQEeqC_heGmNnvA_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30276000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_CbqdABqQtUu35QBcOh8nrA"
      decimals="-3"
      id="Tc_Ku8hZvI_s0OI_lh57Dvigg_14_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47356000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg"
      decimals="-3"
      id="Tc_h2747Z1JSUiMNnuab3RzYA_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13229000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ"
      decimals="-3"
      id="Tc_q7ProPU6NUeKIUgDK0JaKA_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18941000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_Bp73lXxPp0KE4ondMp-wZg"
      decimals="-3"
      id="Tc_ZuGD3qqSckOYwU48SmZXpA_15_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24047000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A"
      decimals="-3"
      id="Tc_A4Cmqu-ZEkq_idPtih98kQ_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7057000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA"
      decimals="-3"
      id="Tc_TxfoO0BEX0SzWWBE10EZrg_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8233000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w"
      decimals="-3"
      id="Tc_4JhcIdUgLEOZQobkl_crFw_16_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">16865000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_0xtRox8YNEadYlKEaoJqMQ_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">56685000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_uNY6EbJifkyHNKhLhyJZQA_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22255000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_jMxrbWjtjEe1WI7eWfiI4w_17_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">103081000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew"
      decimals="-3"
      id="Tc_Tl6QmDYCgk2x092jj0ebGw_19_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6558000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw"
      decimals="-3"
      id="Tc_GV1UySLF20aSswfpaeo3LQ_19_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-10792000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_aibNVaUiY0aiy309eLSR_Q"
      decimals="-3"
      id="Tc_XUJpxTIlG0iPkhxZG__s2g_19_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">685000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ"
      decimals="-3"
      id="Tc_94axdBWcWUq9F_bhYatZyQ_20_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-2412000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA"
      decimals="-3"
      id="Tc_aV0Aoi7lJkeNZa7B5RqP9g_20_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23173000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_JkRKHAFxjkaQOtdb47DL4g"
      decimals="-3"
      id="Tc_JGkRIv5ENEGockRBtZaJng_20_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1604000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg"
      decimals="-3"
      id="Tc_DC2WfPF4wUKHk5vRx98Jpw_21_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5333000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA"
      decimals="-3"
      id="Tc_wm0oRLePJ06vqeX8ULreSQ_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-17998000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_CbqdABqQtUu35QBcOh8nrA"
      decimals="-3"
      id="Tc__GFd5miikkabYcobRhPUtg_21_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-65017000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg"
      decimals="-3"
      id="Tc_uIZncyT_5kyGjWBdSEwdRA_22_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-2953000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ"
      decimals="-3"
      id="Tc_oYhjljyPSEuLssLhe-WZCQ_22_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-10571000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_Bp73lXxPp0KE4ondMp-wZg"
      decimals="-3"
      id="Tc_zHLZMcPd1EqjXDfZPqQ83Q_22_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-353000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A"
      decimals="-3"
      id="Tc_TmlOlRQ0KkGw5z8uvt63XQ_23_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2637000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA"
      decimals="-3"
      id="Tc_SPAw4gKrCkmnI1hwsHNTkg_23_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-8050000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w"
      decimals="-3"
      id="Tc_ix5XA45DqkSWavv5wz6mmg_23_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-948000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_rozqLEBB7ESLRBwwnX5sCg_24_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-14619000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_Hux2rQcsk0mJGR8W0IGyhg_24_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-24238000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_JaE4_hCoQ0apSLAkukeYDA_24_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-67237000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_PhkeFvhol0mM4Z0aN_opew"
      decimals="-3"
      id="Tc_8lj3kbcZpE-K75j8swiufQ_26_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-9978000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_pfi0i_lJfUmeXFiM_NTYPw"
      decimals="-3"
      id="Tc_dvX6YM52hEqNY6pHXqRC1g_26_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25434000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_aibNVaUiY0aiy309eLSR_Q"
      decimals="-3"
      id="Tc_rG3E5wRy_U6CN3MKVd6s5g_26_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-439000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_tkYIc-xRkkuzinsPjHc3MQ"
      decimals="-3"
      id="Tc_bNbg72PGqEKp5d4eP5Jifg_27_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-7215000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_ORpf_9D4xUealOr4fYeYRA"
      decimals="-3"
      id="Tc_OpLpZRDSp0qJy4880jizfg_27_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-48248000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_JkRKHAFxjkaQOtdb47DL4g"
      decimals="-3"
      id="Tc_xu0Da5P3R0al-pPx0DJ0Qg_27_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14333000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_QIUM1KlbSE6JszLFlwnaqg"
      decimals="-3"
      id="Tc_AFkuYeK5DUKaDscguGdxmA_28_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">39289000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_bAdqnhy6DU6nsWStL_fBBA"
      decimals="-3"
      id="Tc__3__yJgxnkqlbR_Hfj1i2w_28_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12278000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_CbqdABqQtUu35QBcOh8nrA"
      decimals="-3"
      id="Tc_2NxD4vATJUO8BKVEFnD1cw_28_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-17661000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_CzrIyDXLDEGLtniREjspfg"
      decimals="-3"
      id="Tc_y5PR4slK40qhtEMlcf361w_29_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10276000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_j1HLNzkIHEuAL2wS7j5OAQ"
      decimals="-3"
      id="Tc_1wqHoTgBVEOAGyrOLVUUKw_29_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8370000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_Bp73lXxPp0KE4ondMp-wZg"
      decimals="-3"
      id="Tc_cnBJsxSl7kygjvoA2_QHKg_29_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">23694000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_oQo4_p2l80WlwoKVi8j48A"
      decimals="-3"
      id="Tc_FbPiUBqYYEWRDhiAb6CdbA_30_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9694000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_V73E2Lns_EuGqcgZweoCBA"
      decimals="-3"
      id="Tc__opVwOr4aESAFdzCXMdEJA_30_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">183000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_EA1Qeo_P6kiKEKJtsBtE7w"
      decimals="-3"
      id="Tc_FEsXShZUXEC_fmVMSBnVmg_30_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15917000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_CrKN4ApiPUquvE2c0k8jBw_31_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42066000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_oBLbeAzopkmxTHx6UNdgKg_31_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1983000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_O8JiUlEf8EuyZpy9nnNPfQ_31_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35844000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_bsz1DT4brk6DN5zvX7cU0Q"
      decimals="3"
      id="Narr_T8FcSkl9NkS68YHwXEhLdg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_0xmc3gQZ9Uu8zeFyiRe9zg"
      decimals="3"
      id="Narr_u9hVZX4ZpE-O9vwG5HXIyg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_7_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_I7GFRMg3CkmpUa04YRiLkg"
      decimals="3"
      id="Narr_0GBOLHkgpkidWwQxKTn2YA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_HxVhzGxNi0K3W9tmJpy6Mw"
      decimals="3"
      id="Narr_WlUhhZnlY0OwTyqzCRbArA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_dRHthf-xNkehrkhUto-76Q"
      decimals="3"
      id="Narr_cf95Uemr_k2VqAUSoHaGUA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_QewE84cjEUq0inbSJlh9Wg"
      decimals="3"
      id="Narr_jAUmwdTPiUCS3DgBPfHc9A"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_k_rsqBR470aFy23qbWlHyg"
      decimals="3"
      id="Narr_ZAYu0HZL-UiHyhr_poiykg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_cYpYM63dL0-Xjy1PhCfLkw"
      decimals="4"
      id="Narr_-7sSRryxiE2rIYKF7kgilg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.229</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_CGiVcTmlfk65XL9sEuGeJg"
      decimals="4"
      id="Narr_HFBCXlDKFU6mbclhvgUHXw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.222</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pb_m7XcgckioBDX9qMhLHQ"
      decimals="4"
      id="Narr_dXvZws6qEEuT006nHy6ISg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.264</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_JAEK0QVSQkqd4axxHbZBsQ"
      decimals="4"
      id="Narr_K6Wu27KHYESYwAMaQB3BqQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.279</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_FG_WhmnkckSXzhsDuquQKw"
      decimals="4"
      id="Narr_1-HhJVF0qUW2BIHNu7myUw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.261</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zBDEvqqtLUCLq3e4B-MWvQ"
      decimals="4"
      id="Narr_GNZVCdGxpkyZ0bDwyvfbXg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.222</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_6GQGH0x61E6qqcBodyAe8Q"
      decimals="4"
      id="Narr_aHST4b0CpEeXedKZb6rEQg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.318</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_cUe_nDpciUajswTjUtFLvg"
      decimals="4"
      id="Narr_iYebLRw1G0uGfVURx0o4LQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.318</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_sT_wZDSuDEmx4AhA9puF8g"
      decimals="4"
      id="Narr__ZRi-RtxMEiPuCKewjrATQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.318</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_irOQK5ye9kCbxUMINrw3bA"
      decimals="2"
      id="Narr_AmQnstjcVESC_sXsJPL8ig"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_8wnU3WkfsESCuIr0MZFQ4Q"
      decimals="2"
      id="Narr_lQdw6XdJuESbk-d6derFGA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_skUu6z-cqkWCpsARnuNTcw"
      decimals="2"
      id="Narr_8pU2BPWSrUysHv_LZyoMrw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2016_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_fLoXV8FNc0mrp65mOByRgg"
      decimals="2"
      id="Narr_swCeLDLUzEqMh9t3h7dkKA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.10</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_9j2lvICjj0urOFn22UNdZw"
      decimals="2"
      id="Narr_ni7E2QUym0Sps8IwBwsjgQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.05</csiq:ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_LN_u_am-AUu6UKaJ1mjUvg"
      decimals="2"
      id="Narr_5zpDa-5YGE6dP1DK2IWTyQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_i488skE_xEmAisD_7I1pfQ"
      decimals="INF"
      id="Narr_EITk6MuirkaaumrfivZvYg"
      unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw">2</csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_9ZS48Y7kskWdsocvERooUA"
      decimals="3"
      id="Narr_DXr-9DSNfUyhFU7fQ46nMQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_kHG1_D5IVEGRIaTcl-Az4A"
      decimals="3"
      id="Narr_TxvuY1yJw0qq-_w2gcTAnA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_I_hTj64L206pRLv-Ckzwfw"
      decimals="3"
      id="Narr_JfRvZyCOgUGEqXkcrMQVMA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_nuumtwtbdUKILmfsl3WPeg">&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:70.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&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:24.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;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;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:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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; 9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Effect of true-up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.62%;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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (14)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.62%;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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.69%;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;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;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:6.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;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:6.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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:70.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:3px double #000000;margin:0pt;padding: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:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;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:6.62%;border-bottom:3px double #000000;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_V2bSf_kMl0aqTBXkFwm0hw_3_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_jHB5qY-ITUO0nnfg9dnaqQ_3_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_r8vx_EuxpEu9Gn_m1cDnaA_3_6"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_X64up4mWvU-tMMe3dPHisA_4_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.01</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_qacQwXT30kSyXxN7GU8zTQ_4_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.04</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_7j7rTULWwUSrsK5uSzMB6g_4_6"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.03</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_U8_DDRowJkykN6GYqwR1Tg_5_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_DrOeJPdiaESyyWYf_rqlQQ_5_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.06</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_3RSlHxHlVkGvMkwXIQVPoQ_5_6"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.09</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_0Xs27cUkNUebF7J4XV1Ung_6_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.04</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_iIodt3hoCk-T-8DWUhPv2w_6_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_o9xePs6-bUuXM-ZCoHaoRg_6_6"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_f2QEoVShaEW7keGUebEPIQ_7_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.03</csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp>
    <csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_1BgLO-VpIE2UTlMNmHDxNg_7_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.13</csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp>
    <csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_J-YpstFin0i5Gaz2p600-Q_7_6"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.04</csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_yuy34OVp0E2h011MQkRInw_8_6"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.05</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_QpX8Tsn2V0qW0L6jDntpIA_9_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_FiJ9u17FnUynwuAuTJfSzQ_9_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.14</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_Q0J1xuku70yJU51g1IQyeQ_9_6"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_jJYn8GyxqE2j1LmLMEmX6g_10_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_XM1Qq_2gikmco8RIg7-2gw_10_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_9R3wn3Zsh0OUUhczrtK7xQ_10_6"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_MeuD58CptUmB-ag-gSGcRA_11_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_NaBenSN21kCz17okXTyCxw_12_2"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_TZLnBWqkOEuwSfum32BViw_12_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">-0.01</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_y_j5tPlmGkOKCv-3qzZJqg_12_6"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.25</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfIncomeTaxHolidayTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_eP5RUIsNX0qw9aEDWg1Thg">&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.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: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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;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.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;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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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: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;2019&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;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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&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;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;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.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;(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:58.68%;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: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; 7,956&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,287&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.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; 4,466&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.68%;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: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; 0.13&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; 0.02&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.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; 0.07&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.68%;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: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; 0.13&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; 0.02&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.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; 0.07&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SummaryOfIncomeTaxHolidayTextBlock>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_gYmtTbv9EEimFVzSMHJRzQ_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7956000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_mYkuCPFQcU2CWorcxGnz9w_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1287000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_2E4cU4U7TUWdvZTkwJ7Swg_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4466000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_YQjQgyuCr0iSknJpvdcYZw_5_2"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0.13</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_qHkNhAl6C0aWfOd540c4iw_5_4"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0.02</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_dFI79g0RLUSeRtY0v-2Rbg_5_6"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0.07</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_mws6pZ9dkEeyKTXprzPI-w_6_2"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0.13</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_bbGOKdMtEUufG12weXl0mA_6_4"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0.02</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_FLXGlIhCRkqatD-J_yeWcw_6_6"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0.07</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_GvgNWdPFvU-URnnFGltTjg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued warranty costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,699&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,942&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Bad debt 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;margin:0pt;padding: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,218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,175&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Inventory write-down&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,121&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,404&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Future deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,454&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,910&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation and impairment difference of property, plant and equipment and solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,138&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,561&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges&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; 406&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Government subsidies&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,470&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Net operating losses carry-forward&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,850&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 110,012&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange loss and capital loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 491&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest limitation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,956&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,800&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,958&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,690&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 206,482&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 286,494&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (50,118)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (45,682)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, net of valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 156,364&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 240,812&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Derivative assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,153&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation difference of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,776&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Insurance recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 785&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange gain&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,746&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,452&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,234&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,046&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,788&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,459&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 188,353&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 170,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 236,503&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (49,080)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,150)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 188,353&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_gNpmT-QWzk-pVCbYWovlhg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8699000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_RHnqAv_X2E67tdvMe-ZuJQ_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14942000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_WEhhU3EM10K_Sp0YcTUOyQ_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3218000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ebGh1AM1sESgY7-s13xtEg_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12175000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_10xGjHPXzEWTHYoJpt5Qgg_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3121000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_fFkEtR7XQ0CeFlPwXkgF9g_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1404000</us-gaap:DeferredTaxAssetsInventory>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_-DbLAJ7INk6LgYXtPxKC3g_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24454000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_kvo3RP55jkaSPJsQptmvig_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24910000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_BcIxNzU9l0aYn0HijSoc7w_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30138000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_6mUnXY-f2Ey94tht7PMCzA_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24561000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_kqkfgnLiGEi1nPxzCBYuPA_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">406000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Rd0e_NdST0ajFptytr05XQ_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">39000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_gi01xeaROEql0hvjCgTaew_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">16461000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_YIEVM0XM_EK1_FeKDn2RIA_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">39470000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_NYpITcrXBUKAY8dc1bGZbQ_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">85850000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_HBQzuB8ARk-2xlvjkiJT4A_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">110012000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_VCzRF_n-qku3wuFPlvUwTQ_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1221000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_WILatv5Wd0CT_qL2lFJmCA_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">491000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_0aILbW2EH06FUFxQc6331A_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1956000</csiq:DeferredTaxAssetsInterestLimitation>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_aNfFatstZkemH1Q5ZdkFQA_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10800000</csiq:DeferredTaxAssetsInterestLimitation>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_h_XgWWVV70W1ITBwHnIBOw_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30958000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_P7KNdQOIDke7mAj-nYJGrQ_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">47690000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_Fudl6kdPs0OmA57Iu1i-4A_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">206482000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Cv4rpckO4kiEkAdWHaHq1g_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">286494000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_sNHQmi496EubnNvm4yqhhw_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50118000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_R4Z0qqMlX0qV0Jpy5_nDDg_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45682000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_E5gYas-f20ilMN68bmP63w_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">156364000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_NzsLCiTOv0KrYavEKD5B2A_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">240812000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_KTKGkwkBdky4IjLEJwGf3g_21_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">996000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Y5jIduQX_U653eTRN6yF9w_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2153000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_TL-zsQQHG0GUepNqAnDDWg_22_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17027000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_yKW8t6RLjku6XJpMQJPesQ_22_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">27776000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_qf_P4qqXH0q2tErKHf0t0A_23_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">785000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_ifts1DLFmECvFLZa4g3h4A_23_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">32000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_VfSKTusr60ys01TjrIoYCQ_24_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10746000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_CyBaM9Mk2Uyi4q4r3ZYVdg_24_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3452000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_H-76r6UlIE24JQ55XnA__w_25_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5234000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_LiJvtjBoWUiBWIQqLApouw_25_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19046000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_pgDUrAQKhUqnX9uoOnASlQ_26_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">34788000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_tJUrRLPwp0S3jNWlPhqdDw_26_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">52459000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_gv5urenez0OWxXngLVEjrQ_27_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">121576000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_gs8GPXf9a0G-9nezcNn12g_27_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">188353000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_cRCyH5OiwkO4t8s9CeGWCA_29_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">170656000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_TgaNv1_NuUaI_0zZTr-00Q_29_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">236503000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_xspxrVCpLEu7xdtmXmXnaQ_30_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">49080000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_sDQD9UmtwE2eCqzFzYhoLw_30_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">48150000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_p0a_tGTFEkKZGYQm6vNBDg_31_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">121576000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_dcCb2721kEeDFF1V2V83MA_31_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">188353000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA"
      decimals="2"
      id="Narr_PEB8vhN7w0KZ023hBqezPw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.05</csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities>
    <csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w"
      decimals="2"
      id="Narr_j8VGLVUXZUmr6TEryuwxSg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.10</csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_mzrPiUcKKkyh1pWQ8gXdSw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">604781000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="0"
      id="Narr_fYGkQhAXlk2-SrsFgao_NA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_3GXLY-8k50SIHiuXb19lQg"
      decimals="-3"
      id="Narr_U4Pcyo0g1EmK4oWNLfj2tw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30239000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_tItpqhiGNku2EFLZ-L5B_w"
      decimals="-3"
      id="Narr_hswHN9lZNkyGARGa6U6a5Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">60478000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <csiq:PreferentialWithholdingTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Narr_0uBpI0K18EiAYvlOrQm2yQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.05</csiq:PreferentialWithholdingTaxRate>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_C8VSMIg_MUWfmCXzO61V_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: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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 76,522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,627&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; (6,156)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,585)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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; 261&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,076&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 70,627&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;/table&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_wTn2tvhBNkWzDJdK2D085Q"
      decimals="-3"
      id="Tc_Bk_6x5wBXEuCAolyufLnjQ_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">76522000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_qPVLDnfmBUeHudH6xqb48g"
      decimals="-3"
      id="Tc_CQEv-2VHukiUTUAlNOv9Tw_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">70627000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_hqXUcsguAUGtuMeOGEU0Fg"
      decimals="-3"
      id="Tc_FpCgcIwWqkyfUbT2Wphuhg_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50118000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-C2tmKDmH02lpXkXqpKMzA"
      decimals="-3"
      id="Tc_wPSBtL9jWUKZgzbn_bIFPw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6156000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x3ozolcCaky22YAYuHQBBA"
      decimals="-3"
      id="Tc_Lkm3BzY2LUiHSIfEJtSKhw_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-21585000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_rmZFTOhOLUm4_ylu-LxAfA"
      decimals="-3"
      id="Tc_l0lZUBDo10GS3Ds6nbewWg_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-4671000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-C2tmKDmH02lpXkXqpKMzA"
      decimals="-3"
      id="Tc_QgrhJcrOA0-dGqriE1ZSXg_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">261000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x3ozolcCaky22YAYuHQBBA"
      decimals="-3"
      id="Tc_OTAuxaXKjkywIYlkrBXIBA_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1076000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_rmZFTOhOLUm4_ylu-LxAfA"
      decimals="-3"
      id="Tc_KvLfHTH9l0eK-I6XNvgJUg_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">235000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_qPVLDnfmBUeHudH6xqb48g"
      decimals="-3"
      id="Tc__ZvofQOG-E2EfgGGbRJyqg_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">70627000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_hqXUcsguAUGtuMeOGEU0Fg"
      decimals="-3"
      id="Tc_9dW-CYuBeUCrvdf1NunEUg_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50118000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_BIXrp1saoE6tItdXhzte-w"
      decimals="-3"
      id="Tc_g86xupvKg0KxS2mrvRnGRA_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45682000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_nOqlMS06KE2_nTpyxogW0w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">700667000</us-gaap:OperatingLossCarryforwards>
    <csiq:OperatingLossCarryforwardsSubjectToExpiration
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_H499DyLab0eog4PHAyTYug"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">398744000</csiq:OperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_K0qmB4EYAkGNv3nqsPNzFw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50118000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_CDFO-QgRm06QtgjLyOD_Yw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45682000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Narr_sLW5j08FzECaLBnJXPvLiw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5101000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_w3b8By3J_0iiTRC6g5IWCA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1585000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_IYaU_3KgdEuafQld08H40w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;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; 15,730&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Addition for tax positions related to the current 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: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; 11&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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;&#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;&#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; &#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;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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; (5,720)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (1,011)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (3,763)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 536&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 82&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (2)&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;Ending 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;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 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;&#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; 5,863&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw"
      decimals="-3"
      id="Tc_PlXghTcc_k-E4TlzMNbfHA_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15730000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw"
      decimals="-3"
      id="Tc_EeE5xOTH2EKA_xsPo2nLFQ_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10557000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_zAnxkDVoZ0-2kP_Q9c8QSQ_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9628000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_xhV6oNdjXU6gcXLhw3DR7g_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_fWSGrrGzp0W2ntJNOfNULw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5720000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <csiq:UnrecognizedTaxStatueOfLimitationsExpirations
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_J6_5Ls1GkkODw3L33CkT0A_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-1011000</csiq:UnrecognizedTaxStatueOfLimitationsExpirations>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_eNPBT2s1XkKcGyO-nTVNpQ_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3763000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_1htMBw5R10Gtv4B6bCH_nw_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">536000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_i0_ddv73uk6uaZyCHVjciQ_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">82000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_jAGIReCLe06AwtEzqlqAVg_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2019_OS8oiemaekOtvW5jCQCYfw"
      decimals="-3"
      id="Tc_1W9EDXhgO0SkI9fymVjczw_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10557000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_RYPc4wrW9kqAkjZP4UnwfQ_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9628000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_mE_mfEbLoESjZHDD_Okn1g_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5863000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_IUMcxWTBQ02lEDVJ-sgwhw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;19.&#160;EARNINGS PER SHARE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table sets forth the computation of basic and diluted earnings per share for the years indicated:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:47.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.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:13.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.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:1.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:13.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:13.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:47.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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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:47.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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin: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:14.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin: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:14.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="10" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.18%;margin:0pt;padding:0pt;"&gt;&lt;p 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:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.1%;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.8%;background:#cceeff;margin: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.78%;background:#cceeff;margin: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:13.07%;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.77%;background:#cceeff;margin: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.78%;background:#cceeff;margin: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:13.07%;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:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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; 171,585&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 975&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,518&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;margin:0pt;padding: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,560&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;&lt;span 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.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.07%;background:#cceeff;margin:0pt;padding: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.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.07%;background:#cceeff;margin:0pt;padding: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:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.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; 59,633,855&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,575,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.07%;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Diluted effects of share number from share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.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; 794,526&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 897,258&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.07%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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; 349,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,833,663&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:1px solid #000000;margin:0pt;padding: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:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.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; 60,777,696&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,306,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;margin:0pt;padding: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.88&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.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; 2.83&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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;/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: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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/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;Share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 41,950&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 187,083&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 3,877&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_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_4RtBPv5jI0e0lZFxKG02tw">&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:47.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.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:13.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.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:1.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:13.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:13.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:47.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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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:47.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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin: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:14.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin: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:14.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="10" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:50.18%;margin:0pt;padding:0pt;"&gt;&lt;p 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:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.1%;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.8%;background:#cceeff;margin: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.78%;background:#cceeff;margin: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:13.07%;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.77%;background:#cceeff;margin: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.78%;background:#cceeff;margin: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:13.07%;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:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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; 171,585&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 975&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,518&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;margin:0pt;padding: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,560&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;&lt;span 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.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.07%;background:#cceeff;margin:0pt;padding: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.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.07%;background:#cceeff;margin:0pt;padding: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:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.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; 59,633,855&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,575,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.07%;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Diluted effects of share number from share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.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; 794,526&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 897,258&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.07%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.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; 349,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,833,663&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:1px solid #000000;margin:0pt;padding: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:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.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; 60,777,696&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,306,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.1%;border-bottom:3px double #000000;margin:0pt;padding: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.88&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.07%;border-bottom:3px double #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.95%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.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; 2.83&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#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:13.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc__99fL5bAcEWZEeEt4MHImQ_5_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">171585000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_8ByA4onkdEuvWwXnG8wWWQ_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">146703000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_jCLnBAkEW0qyy-G6Cf--Tw_5_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">95248000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_tQ3QmocGfUeV6Nwap5S3uQ_6_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">975000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_aVe-RF2x-UKsBVCqRbyyVw_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1518000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_JhyDG7Iwdk2Ms10MnE6DLA_6_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5300000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_rW8ptxTltUmvacAgB89d3w_7_3"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">172560000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_95tKp4Y3h02EySFGHd_QcA_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">148221000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_p4hBvHR7K0WMwW9kk727dw_7_9"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">100548000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="0"
      id="Tc_l-Du9imNikucqTBVAs6ypg_9_3"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59633855</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="0"
      id="Tc_L6P7gj3lG02AibShsb6jxw_9_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59575898</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="0"
      id="Tc_k2zPcESYgU-ZKE-Q0ocTTQ_9_9"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">61614391</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="0"
      id="Tc_N1lrBWRHR0SkdJt77uAZoA_10_3"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">794526</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="0"
      id="Tc_W8Odqrr8GEWrwIlmjdBq9Q_10_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">897258</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="0"
      id="Tc_ZHUaYJ7JjkeunMMA6iEcLg_10_9"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">985554</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="0"
      id="Tc_7vGmokTy_kqmM6dUM7ESLw_11_3"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">349315</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="0"
      id="Tc_QS8tmjC_8kqaomnEKE9goQ_11_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">1833663</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="0"
      id="Tc_rNWqpL8ak0Wtgffk0zTF2Q_11_9"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">6272157</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="0"
      id="Tc_k-jS4yaBAkCU0e9h5rVY1g_12_3"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">60777696</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="0"
      id="Tc_uZi2WfAl70-8bhfl91T_Hg_12_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">62306819</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="0"
      id="Tc_rxFbn1Mv-EGVugON6ozxyA_12_9"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">68872102</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_Dk0XtOlMGU-TsSqyH5Y2HA_13_3"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">2.88</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_CeJWNF3UD0Cf-NVuxDEWJw_13_6"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">2.46</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_hjL5eT_KSkaFMz7kB17KDw_13_9"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">1.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="2"
      id="Tc_z4nmcqehi0-LDKi47G3arA_14_3"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">2.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="2"
      id="Tc_TpqAVdt8UEyjjt0kZOnvGQ_14_6"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">2.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Tc_qOkmmiMW5U28erxnMZ-hzQ_14_9"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">1.46</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_05-TWV_ydkuo17eGIF9OSw">&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/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;Share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 41,950&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 187,083&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 3,877&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_98hftRRMOkChq2Wao8Nmbw"
      decimals="INF"
      id="Tc_cA5T9XB__ECrYQCFeKG2vw_3_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">41950</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_QM-PwdE6rUCTWMZNnOhN0Q"
      decimals="INF"
      id="Tc_FYodBN4trE2Y_aVZ5KwE4Q_3_4"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">187083</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_wusFvHH9RkmWQDwNEa0H-Q"
      decimals="INF"
      id="Tc_64NMvcfZr0-UUeDCqKKUlg_3_6"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">3877</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_seFzvGVivUKUxCTvD2rydA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Related party balances&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The amount due from related parties of $73,042 as of December 31, 2021 primarily consists of (i) shareholder loans of $46,672 and $20,712 respectively to Horus and Recursos, each the Company&#x2019;s 20% owned affiliates in Mexico, and (ii) trade receivables for module sales of $5,517 provided to various 20% &lt;span style="-sec-ix-hidden:Hidden_Jr39bvl8CE2bMzeF44OEAw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_Pyyjx1zI8kO4D61SSBFmuQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliates&lt;/span&gt;&lt;/span&gt; of the &lt;span style="-sec-ix-hidden:Hidden_s6guRBZwY0a5JU31YszosA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Company&lt;/span&gt;&lt;/span&gt;, including $2,580 to Salgueiro I Renewable Energy S.A., $266 to Salgueiro II Renewable Energy S.A., $1,676 to Francisco SA I Renewable Energy S.A., $530 to Francisco SA II Renewable Energy S.A. No amount was due as of December 31, 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The amount due to related parties as of December 31, 2021 was not material. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Related party balances (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Guarantees and loans&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Dr. Shawn Qu fully guaranteed loan facilities from two Chinese banks of RMB1,420,000 ($203,549) and RMB135,000 ($20,648) 2019 and 2020, respectively, and from a Chinese bank of RMB12,000 ($1,882) in 2021. Amounts drawn down under the facilities as of December 31, 2019, 2020 and 2021 were $82,937, nil and nil, 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 granted 26,691, 26,073 restricted share units to Dr. Shawn Qu in 2019 and 2020, respectively, on account of his having guaranteed these loan facilities. No grants on account of his having guaranteed these loan facilities were made in 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Sales and purchase contracts with affiliates&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019, 2020 and 2021, the Company sold three, two and two solar power projects to CSIF, the Company&#x2019;s 14.64% owned affiliate in Japan, respectively, in the amount of JPY5,889,000 ($53,874), JPY888,000 ($8,392) and JPY30,601,181 ($282,133), respectively, recorded in revenue.&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;Additionally, in 2019, 2020 and 2021, the Company provided asset management service to CSIF in the amount of JPY281,094 ($2,573), JPY394,506 ($3,723) and JPY829,053 ($7,541), respectively, and provided O&amp;amp;M service to CSIF in the amount of JPY223,598 ($2,052), JPY805,021 ($7,564) and JPY981,161 ($9,195), respectively. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, the Company sold modules to Salgueiro I Renewable Energy S.A., Salgueiro II Renewable Energy S.A. and Salgueiro III Renewable Energy S.A., each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_Ey00aiZep0GXxJPNhu1HBQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_4sM7dC303U-rDLJPitklYw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliate&lt;/span&gt;&lt;/span&gt; in Brazil, in the amounts of $105, $105 and $114, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $11,636, $9,996 and $9,403, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 2021, the Company sold modules to Jaiba 3 Renewable Energy S.A., Jaiba 4 Renewable Energy S.A. and Jaiba 9 Renewable&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;Energy S.A., each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_2SBtbUuh90KAl6S4tIVWFg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_uZRAdK2de0yrx7QzcsLRbg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliate&lt;/span&gt;&lt;/span&gt; in Brazil, in the amounts of $834, $3,210 and $3,046, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $5,971, $3,696 and $1,372, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, the Company sold modules to Francisco SA I Renewable Energy S.A., Francisco SA II Renewable Energy S.A. and Francisco SA III Renewable Energy S.A., each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_V4XzS5gLHEWS80P7cJ0Xug;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_2xtSB5FnAUCY7QAo-o34YA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliate&lt;/span&gt;&lt;/span&gt; in Brazil, in the amounts of $7,170, $7,592 and $8,121, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, the Company sold modules to Lavras I Solar Renewable Energy S.A., Lavras II Solar Renewable Energy S.A., Lavras III Solar Renewable Energy S.A., Lavras IV Solar Renewable Energy S.A. and Lavras V Solar Renewable Energy S.A., each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_bbbGH3k4I0mssVfGb6vGxw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_VF6GP2lX5EyCxofIsyy3Yg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliate&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_SyseSaG11UeZvOMJVZ1gwQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;in&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_9AmCOjSZzES-jsrRU1jZDg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Brazil&lt;/span&gt;&lt;/span&gt;, in the amounts of $5,707, $5,842, $6,049, $6,233 and $6,233, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, the Company provided battery storage solutions to Sonoran West Solar Holdings, LLC. And Sonoran West Solar Holdings 2, LLC, each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_VErkGVmC20aIsFVi88JVNA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; affiliate in the United States held through RE Crimson Holdings LLC, in the amounts of $12,822 and $6,955, respectively&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019,2020 and 2021, the Company purchased raw materials from Luoyang Jiwa New Material Technology Co., Ltd., the Company&#x2019;s 20% owned affiliate, in the amount of RMB18,124 ($2,584), RMB31,388 ($4,545) and RMB19,378 ($2,995), respectively. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, the Company purchased raw materials from Yancheng Jiwa New Material Technology Co., Ltd., the Company&#x2019;s 20% owned affiliate, in the amount of RMB10,831 ($1,688).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 2020, the Company provided EPC services to Lavras Solar Holding S.A., the Company&#x2019;s 20% owned affiliate in Brazil, in the amount of BRL5,061 ($974).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Sales and purchase contracts with affiliates (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In 2019, the Company purchased raw materials from Suzhou iSilver Materials Co., Ltd., the Company&#x2019;s former 14.63% owned affiliate in PRC, in the amount of RMB350,590 ($50,359). In December 2020, the Company fully disposed of its ownership of Suzhou iSilver Materials Co., Ltd. to an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB168,032 ($24,301) from this former affiliate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 2019, the Company purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd., the Company&#x2019;s former 32% owned affiliate in PRC, in the amount of RMB61,174 ($8,787). In July 2020, the Company fully disposed of its ownership of Suzhou Kzone Equipment Technology Co., Ltd. to an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB7,381 ($1,048) from this former affiliate.&lt;/p&gt;&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 2019, the Company sold solar power products to ET Solutions South Africa 1 Pty, the Company&#x2019;s 49% owned affiliate in South Africa in the amount of ZAR586,832 ($40,970).&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sB54lBUBbk-0JrNATsIbYA"
      decimals="-3"
      id="Narr_dp8YbJRkFUuwneuT_3ttwQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">73042000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:LoansAndLeasesReceivableRelatedParties
      contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_On1nXgaKx06eXWTe8-NyXQ"
      decimals="-3"
      id="Narr_lf9TIeHkvE29WFhIaAepSw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">46672000</us-gaap:LoansAndLeasesReceivableRelatedParties>
    <us-gaap:LoansAndLeasesReceivableRelatedParties
      contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_HWID1THM1EGllC3oajhKGg"
      decimals="-3"
      id="Narr_nSifVoRpvka4nVaQYPaDNA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20712000</us-gaap:LoansAndLeasesReceivableRelatedParties>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_9xSPrZGqtE-xVn0RHd2AUQ"
      decimals="2"
      id="Narr_7kf3glhwSUOdY3wKbbpywQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:AccountsReceivableRelatedParties
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_Hlfv7S9lwkWybtBeZSfvJw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5517000</us-gaap:AccountsReceivableRelatedParties>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroIRenewableEnergyS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_q41oDN9fPkSm17kfZYv6bA"
      decimals="2"
      id="Narr_s_3Nk5IJkEi6luZH3VMRMA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_beIHe0YC5E2IwM2Q1js5pQ"
      decimals="-3"
      id="Narr_Jy5-DkVCvUmphHI8-zb9xg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2580000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_7n6qXdFcG0edKu-LHefTHQ"
      decimals="-3"
      id="Narr_RZFBkW0pBUqdRvZ6JKQ0Bg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">266000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_W9Lufsae7ESRBkF5t872yA"
      decimals="-3"
      id="Narr_DL5bvokOGE2Ya69l-sJOpA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1676000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_dh51yB4xQE-qrGALjQD36A"
      decimals="-3"
      id="Narr_pI-K_c0--EKyiSoUfrHQLA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">530000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_W3nlEBCVNk-ip0Je6xKdbQ"
      decimals="0"
      id="Narr_75cBfsXCwUSB8o47zeMqmw"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">1420000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_W3nlEBCVNk-ip0Je6xKdbQ"
      decimals="-3"
      id="Narr_q4AscUB_kkOvSQKYbV4goQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">203549000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_gXpW8PxfJkO1h1L-CEJJUg"
      decimals="-3"
      id="Narr_ZCuCxN9tikWJvVe9hakt3w"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">135000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_gXpW8PxfJkO1h1L-CEJJUg"
      decimals="-3"
      id="Narr_dfGJy8D0WUCsl_Cmmjct9A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20648000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_uy2tDu5PRkOToO2aOQy84w"
      decimals="0"
      id="Narr_GH1DShw0NEOPwhi0qV5w0w"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">12000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_uy2tDu5PRkOToO2aOQy84w"
      decimals="-3"
      id="Narr_Dpl_gdCthEmZN0VHDczQaw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1882000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_W3nlEBCVNk-ip0Je6xKdbQ"
      decimals="-3"
      id="Narr_tnCyyhqXskWKlpTqL7FY4A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">82937000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_gXpW8PxfJkO1h1L-CEJJUg"
      decimals="-3"
      id="Narr_V5f4QdFHeEu5VI2eix5ULQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_uy2tDu5PRkOToO2aOQy84w"
      decimals="-3"
      id="Narr_bgRs78jARES8Cetbc9CI3A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:LineOfCredit>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_IBS93TUtfkCxSHzbkIqO5w"
      decimals="INF"
      id="Narr_4cywzVtHJUWtXb8_cn1EBw"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">26691</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_3McteKMMD0qH9XmLnK0FYQ"
      decimals="INF"
      id="Narr_mphJ8yiagkqaDyh8eoxFgQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">26073</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_QSSPj3Od906zLM2S_hheuw"
      decimals="INF"
      id="Narr_qEeyu0EYXUeVUNLVYkqXBQ"
      unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw">3</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_X43EbEm7qEScbvhbxzRvhw"
      decimals="INF"
      id="Narr_Q5rAbITQB0yqPAjd4biwuQ"
      unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw">2</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_GBCPyE9sVUa3iGvXMTJFhA"
      decimals="INF"
      id="Narr_Iq3D8MpFE0-H1qP5nyll8A"
      unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw">2</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_QSSPj3Od906zLM2S_hheuw"
      decimals="4"
      id="Narr_xoFoPD2MjEaLEE071Uskeg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1464</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_X43EbEm7qEScbvhbxzRvhw"
      decimals="4"
      id="Narr_i2bDmtuLXkqIp7ZVYNzKIw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1464</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_tNIQz0WB60iZW9nWEmc0Gw"
      decimals="-3"
      id="Narr_fxnFe80xw0mBAiwBbE-YsQ"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">5889000000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_tNIQz0WB60iZW9nWEmc0Gw"
      decimals="-3"
      id="Narr_krKp0vBDJ0qq56zWz_tcxg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">53874000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_2sBVBL5VQ0iTOQ91u13Zdg"
      decimals="-3"
      id="Narr_Ic1VH8I4E0SWJQeawpPS6g"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">888000000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_2sBVBL5VQ0iTOQ91u13Zdg"
      decimals="-3"
      id="Narr_w1oDCUbTskiovhqZw0vfKw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8392000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eA7NYPRbYU2MWcA3iUEhnQ"
      decimals="-3"
      id="Narr_CLTb85Vt40CSVcr3MN2Bvg"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">30601181000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eA7NYPRbYU2MWcA3iUEhnQ"
      decimals="-3"
      id="Narr_BCOJY27LlU2HdBowxKezmA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">282133000</us-gaap:RevenueFromRelatedParties>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_3yDVwDhOBkKcKdcPGe8AVQ"
      decimals="-3"
      id="Narr_VA5H4amYEEWNYBlkZjKTwg"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">281094000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_tNIQz0WB60iZW9nWEmc0Gw"
      decimals="0"
      id="Narr_Sj8Q2PxR-USAsXX7hlG4ag"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2573</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ICk9WQ5oxkqGuH3smD0YnA"
      decimals="-3"
      id="Narr_bfAAyUgyZU6VBFVTlOFa6w"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">394506000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ICk9WQ5oxkqGuH3smD0YnA"
      decimals="-3"
      id="Narr_sz0o6hvuSkysT4p1y_q9Uw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3723000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_msGwISC8g0mhJoxNV27H5w"
      decimals="-3"
      id="Narr_zJuWDTUVG0iK7wJXEv7zDw"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">829053000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_msGwISC8g0mhJoxNV27H5w"
      decimals="-3"
      id="Narr_7jGsOPbJXUaPLsdd6MBJ0Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7541000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vRfS3XBzHEGsNMx9irKSfQ"
      decimals="-3"
      id="Narr_BPldhBNTokmfZOnBQdn9Yg"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">223598000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vRfS3XBzHEGsNMx9irKSfQ"
      decimals="-3"
      id="Narr_3Qv6_Rsghk6sEY5yLzdIqg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2052000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZnTfdOios0yc36OAiM-GpQ"
      decimals="-3"
      id="Narr_aLtVw3xtQUWqOu9eHRvG8Q"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">805021000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZnTfdOios0yc36OAiM-GpQ"
      decimals="-3"
      id="Narr_0kspP43lsEuoA-QbBM2Mgw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7564000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_qszmqmVASUqm3TyrG99g5A"
      decimals="-3"
      id="Narr_WmR1z1cx3kaFAimbcd5C6A"
      unitRef="Unit_Standard_JPY_Bjlsg8xuVU-uAL5DVB45Dg">981161000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_qszmqmVASUqm3TyrG99g5A"
      decimals="-3"
      id="Narr_wxQEHM_gsEy6DNoQ3GkD1w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9195000</csiq:ServiceRevenueFromRelatedParty>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember__0hvYQboPUa6qYbdybVe7g"
      decimals="2"
      id="Narr_Gnuza0ZAYUON3VcTC_T9GA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember__0hvYQboPUa6qYbdybVe7g"
      decimals="-3"
      id="Narr_8npfvVr0BUilo76GAse6lg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">105000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_cR7FQksyA0-o3dL-8YbZXA"
      decimals="-3"
      id="Narr_Q6MCvH-l9k24Mj6o_6ZtCQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">105000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_2T2etnnrVE2LqeixSu0euQ"
      decimals="-3"
      id="Narr_msbNPULBo0mb2jj-ICD6Fg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">114000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_n0oxhOtnnUKkSVJrNu4pMQ"
      decimals="-3"
      id="Narr_AGqH5eLl1Ea5uuL8FTvvrQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11636000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_IxgwTu5MGEGmsqW43dExCQ"
      decimals="-3"
      id="Narr_ugyLtr7ka0SFHenIqjtfJw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9996000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_mF_xRt7pkkOFXbsZdwOsew"
      decimals="-3"
      id="Narr_z0JkwuKTxUeIEBVYySbwYg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9403000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_0vF19LuyikKPBGkXvs22-A"
      decimals="2"
      id="Narr_eG4PMfP4ZUGN5PlHcNDLqA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_0vF19LuyikKPBGkXvs22-A"
      decimals="-3"
      id="Narr_6bNlFGtvbUmRC-Tc9f3MAA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">834000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_AFwb896X3EeF1nreEDKDdg"
      decimals="-3"
      id="Narr_yUhW7raNREy23Ejua7wZgQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3210000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_5y5ULIA4DkCdkOMAuAiFEw"
      decimals="-3"
      id="Narr_JuaJTqYzDE-_c7VabsrJxw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3046000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_1kRO4YQ_m0Kc7nDZl1ypkQ"
      decimals="-3"
      id="Narr_bDwk8e7qUEWx5E0mxGRUsg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5971000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaba4EnergiasRenovveisS.a.Member_rjBlvytdyEeIsveGirR6Vw"
      decimals="-3"
      id="Narr_-f5pqL3d4UCg21iBlOkalg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3696000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_x6lJFWJKIU-mQKpfcvAqPQ"
      decimals="-3"
      id="Narr_V4tS1sSjEkq1CvGOow5ctg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1372000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_EVTi4Gc5UEitPB1M_IqFZg"
      decimals="2"
      id="Narr_eJMKujskUkCmRblUIOwOcg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_EVTi4Gc5UEitPB1M_IqFZg"
      decimals="-3"
      id="Narr_6PMyyUrTzEGpQcz13e8Zzw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7170000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_J_30WxZ97UO_v2deVXT7Bg"
      decimals="-3"
      id="Narr_XS2_jXN0jkaoehnO_bxv8w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7592000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_DDp1zaQ110-EovbwyGqUjQ"
      decimals="-3"
      id="Narr_0adehzmpsUKvieYdTeHqBQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8121000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_-Tf3W_DQ2E6DpqxzDDMEgw"
      decimals="2"
      id="Narr_Mu89JHbD806YWJqwPbJhwQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_a4P3xlujpkmjnVKA6ug8Ug"
      decimals="-3"
      id="Narr_27TZu8djfku2uNqMFP89FA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5707000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_hxiFXzTO2EO6qLw26P4lTQ"
      decimals="-3"
      id="Narr_rAYHT24PPUOBiZaXp-yOug"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5842000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_zpqkGc2DHUOgzXxVyxDNHg"
      decimals="-3"
      id="Narr_BhW9uqZqz0iv6xnYe-uULA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6049000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_CjiNgghbrkKIbzZi4WPyoQ"
      decimals="-3"
      id="Narr_1NPhz1bALE27YeIIEr-TOg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6233000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_5FavrH0kqEWnICagYp434A"
      decimals="-3"
      id="Narr_e_KH4OrlmEybRjHPj4a9Lg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6233000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_OIuG-oANvkO3JZ1qQ790ZQ"
      decimals="2"
      id="Narr_tnvJ8oqxskea01dFU91rZw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_OIuG-oANvkO3JZ1qQ790ZQ"
      decimals="-3"
      id="Narr_0zIVjCsFBUGZ90kPiIdMBg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12822000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_F5tVuICzikOs2U7m2K3bYw"
      decimals="-3"
      id="Narr_7Mo1_i3Bk0aYn7FNDje_iA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6955000</us-gaap:RevenueFromRelatedParties>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ"
      decimals="2"
      id="Narr_TFUbC0FzvEiPt3S2QyVhpA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_dRZAO1sV20S4WkUQ88cB1g"
      decimals="2"
      id="Narr_d4mO3a-H-0mcYn_7AGXrTQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_czqor8-loU-G_U5pdxyy1Q"
      decimals="2"
      id="Narr_dYJO0LhQo0q1Jnc76kiKEw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ"
      decimals="-3"
      id="Narr_2ICTkMD2DEiVwZC_DBo71g"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">18124000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ"
      decimals="-3"
      id="Narr_i0U7yeYfH0S9S7BK0Za_aw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2584000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZFb6kIeBt0Gldn17btddqQ"
      decimals="-3"
      id="Narr_0xQ_VAO0v0aEVBEOPFMKAQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2584000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_dRZAO1sV20S4WkUQ88cB1g"
      decimals="-3"
      id="Narr_UZVeV2YXdUK5ubcAQPioxw"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">31388000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_dRZAO1sV20S4WkUQ88cB1g"
      decimals="-3"
      id="Narr_hmKpJt1OIUCrHgy2VqgNUQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4545000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_czqor8-loU-G_U5pdxyy1Q"
      decimals="-3"
      id="Narr_k2n_nGBLCUCPRzLnwNUchQ"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">19378000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_czqor8-loU-G_U5pdxyy1Q"
      decimals="-3"
      id="Narr_zmHFMoTDdUmoVr-rCvHzMg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2995000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_GTbDK5MgXESCwt9YN-gcbA"
      decimals="2"
      id="Narr_s217et6QUEeVM5qk0P_Mnw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_GTbDK5MgXESCwt9YN-gcbA"
      decimals="-3"
      id="Narr_8pn-tyoZGk29H07Tcd56Yw"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">10831000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_GTbDK5MgXESCwt9YN-gcbA"
      decimals="-3"
      id="Narr_WPs5UmOUuUyPboOFI5lDGw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1688000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavrasSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_M_SsCt1A_UGLgDWI8TmNjw"
      decimals="2"
      id="Narr_i2Ma7tOq-k20g8XvKgWK8A"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_2CrNmrFwa0W-9cI04555vw"
      decimals="-3"
      id="Narr_GBK4W5gWbkKi57D1V49mzg"
      unitRef="Unit_Standard_BRL_Do1ENKwgw0SkuRPbv1VTDA">5061000</us-gaap:CostsAndExpensesRelatedParty>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_2CrNmrFwa0W-9cI04555vw"
      decimals="-3"
      id="Narr_ELP7rpL2sEGHj-FO6rrnKQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">974000</us-gaap:CostsAndExpensesRelatedParty>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw"
      decimals="4"
      id="Narr_sW7-Z8WSnE2bf65b_OddRA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1463</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw"
      decimals="-3"
      id="Narr_og0OscCbUEOONdw0OO3M3Q"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">350590000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw"
      decimals="-3"
      id="Narr_mxqDUHueiE27-I74Q5-o0g"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50359000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_mQQCuhy9ZkSU8z83P6F9jw"
      decimals="-3"
      id="Narr_PsT2A6mEOU207DGmmKS8xA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50359000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_l7TNx2shO0694Z4FOLL2MQ"
      decimals="-3"
      id="Narr_bAwDWOsKD0-eb-dh8UMg3A"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">168032000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_l7TNx2shO0694Z4FOLL2MQ"
      decimals="-3"
      id="Narr_y11kHb-vakm-Bl_465AnfQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24301000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zAg4m3NL5EOix_5aNdOQIw"
      decimals="2"
      id="Narr_mbScA_y3Z0uzPP8Z_u3f9g"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.32</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zL5NfHVEEU-YC8MaoZhUnw"
      decimals="2"
      id="Narr_J6eADJs5rEGGVqFKdHPBwg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.32</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zL5NfHVEEU-YC8MaoZhUnw"
      decimals="-3"
      id="Narr_DaxPntED5UStm_gHSPvVBQ"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">61174000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_zL5NfHVEEU-YC8MaoZhUnw"
      decimals="-3"
      id="Narr_NgnWt9lEoUmXAYBiKcvUMA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8787000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_RjM6SdTi80m47MM-P_rBMQ"
      decimals="-3"
      id="Narr_1jz6AriE2UG4r2xgzdsOpQ"
      unitRef="Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg">7381000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_RjM6SdTi80m47MM-P_rBMQ"
      decimals="-3"
      id="Narr_GQgazipyEUWEht6HSO_kng"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1048000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_MbVasNWrskKhUHTyvTDkPA"
      decimals="2"
      id="Narr_QzhicbAAAUSamtK1lFA4Qw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.49</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_MbVasNWrskKhUHTyvTDkPA"
      decimals="-3"
      id="Narr_HrvnTegj0EKb18vwh2b_Jw"
      unitRef="Unit_Standard_ZAR_rcQw20Gy9Em_eji0n-H-MA">586832000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_MbVasNWrskKhUHTyvTDkPA"
      decimals="-3"
      id="Narr_Xewt9MZ3YEORXMfgl7Auhg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">40970000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_v2CwCs4S30uBKKwvizB7gQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;a)&#160;&#160;&#160;&#160;Capital commitments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2021, the commitments for the purchase of property, plant and equipment were approximately $167,871, 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;/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;2022&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; 67,448&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;2023&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; 49,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;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;border-bottom:1px solid #000000;margin:0pt;padding: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,948&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; 167,871&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21. COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Class Action Lawsuits&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In January 2015, the plaintiff in a class action lawsuit filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court approved a settlement of the action on October 30, 2020. The settlement is no admission of liability or wrongdoing by the Company or any of the other defendants. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar 1&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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 6pt 0pt;"&gt;As a result of these determinations, the Company was required to pay cash deposits on Chinese-origin CSPV cells imported into the U.S., whether or not incorporated into modules. The rates applicable to the Company were 13.94% (antidumping duty) and 15.24% (countervailing duty). The Company paid all the cash deposits due under these determinations. Several parties challenged the determinations of the USITC in appeals to the CIT. On August 7, 2015, the CIT sustained the USITC&#x2019;s final determination and on January 22, 2018, the Federal Circuit upheld the CIT&#x2019;s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"&gt;The rates at which duties will be assessed and payable are subject to administrative reviews.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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;"&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 is not subject to the second administrative review of the countervailing duty order, the Company&#x2019;s countervailing duty rate remained at 20.94%. The antidumping duty rates were appealed to the CIT. The CIT affirmed the USDOC&#x2019;s second antidumping duty rate. This decision by the CIT was appealed to the Federal Circuit, which in June 2020 reversed the CIT&#x2019;s decision, in part, and directed the USDOC to reconsider certain issues related to its final determination. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#x2019;s antidumping duty redetermination. As a result, the Company&#x2019;s antidumping duty rate was reduced to 0.00% (from 3.96%). There was no further appeal to the Federal Circuit of the USDOC&#x2019;s antidumping duty redetermination and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC published the final results of the 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. &lt;span style="white-space:pre-wrap;"&gt;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 &lt;/span&gt;7.36% (from 18.16%). There was no further appeal to the Federal Circuit of the USDOC&#x2019;s countervailing duty redetermination and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC published the final results of the fourth administrative reviews in July 2018 (both antidumping duty and countervailing duty), with the countervailing duty rate later amended in October 2018. Because the Company was not subject to the fourth administrative review of the antidumping duty order, its antidumping duty rate remained at 13.07%. In this review, the countervailing duty rate applicable to the Company was reduced to 11.59% (from 18.16%). 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%). 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.&lt;span style="white-space:pre-wrap;"&gt;  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 &lt;/span&gt;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 6pt 0pt;"&gt;The USDOC published the final results of the fifth administrative reviews in July 2019 (antidumping duty) and August 2019 (countervailing duty). The antidumping duty rate applicable to the Company was lowered to 4.06% (from 13.07%). The countervailing duty rate applicable to the Company was reduced to 9.70% (from 11.59%). The countervailing duty final results were amended to correct ministerial errors in December 2019, but this amendment resulted in no change to the Company&#x2019;s 9.70% rate. The countervailing duty and antidumping duty rates were appealed to the CIT. Pursuant to the CIT&#x2019;s remand order in the antidumping appeal, USDOC made a remand redetermination that reduced the Company&#x2019;s antidumping duty rate to 3.30% (from 4.06%). In May 2021, the CIT sustained USDOC&#x2019;s antidumping duty redetermination. There was no further appeal to the Federal Circuit of the USDOC&#x2019;s antidumping duty redetermination and, therefore, this decision is final. The CIT remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#x2019;s rate. The USDOC submitted its countervailing duty redetermination to the CIT in December 2021. A decision is expected in mid-2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The 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%&lt;span style="white-space:pre-wrap;"&gt;). The antidumping duty rates were appealed to the CIT.  In April 2022, the CIT remanded the antidumping duty appeal to the USDOC to consider adjustments to the Company&#x2019;s rate. 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 &lt;/span&gt;11.97%.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC published the final results of the seventh administrative reviews in August 2021 (countervailing duty) and October 2021 (antidumping duty). The antidumping duty rate applicable to the Company was lowered to 0.00% (from 95.50%). The countervailing duty rate applicable to Canadian Solar International Limited (&#x201c;CSIL&#x201d;) was raised to 19.28% (from 11.97%). USDOC did not change the rate of 11.97% for Canadian Solar Manufacturing (Changshu) Inc. and Canadian Solar Manufacturing (Luoyang) Inc. because the countervailing duty review was rescinded for both 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 its 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 6pt 0pt;"&gt;The eighth and ninth antidumping duty and countervailing duty administrative reviews were initiated in February 2021 and February 2022 and are currently underway. The USDOC is currently scheduled to release the final results of the eighth administrative reviews on June 21, 2022 (antidumping duty) and June 29, 2022 (countervailing duty), subject to potential extensions. USDOC will likely issue preliminary results of the ninth administrative reviews in late 2022 or early 2023. The final results of the eighth and ninth administrative reviews may result in duty rates that differ from the previous duty rates and cash deposit rates applicable to the Company. These duty rates could materially and adversely affect the Company&#x2019;s U.S. import operations and increase its cost of selling into the U.S. market.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;Between 2017 and 2019, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The Company did not participate in USDOC&#x2019;s first sunset review. The Company did, however, participate in the USITC&#x2019;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar 2&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. The Company was identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;&#x201c;Chinese CSPV products subject to Solar 2 orders&#x201d; refers to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#x201c;Taiwanese CSPV products subject to Solar 2 orders&#x201d; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;On December 23, 2014, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigation on these CSPV products. On January 21, 2015, the USITC determined that imports of these CSPV products had caused material injury to the U.S. CSPV industry. As a result of these determinations, the Company is required to pay cash deposits on these CSPV products, the rates of which applicable to the Company&#x2019;s Chinese CSPV products were 30.06% (antidumping duty) and 38.43% (countervailing duty). &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC&#x2019;s determination and the assessed countervailing duty rates were appealed to the CIT and the Federal Circuit. In March 2019, the Federal Circuit affirmed the CIT&#x2019;s decision confirming the USDOC&#x2019;s determination but reduced the Company&#x2019;s countervailing duty rate to 33.58% (from 38.43%). There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The antidumping cash deposit rate applicable to the Company&#x2019;s Taiwanese CSPV products subject to Solar 2 orders varied by solar cell producer. The Company paid all the cash deposits due under these determinations. There is no countervailing duty order on Taiwan Solar 2 products. The rates at which duties will be assessed and payable are subject to administrative reviews.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The USDOC published the final results of the first administrative reviews in July 2017 (China and Taiwan antidumping duty orders) and September 2017 (China-only countervailing duty order). Because the Company is not subject to the first administrative reviews of the Solar 2 orders, the Company&#x2019;s duty rates will remain at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#x2019;s Chinese CSPV products. The Company&#x2019;s antidumping duty rates for the Company&#x2019;s Taiwanese CSPV products had ranged from 3.56% to 4.20%, until they were changed to 1.52% to 3.78% in June 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The second administrative reviews for the Solar 2 China antidumping and countervailing duty orders were rescinded, meaning that there is no change in the Chinese antidumping and countervailing duty rates applicable to the Company&#x2019;s Chinese CSPV products 30.06% (antidumping duty) and 33.58% (countervailing duty). The USDOC published the final results of the second administrative review for the Taiwan antidumping duty order (there is no countervailing duty order) in June 2018. The rate applicable to the Company is 1.33%. There is no ongoing litigation related to the Taiwan antidumping duty rate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The Company was not subject to the third administrative reviews of the Chinese orders and, therefore, the Company&#x2019;s duty rates remained unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#x2019;s Chinese CSPV products. The third administrative review of the Taiwan antidumping order concluded in mid-2019. The rate assessed to the Company was 4.39% (from 1.33%). There is no ongoing litigation related to the Taiwan antidumping duty rate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The USDOC rescinded the fourth administrative reviews of the Solar 2 China antidumping duty and countervailing duty orders in late 2019. The Company&#x2019;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#x2019;s Chinese CSPV products. The rate assessed to the Company in the fourth administrative review of the Taiwan antidumping order was 2.57% (from 4.39%). The USDOC also found that certain Canadian Solar entities had no shipments during this period of this review.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The USDOC rescinded the fifth administrative reviews of the Solar 2 China antidumping and countervailing duty orders. The Company&#x2019;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#x2019;s Chinese CSPV products. The USDOC published the final results of the fifth administrative review of the Taiwan antidumping duty order in September 2021. The USDOC determined that the Canadian Solar entities subject to the fifth administrative review had no shipments during the period of review and therefore, the Company&#x2019;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&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;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The USDOC initiated the seventh administrative reviews of the Solar 2 China antidumping and countervailing duty orders.  The countervailing duty review was not initiated with respect to all Canadian Solar entities. The countervailing duty rates will remain unchanged for all entities for whom the review was not initiated. The USDOC initiated the seventh administrative review of the Taiwan antidumping duty order in April 2022 with respect to certain of the Canadian Solar entities. The USDOC will likely issue the preliminary results of the seventh administrative review in late 2022.&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 USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 2 antidumping and countervailing duty orders. In May 2020, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 2 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The USITC issued an affirmative determination on September 4, 2020, declining to revoke the Solar 2 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 2 orders are expected to remain in effect through at least 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Section 201&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On May 17, 2017, following receipt of a petition from Suniva, Inc., which was later joined by SolarWorld Americas, Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September 22, 2017, the USITC determined that CSPV products are being imported into the United States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells, whether or not partially or fully assembled into other products such as modules, consisting of (1) a tariff-rate quota for four years on imports of CSPV cells not partially or fully assembled into other products, with (a) an in-quota quantity of 2.5 gigawatts, and (b) a tariff rate applicable to over-quota CSPV cells of 30%, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year; and (2) a 30% tariff for four years on CSPV modules, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year. This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;On June 13, 2019 and following an abbreviated public comment period, the Office of the U.S. Trade Representative (or USTR) granted an exclusion from the safeguard measure for solar panels comprising solely bifacial solar cells (or bifacial solar panels). In October 2019, USTR determined to withdraw this exclusion. Invenergy Renewables LLC (or Invenergy) promptly contested USTR&#x2019;s withdrawal determination at the CIT and secured a temporary restraining order against USTR in November 2019. In December 2019, the CIT preliminarily enjoined USTR&#x2019;s withdrawal due to procedural deficiencies. USTR then sought and was granted a voluntary remand to reconsider its withdrawal determination for bifacial solar panels.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In early 2020, USTR conducted a renewed notice-and-comment process regarding the exclusion for bifacial solar panels from the safeguard measures. In April 2020, USTR again determined that the exclusion for bifacial solar panels should be withdrawn based on the findings of its second notice-and-comment process. Notwithstanding, in May 2020 the CIT denied without prejudice the United States&#x2019; motion to dissolve the preliminary injunction and to resume the collection of the safeguard tariff on entries of bifacial modules. USTR appealed the CIT&#x2019;s interlocutory decision to the Federal Circuit in July 2020, but subsequently dismissed its appeal in January 2021. The United States continued to litigate the merits of USTR&#x2019;s April 2020 withdrawal of the bifacial exclusion before the CIT. On November 17, 2021, the CIT vacated USTR&#x2019;s April 2020 withdrawal in &lt;i style="font-style:italic;"&gt;Invenergy Renewables LLC v. United States&lt;/i&gt;. The CIT&#x2019;s judgment holding USTR&#x2019;s April 2020 withdrawal of the bifacial exclusion unlawful was not appealed to the Federal Circuit and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 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% ad valorem (as opposed to 15% ad valorem 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 and the appeal remains ongoing. The Federal Circuit&#x2019;s decision is expected in late 2022 or early 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, 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 Proclamation 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% in the eighth year. The Proclamation also excludes bifacial panels from the extended safeguard measure and authorizes USTR to negotiate agreements with Canada and Mexico that could lead to the exclusion of those countries from the safeguard measure.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"&gt;On June 3, 2015, the Canada Border Services Agency (&#x201c;CBSA&#x201d;) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found Canadian Solar to be a &#x201c;cooperative exporter&#x201d; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (&#x201c;CITT&#x201d;) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT may initiate an expiry review pursuant to Subsection 76.03(3) of the Special Import Measures Act (&#x201c;SIMA&#x201d;) before the end of 5 years of its finding. If the CITT does not initiate such an expiry review pursuant to Subsection 76.03(3) of SIMA, the finding is deemed to have been rescinded as of the expiry of the five years. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The expiry review was concluded on March 25, 2021. The CITT determined to continue its aforementioned finding to impose definitive duties on imports of Chinese solar modules and laminates into Canada. As a result the Canadian Solar-specific subsidies rate of RMB0.014 per Watt remains unchanged. The subsidies rate applies for a period of five years. The CITT is required to conduct a further expiry review at the end of that period, being July 2, 2025. Such subsidies rate does not have a material negative effect upon the Company&#x2019;s results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ"
      decimals="-3"
      id="Narr_fZfy3DzhDkuEHJ2JSzKNhA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">167871000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:LongTermPurchaseCommitmentTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Lc2hbF38FkKdvj0BErOFiA"
      id="Tb_t9Hvh7KolkWkOfbsQEqecg">&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;/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;2022&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; 67,448&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;2023&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; 49,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;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;border-bottom:1px solid #000000;margin:0pt;padding: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,948&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; 167,871&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ"
      decimals="-3"
      id="Tc_X7_XjsD21UeAyUdbffDA1Q_2_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">67448000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ"
      decimals="-3"
      id="Tc_G5xKAFFQGE6vrNyf1zE9Bg_3_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">49475000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInThirdYear
      contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ"
      decimals="-3"
      id="Tc_jkgjKZY6r0-cqU7OkoTUBA_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50948000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ"
      decimals="-3"
      id="Tc_CXK9dmIc50-2yyshd5grSw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">167871000</us-gaap:PurchaseObligation>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_QUs7y4anYkGNI-P-v32Pxg"
      decimals="4"
      id="Narr_TwhrVycRhECquLWLceILMQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1394</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_QUs7y4anYkGNI-P-v32Pxg"
      decimals="4"
      id="Narr_OqsrkjN0JE-f56vkWpDptw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1524</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_0U4IKU64J0WTHuQOm7DLKQ"
      decimals="4"
      id="Narr_TfW1QiS0w0GhDEOvHX364Q"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0967</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_0U4IKU64J0WTHuQOm7DLKQ"
      decimals="4"
      id="Narr_TDwwzOJE8UWGmads_nMJMg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.2094</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_3y68_iezHk-3_3ekb3vDpw"
      decimals="4"
      id="Narr_nJzc2kZBdE-p3oXDanROAQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0852</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_5_1_2016_To_5_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_fJntDOic5kyMSpGDy4Falw"
      decimals="4"
      id="Narr_ai8LwIP7Ek6v9LtMukfRlA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0967</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_aXD9_33fcE6XHGyiQv0jMw"
      decimals="4"
      id="Narr_eB3TRYS5dEKN1fFM11Uzow"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0396</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_3y68_iezHk-3_3ekb3vDpw"
      decimals="4"
      id="Narr_F6AecTCQT0OKA0hPIZ0Dvw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0852</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_aXD9_33fcE6XHGyiQv0jMw"
      decimals="4"
      id="Narr_-wnb7dusFE2cRDd7eUEs2Q"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.2094</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_veaxoUMR6k6Y6UJhpOtoAQ"
      decimals="4"
      id="Narr_Q7lo55T5_UKG8MpRzP93sA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_tUmxDeaXcUa0_Td237Uj_Q"
      decimals="4"
      id="Narr_5_jprFmyRkSAgFBSQ9osnQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0396</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_t0SpRdeuQES6fNeXz7nE0A"
      decimals="4"
      id="Narr_95IchafXb0GDNoPZgRJQdw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_HJB61ojXhEmaKUcPG0tCpw"
      decimals="4"
      id="Narr_wNws32ESzEOGUfUFVIkpJg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0852</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_t0SpRdeuQES6fNeXz7nE0A"
      decimals="4"
      id="Narr_1lRu6B1atU-6rE0QnlQk9g"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_HJB61ojXhEmaKUcPG0tCpw"
      decimals="4"
      id="Narr_MHhORCYB3kmcmo9Ij3oYsw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.2094</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_H-0yy-o1K0uK3isCGzVm2g"
      decimals="4"
      id="Narr_60lC69wCJU6KTsUrs3h_dw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0412</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_t0SpRdeuQES6fNeXz7nE0A"
      decimals="4"
      id="Narr_GyQdSoJcfUmd3x5r-Q8O6w"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_5_1_2020_To_5_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_HEaQkQL2nUuMsEkKLQKTjQ"
      decimals="4"
      id="Narr_MExy54brSkudwnL6YVfWxQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0319</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_H-0yy-o1K0uK3isCGzVm2g"
      decimals="4"
      id="Narr_xb4iXIvpWUu863Vo1kPcvg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0412</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_sNmkbdiWWEKZWa3LyMN7RA"
      decimals="4"
      id="Narr_7C4sD4ZX-EeYKhYFCXEPmg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_4Z2WfiCUzUmLFSmFx2XyZA"
      decimals="4"
      id="Narr_YXNBG9sJtkiAyKEzr-MM2g"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0319</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2020_To_8_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_uXCklUTuz0KRwgJp4_zFyQ"
      decimals="4"
      id="Narr_KpPd4GYIPUy5bXkXaMe4CA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0736</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2020_To_7_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_iV0GKhDQ50WpZTdhDC5qHg"
      decimals="4"
      id="Narr_b-kDb9ljhk2M8251OpFtzg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_4Ep0SzwFZkG1QF4qZA1vAw"
      decimals="4"
      id="Narr_tucUI0PiqEOxGG3WeGXvlA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_dyLRn9cGgkSDOgUwq4l0ug"
      decimals="4"
      id="Narr_vxvgjZp5ek2o_YnIEY94Bg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1159</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2018_To_9_30_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_B3drILgsUUiZB2zJ05mwzQ"
      decimals="4"
      id="Narr_3jgqh5eBDku7WgfMmEKHfQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_JMK5gHEv-kqfMl0sybmDmg"
      decimals="4"
      id="Narr_wslrF4o3IU6I0xu8iZCoLg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0502</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_dyLRn9cGgkSDOgUwq4l0ug"
      decimals="4"
      id="Narr_Jg7es52hKUuyh1e_JBY-_g"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1159</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_buK8SSWF90y6uBuwvEEMiw"
      decimals="4"
      id="Narr_IgWqeT1QP0-voQkbIsJLfQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0406</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2018_To_7_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_w1r4RtFROE2L6zlFtM_lbg"
      decimals="4"
      id="Narr_lpIfFrLHHEW-DKmhWJO1SQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_buK8SSWF90y6uBuwvEEMiw"
      decimals="4"
      id="Narr_nOAEgfS5YUaQbJ4BHNJMWA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_YH0a47-rO0GI9viQdlNIbw"
      decimals="4"
      id="Narr_CNJdv9UKYEyBTPYKsMWO9Q"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1159</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_kl9R2V6Ok0WmHZbWd8-jYA"
      decimals="4"
      id="Narr_dKCPNZWHxE6jIurX989-Uw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2019_To_7_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_hA29IY2fZE26Ymmp8BaF8w"
      decimals="4"
      id="Narr_o61hHuMnn0-lCcQOTI9jNg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0330</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_buK8SSWF90y6uBuwvEEMiw"
      decimals="4"
      id="Narr_iTIXvvgG9UKvovOxZQIvsQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0406</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2020_To_10_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_EZtvWLvCH0yqRvvYbsMGtQ"
      decimals="4"
      id="Narr_8OxSTZ4N8UeHjcyLmFfszA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.6893</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_1_2020_To_11_30_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_5y3IE6XXnkqcDTIa2Mt_aw"
      decimals="4"
      id="Narr_8lzufA5i5U6kWfYf9aNqUg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_yrxXnv6ioES4wTpVfho81w"
      decimals="4"
      id="Narr_G03l3BZH_06IVXHa4CUzbg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.9550</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_oW8tlBjnc06Z1L7u5MJu5w"
      decimals="4"
      id="Narr_97J2kb7xzkuozyf_OFoLpw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.6893</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_yrxXnv6ioES4wTpVfho81w"
      decimals="4"
      id="Narr_XvGHcnoFJEySosCsISkfxQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1267</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_83EddPiNb0KeWAB2PIyNUw"
      decimals="4"
      id="Narr_GxKKY5Nw0EKnXJG2i8wMdw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_RD6usPMsok-LgQvQDkbiOw"
      decimals="4"
      id="Narr_dfetXDB-EU6rJVi4Pd0amw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_yrxXnv6ioES4wTpVfho81w"
      decimals="4"
      id="Narr_ddw5DU9iXk-06FwOG45Zaw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1267</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_tB_cCzPJ3U27dGCGFNeWRQ"
      decimals="4"
      id="Narr_wHq7HRvg3kaDF-BZ93z7MA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_XMD9znkGZE-2pYtGa7zCiA"
      decimals="4"
      id="Narr_3gWXRGrqCUiGAX0HfxMbtw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_aDTQ3qXSTUKEk-1QTSVKVw"
      decimals="4"
      id="Narr_RtEhsDU5e0a_pBN8n-afJA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.9550</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_1erpeQTVM0mH9pZ0_UovNg"
      decimals="4"
      id="Narr_KTq8B9x6h062MlauhUFJ9w"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1928</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_k-LN7EUcf06SYFU0AvTvsA"
      decimals="4"
      id="Narr_SIX8C6V2JU2zSamzZcCTjQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_k-LN7EUcf06SYFU0AvTvsA"
      decimals="4"
      id="Narr__Z2dEUF1-kKsEdNsuz8ndg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_XMD9znkGZE-2pYtGa7zCiA"
      decimals="4"
      id="Narr_bwz7Pl1-bUKazPci-SVJPQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_1erpeQTVM0mH9pZ0_UovNg"
      decimals="4"
      id="Narr_ynB4tAeiU0yuHbhGiyAGOg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.1928</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_iyVAkjPf20SvecMiq2r4dw"
      decimals="4"
      id="Narr_5BfY8yiS0UCE68bL-xxeMg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_iyVAkjPf20SvecMiq2r4dw"
      decimals="4"
      id="Narr_b9L8HN2g90WmJ2D7hIcxJg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3843</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_3_1_2019_To_3_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_GeGE9Rl5X0-C0YSi5EM00g"
      decimals="4"
      id="Narr_PMo5032fiECiwcjZNv4bNQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_2_1_2019_To_2_28_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_77OFDK5PyE2HC-7XNQ3LYw"
      decimals="4"
      id="Narr_TZWPt_Sq70m0vPOSt1uVFQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3843</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ZtSglFbby0u-42xoXxYVXA"
      decimals="4"
      id="Narr_kJSEVuBTt0SRhOIBp4yMzg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ZtSglFbby0u-42xoXxYVXA"
      decimals="4"
      id="Narr_BsAiybtq2k6W2ckwdSK7zg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_r56JCLFno0mrwTuThxCe_g"
      decimals="4"
      id="Narr_JdXgPrpeYkyV21e7UgKomw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0356</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_tgyoirmWtk-Yzh2d7Dx-iQ"
      decimals="4"
      id="Narr_vxFK7Qyl0kmW3T-nRt8pag"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0420</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_M1sdGG3FFEqvfpT9WGyf-A"
      decimals="4"
      id="Narr_xFB8atXV7kyvVrq7f1LY9w"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0152</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_XEVHaMJlRUeCkD-fWxHyDQ"
      decimals="4"
      id="Narr_8HgibIBZXEqth0dep21VHQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0378</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_oXiRkKYQt0eXgub5HqA3eg"
      decimals="4"
      id="Narr_6zyTgfvdOkqH8sd4GXiyLg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_oXiRkKYQt0eXgub5HqA3eg"
      decimals="4"
      id="Narr_Xfq7WvKJWUSryT9x0AHWgg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_oXiRkKYQt0eXgub5HqA3eg"
      decimals="4"
      id="Narr__tHPAezql0SfXBH3f0tGAg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0133</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ntafGUPF5kq4fQZeHZR9Wg"
      decimals="4"
      id="Narr_isuQrK8xrU-kKMYYteOEwQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ntafGUPF5kq4fQZeHZR9Wg"
      decimals="4"
      id="Narr_Yke9_Y-8sEuQE0Co0QNZEQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ntafGUPF5kq4fQZeHZR9Wg"
      decimals="4"
      id="Narr_lafpjQ5Il0aJf0JZxgZyeQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0439</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_oXiRkKYQt0eXgub5HqA3eg"
      decimals="4"
      id="Narr_twJw_VcpyEmXvFzya9yrkQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0133</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_YD91rwU1YEqq9SKaMxiVOg"
      decimals="4"
      id="Narr_qeuPTZb7D062_56INDHPBw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_YD91rwU1YEqq9SKaMxiVOg"
      decimals="4"
      id="Narr_iB00eWn8RkuaKK3JMQXFHg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_YD91rwU1YEqq9SKaMxiVOg"
      decimals="4"
      id="Narr_O-J7gsbOSU-_XIv4OcaggA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0257</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ntafGUPF5kq4fQZeHZR9Wg"
      decimals="4"
      id="Narr_gPzPEha6LU6ntYDTyrY8Cw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0439</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gfLuiJznQky21NGFTqFCGQ"
      decimals="4"
      id="Narr_V1N3-Hb5_UK7xg6UN3TR_w"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gfLuiJznQky21NGFTqFCGQ"
      decimals="4"
      id="Narr_1HbN5VovSkS2nDFoGcN5uw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gfLuiJznQky21NGFTqFCGQ"
      decimals="4"
      id="Narr_LaOsl30fI0S4QDipwpC_UA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gfLuiJznQky21NGFTqFCGQ"
      decimals="4"
      id="Narr_d9_G7s8DuEu_gVXRntDZbw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:PeriodOfSunsetReviews
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_UZMRejQrk0uYZLlw1I1EOA"
      id="Narr_4iygSTjPeUWgnbleFA4AtA">P5Y</csiq:PeriodOfSunsetReviews>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_hepxXPQsvUuHs7tseLQJPw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company&#x2019;s chief operating decision maker (&#x201c;CODM&#x201d;) for making decisions, allocating resources and assessing performance. The Company&#x2019;s CODM has been identified as the Chief Executive Officer of the Company, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance of the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;From 2016 through the third quarter of 2020, the Company had been operating in two principal businesses: MSS and Energy. The MSS business comprised primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provided engineering, procurement and construction (EPC) services. The Energy business comprised primarily the development and sale of solar projects, operating solar power projects, the sale of electricity and operating and maintenance (O&amp;amp;M) services. The module sales from the Company&#x2019;s MSS business to its Energy business were on terms and conditions similar to sales to third parties. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In July 2020, the Company reached a strategic decision to pursue a listing of its subsidiary, CSI Solar Co., Ltd., in China. From November 2021, the Company completed the transfer of the China solar power system and project assets from CSI Solar to the Global Energy segment to avoid any potential competition between the Company and its CSI Solar subsidiary, as part of the CSI Solar carve-out listing process. To align with the objective of ASC 280, Segment Reporting (&#x201c;Topic 280&#x201d;) and present the Company&#x2019;s disaggregated financial information consistent with the management approach, the Company reports its financial performance, including revenue, gross profit and income from operations, based on the following two reportable segments:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;, which includes all of the Company&#x2019;s global project development activities for both solar and battery storage project development. The Global Energy segment develops both stand-alone solar and stand-alone battery storage projects, as well as hybrid solar plus storage projects. Its monetization strategies vary between develop-to-sell, build-to-sell, and build-to-own, depending on business strategies and market conditions, with the goal of maximizing returns, accelerating cash turn, and minimizing capital risk.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;, which consists of solar module manufacturing and total system solutions, including inverters, solar system kits and EPC (engineering, procurement and construction) services. The CSI Solar segment also includes the Company&#x2019;s battery storage integration business, delivering bankable, end-to-end, turnkey battery storage solutions for utility scale, commercial and industrial, and residential applications. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;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 distinction of the two battery storage businesses is that the former, Global Energy, is in the project development business, including sourcing land, interconnection, structuring power purchase agreements and other permits and requirements for battery storage projects, whereas the latter, CSI Solar, is in the system integration business, delivering turnkey battery storage technology solutions.&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 module and EPC sales from the Company&#x2019;s CSI Solar business to its Global Energy business are on terms and conditions similar to sales to third parties. Comparative period financial information for 2019 by reportable segment has been recast to conform to current presentation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company continually monitors and reviews its segment reporting structure in accordance with Topic 280 to determine whether any changes have occurred that would impact its reportable segments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company&#x2019;s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 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, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,105,044&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 726,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (354,716)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,496,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 577,052&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (286,624)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,786,581&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 608,891&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 149,115&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (68,092)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 689,914&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income from operations &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 253,105&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,414&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (86,089)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 220,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times 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, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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; 2,591,154&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; 718,735&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; (109,306)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&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; 1,977,502&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 604,856&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; (100,272)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,482,086&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; 613,652&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; 113,879&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; (9,034)&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; 718,497&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; 267,642&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 18,795&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; (27,558)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 258,879&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes inter-segment elimination, and unallocated corporate costs not considered part of management&#x2019;s evaluation of reportable segment operating performance.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Income from operations reflects management&#x2019;s allocation and estimate as some services are shared by the Company&#x2019;s &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;two&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; reportable segments.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s net revenues generated from different geographic locations. The information presented below is based on the location of customers&#x2019; headquarters:&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;margin:0pt;"&gt;&lt;span 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;"&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; 852,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; 696,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,590,573&lt;/p&gt;&lt;/td&gt;&lt;/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; 395,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 284,478&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,446&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,846&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 139,611&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;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,330&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 100,284&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,792&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 29,731&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 21,396&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 76,015&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;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,402,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;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,221,105&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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;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; 2,279,594&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;margin:0pt;"&gt;&lt;span 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;margin:0pt;"&gt;&lt;span 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;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; 317,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 504,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;/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; 372,687&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 560,701&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/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; 70,893&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 61,141&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 12,753&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,108&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/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;Cyprus&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,175&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 13,265&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 51,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 10,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;&#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; 15,417&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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;/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; 39,268&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,621&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,311&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,981&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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,168&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;Korea&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 72,552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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,896&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 3,413&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 76,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%;border-bottom:1px solid #000000;margin:0pt;padding: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,054&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 91,670&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;&lt;span style="visibility:hidden;"&gt;&#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,018,083&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,620,840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,139,070&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;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;&#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; 109,119&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 119,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;&#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; 231,995&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 313,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 120,403&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,770&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 96,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,715&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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,228&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 138,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,658&lt;/p&gt;&lt;/td&gt;&lt;/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;South Africa&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,911&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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="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; 17,717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin: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; 16,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 34,604&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; 13,516&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,974&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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 Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 33,158&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 8,842&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 7,749&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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,873&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 55,433&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 96,271&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;&lt;span 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;780,459&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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;634,550&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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;858,505&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;Total 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;border-bottom:3px double #000000;margin:0pt;padding: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,200,583&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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;3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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;5,277,169&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets at December 31, 2020 and 2021 by geographic region, based on the physical location of the&#160;assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,002,409&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,230,613&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 295,240&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 266,870&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,515&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,680&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Argentina&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,208&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,508&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,388&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,331&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,009&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,700&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,716&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,330&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,050&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 46,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,905&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total long-lived assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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,790,538&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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,033,397&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s revenues generated from each product or&#160;service:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&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;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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: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.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: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.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align: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:middle;width:58.63%;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;Solar modules&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,012,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,348,724&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,328,301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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; 116,449&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 157,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 302,133&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Battery 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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,899&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 222,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;China energy/EPC (includes electricity sales)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 58,096&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; 175,388&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,830&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Others &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 295,244&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; 60,661&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,167&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Global Energy:&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;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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="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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar and battery storage projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 652,050&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; 654,827&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.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; 1,064,178&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;O&amp;amp;M and asset management services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 19,750&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; 26,386&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,334&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Others (includes electricity sales)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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:1px solid #000000;margin:0pt;padding: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,935&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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,954&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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%;border-bottom:1px solid #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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,200,583&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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;border-bottom:3px double #000000;margin:0pt;padding: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;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="INF"
      id="Narr_D_bcQfbrE0Od12dQN3IkpA"
      unitRef="Unit_Standard_segment_NAiIxuXylEqsd465xrxefg">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_dbtMNx_mnUO4b5jNBBliwQ">&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, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,105,044&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 726,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (354,716)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,496,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 577,052&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (286,624)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,786,581&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 608,891&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 149,115&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (68,092)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 689,914&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income from operations &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 253,105&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,414&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (86,089)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 220,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times 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, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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; 2,591,154&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; 718,735&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; (109,306)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&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; 1,977,502&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 604,856&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; (100,272)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,482,086&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; 613,652&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; 113,879&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; (9,034)&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; 718,497&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; 267,642&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 18,795&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; (27,558)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;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; 258,879&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes inter-segment elimination, and unallocated corporate costs not considered part of management&#x2019;s evaluation of reportable segment operating performance.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Income from operations reflects management&#x2019;s allocation and estimate as some services are shared by the Company&#x2019;s &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;two&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; reportable segments.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_y7rdLKDMzUWWV9BCmLWXnA"
      decimals="-3"
      id="Tc_BTa6On38pU-1hmmZmCAdNQ_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4371603000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw"
      decimals="-3"
      id="Tc_0skBNKOc1kuNQNJ1a1DN6A_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1124083000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_B0s766eFTkO3q-LoZL14Rw"
      decimals="-3"
      id="Tc_Q2NTRv_a-E2e_PKSeK8AfQ_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-218517000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_Bs4T2EnLh0eEoheP_KJRNw_7_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">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_y7rdLKDMzUWWV9BCmLWXnA"
      decimals="-3"
      id="Tc_7Gkk5jeaf0-6hsT-fr9kBg_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3689126000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw"
      decimals="-3"
      id="Tc_Bca5LhyxEkaykWZd1q870w_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">930099000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_B0s766eFTkO3q-LoZL14Rw"
      decimals="-3"
      id="Tc_FpuHdv4FL0exbf654l9caw_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-251368000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_36YjgW1FH0KukK3qeGLHKA_8_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">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_y7rdLKDMzUWWV9BCmLWXnA"
      decimals="-3"
      id="Tc_DkpHlXli8kC9iYzslk32ww_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">682477000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw"
      decimals="-3"
      id="Tc_eEldwMTlt0CMa5sny8KBuw_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">193984000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_B0s766eFTkO3q-LoZL14Rw"
      decimals="-3"
      id="Tc_X6Ig1NfP_kGNmLOX9u5WIQ_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">32851000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_uC0s0icKGEyYINAgGgvSbQ_9_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">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_y7rdLKDMzUWWV9BCmLWXnA"
      decimals="-3"
      id="Tc_ogRvwb5UY06dXhcnZY2_Mw_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">74132000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_WLULDuyhWECJj_VSEirCsw"
      decimals="-3"
      id="Tc_yB3KZbltPUCnNdPit_mxDg_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">97179000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_B0s766eFTkO3q-LoZL14Rw"
      decimals="-3"
      id="Tc_EFYjNupoz0CfMzWmtk1pSg_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19070000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_HQjrDJN2dEuR8OEFCAhcuw_10_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">190381000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow"
      decimals="-3"
      id="Tc_l1L8xhEdF0O5Jf7gjAHyhQ_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3105044000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw"
      decimals="-3"
      id="Tc_3UcbDq1_OU6gLDMUnLtmbw_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">726167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q"
      decimals="-3"
      id="Tc_TeLpZbmQ_EG7RwB0bSTYsA_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-354716000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_rs78eoNxl06vI4czWZG78Q_7_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow"
      decimals="-3"
      id="Tc_JejpOudi3U6cdgeSHmfpfA_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2496153000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw"
      decimals="-3"
      id="Tc_rbrbrwxbsU-5jMxeioZEow_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">577052000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q"
      decimals="-3"
      id="Tc_c0oX7att8kiRYgkAlC3axg_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-286624000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_fLT0mxyJ-0y5QtsiYjGI9A_8_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2786581000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow"
      decimals="-3"
      id="Tc_KbsKBlUBGUqL5O-yfSlmuA_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">608891000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw"
      decimals="-3"
      id="Tc_DMGrqwbotUG7-0_szrIDtQ_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">149115000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q"
      decimals="-3"
      id="Tc_XqnnKXqRIkO8xu5ztZXtAA_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-68092000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_4kJiMBMNxUS_qJe8vMpZlA_9_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">689914000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-gdCC85vCkebgqktl87wow"
      decimals="-3"
      id="Tc_-ToF6qYnH0u1L8TJxn3wig_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">253105000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_4St-2B-dqUqqhXWE3SnmTw"
      decimals="-3"
      id="Tc_b8nOyFgg8Uu9chKZmFVddQ_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">53414000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_l6NcuGuOYE2K-dtbGvQ_7Q"
      decimals="-3"
      id="Tc_tJEypzA3L0KC8Q-Ana0Tuw_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-86089000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_KdA6VFmPh0GrcB0E3YttIg_10_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">220430000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A"
      decimals="-3"
      id="Tc_oDaURIrelUOyEoRnqvRYCA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2591154000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A"
      decimals="-3"
      id="Tc_7CEkwFAFqUGksJqxBRaHcg_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">718735000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA"
      decimals="-3"
      id="Tc_jqeH8HpsekWhg8Wb1Oa7uw_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-109306000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_CQsigcAjtUqx0V_Qw36gqw_7_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A"
      decimals="-3"
      id="Tc_T1HJg5PArEymWz23z7gHuQ_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1977502000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A"
      decimals="-3"
      id="Tc_UW0pWROgl0C3HpkWRNYZyA_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">604856000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA"
      decimals="-3"
      id="Tc_ZsMb7aDSR0WlP27yA91ZfA_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-100272000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_rSD1MhUVvUSNrEDzjIj84w_8_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2482086000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A"
      decimals="-3"
      id="Tc_VWx8FUTu9EiG8B8oA6OSMg_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">613652000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A"
      decimals="-3"
      id="Tc_HYboGKewckq0PDB_3iVREA_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">113879000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA"
      decimals="-3"
      id="Tc_S4rb-Ix5wUqvEdImXPerFA_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-9034000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_07FzOXjz-k6b32B4L8sPXg_9_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">718497000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_rFfoaCDdd0mk_NbOg_hG-A"
      decimals="-3"
      id="Tc_U0br0bHLLkCukuIh55XDSQ_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">267642000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_hdCwpXgDnkSPLt_9RgXt0A"
      decimals="-3"
      id="Tc_GpJeC613r0S6aArSgNv11w_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">18795000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_BXrh1GlQZ0eq4rhsoUvCKA"
      decimals="-3"
      id="Tc_-cUTwU1oZUGgcfTPbPyOQg_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-27558000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_ui2_9sl-2k-R1YhCJmjpjw_10_8"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">258879000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="INF"
      id="Narr_Ph45rGJTCEiHfDJB-NXueA"
      unitRef="Unit_Standard_segment_NAiIxuXylEqsd465xrxefg">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_-R7B_EPXY0aJ_cq8EeQkww">&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;margin:0pt;"&gt;&lt;span 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;"&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; 852,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; 696,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,590,573&lt;/p&gt;&lt;/td&gt;&lt;/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; 395,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 284,478&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,446&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,846&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 139,611&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;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,330&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 100,284&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,792&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 29,731&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 21,396&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 76,015&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;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,402,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;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,221,105&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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;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; 2,279,594&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;margin:0pt;"&gt;&lt;span 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;margin:0pt;"&gt;&lt;span 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;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; 317,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 504,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;/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; 372,687&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 560,701&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/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; 70,893&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 61,141&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 12,753&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,108&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/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;Cyprus&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,175&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 13,265&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 51,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 10,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;&#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; 15,417&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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;/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; 39,268&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,621&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,311&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,981&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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,168&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;Korea&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 72,552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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,896&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 3,413&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 76,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%;border-bottom:1px solid #000000;margin:0pt;padding: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,054&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 91,670&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;&lt;span style="visibility:hidden;"&gt;&#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,018,083&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,620,840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,139,070&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;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;&#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; 109,119&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 119,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;&#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; 231,995&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 313,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 120,403&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,770&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 96,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,715&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding: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,228&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 138,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,658&lt;/p&gt;&lt;/td&gt;&lt;/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;South Africa&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,911&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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="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; 17,717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin: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; 16,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 34,604&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; 13,516&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,974&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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 Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 33,158&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 8,842&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 7,749&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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,873&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 55,433&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 96,271&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;&lt;span 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;780,459&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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;634,550&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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;858,505&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;Total 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;border-bottom:3px double #000000;margin:0pt;padding: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,200,583&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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;3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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;5,277,169&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_US_kcl7GL-cgk2NoUoQfKKeMA"
      decimals="-3"
      id="Tc_aZqCwcFKF0ym8Ob6BuWNzA_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">852231000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_US_obwjyyWI20m-ie9jxNJOkA"
      decimals="-3"
      id="Tc_9_e0nT8nYEiD9cu8rm0GvA_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">696101000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_ounkEYS5MU-j742yyGpkuA"
      decimals="-3"
      id="Tc_sWFFT-mt0kKCf9bWvjpILA_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1590573000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_BR_sMYgLjlD006TduaR85q2CA"
      decimals="-3"
      id="Tc_pqV9GhDe6ECAe3f4oE_kYw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">395303000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_BR_h_YsQ2mGYES4oD0Suw8umw"
      decimals="-3"
      id="Tc_4Wy952s-9kS3_CZID_kUag_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">284478000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BR_2Z7XNnRkpk-oZuobLNfAEQ"
      decimals="-3"
      id="Tc_HUDWb28Z3EOtkjkYeqUrNA_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">442603000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_MX_n3yUK3QNj02spee39W3QXQ"
      decimals="-3"
      id="Tc_2IRUrVi3OEO_i1qaKHJx9w_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">94446000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_MX_sjYVxLgwYE2-2wivQ9bj0w"
      decimals="-3"
      id="Tc_Uq53NLAy_kqcSOxMWXGd4g_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">118846000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_MX_yjxkrx7Zv0-cUEwil_4d-A"
      decimals="-3"
      id="Tc_66wPSd5up0mSvuA8usnY_w_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">139611000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CA_P1p8fPWAJk-9GI8rGq6a1A"
      decimals="-3"
      id="Tc_CQY949wpg0GvZ4xvVvUlqQ_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30330000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CA_Y_7sZhfQJE-zek2UtAat5Q"
      decimals="-3"
      id="Tc_i6euhDfg10uVdjhhv6Pkaw_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">100284000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CA_ifyXKIojZk-rAYAT5VeIeA"
      decimals="-3"
      id="Tc_gCj8iGAZSkukCPL4Q-WKTw_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30792000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_2WEn1xKGe02Y4WoJOtttzA"
      decimals="-3"
      id="Tc_HPbU53vVd0ugq9O4UAyVPQ_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">29731000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_avmO5iJrnk2dvNofLnJbpQ"
      decimals="-3"
      id="Tc_0yyIjRzHYEKk43Dkh1H63A_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21396000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_FOkgPZSJ-U26y7EBr3D8LQ"
      decimals="-3"
      id="Tc_-A5QXoVGy0WTcms99vsOdw_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">76015000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_AmericaMember_K9aecb82RESpJ1KDUEQ_LA"
      decimals="-3"
      id="Tc_SutHhqr1E0eyLx151WAX6g_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1402041000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_AmericaMember_vkFvMoPbokmS4E6dQiAcqg"
      decimals="-3"
      id="Tc_Yps3vKIhd06Un_29oUwyHg_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1221105000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_AmericaMember_-8Ixlb30SkyGFX14q0srWg"
      decimals="-3"
      id="Tc_WdpwJnI7ikKkVzE8TMygsw_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2279594000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CN_ffSQq4msWUq2YE6vSSHe9w"
      decimals="-3"
      id="Tc_Iz1HHH0utUSVZzqJZ3V_8w_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">317077000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CN__yjfL-zxs0i3ZF-G-U4yyQ"
      decimals="-3"
      id="Tc_X0Fqg7NaTUKsVITb6AvJhQ_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">504656000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CN_yvOhb2HZTEKp7gYLoITaGw"
      decimals="-3"
      id="Tc_53--HYiA_EStsxtIZ1eEXA_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1207003000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_JP_syVhu28sdkm6570zavXdLQ"
      decimals="-3"
      id="Tc_HAx6ZYga0UyYVAJEX1FvFA_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">372687000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_JP_J0i7mi7680-SNEt-SRVzLA"
      decimals="-3"
      id="Tc_smdIQPvu3kCC8w7IpDPo_g_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">560701000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_JP_dz7Hu8fc6kmv86IP5IcaQg"
      decimals="-3"
      id="Tc_IJevFt7Q9kGQ6L6T7uuENQ_13_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">509233000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_IN_025A0qQJt0WZlHdFHIncUQ"
      decimals="-3"
      id="Tc_q53a3V7SpEOY14lkRgycVQ_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">70893000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_IN_8HBUNAu91kGHNpD9skQ--g"
      decimals="-3"
      id="Tc_MTHBrIQDNkaLTzEiDBfXSA_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">61141000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_6blmn5-u_EWa4J8JZ8zjpw"
      decimals="-3"
      id="Tc_jGS8Du4JB0WGkLW3n8YzPg_14_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">142300000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_TH_CevHWHCX6EWhibZThSlL1Q"
      decimals="-3"
      id="Tc_XqDYpYHvJEe1Th7luiaUSQ_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12753000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TH_o7iSOZFaaUyOuPR6-MXDqQ"
      decimals="-3"
      id="Tc_FauMZhr5D0Gj-QGn0ViYqQ_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6108000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TH_3-PjaagcgEipiqXmhN535g"
      decimals="-3"
      id="Tc_CuwU3tKLY0Kw3C_gS93n4Q_15_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">59451000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CY_WQyr5kI250WUzcsEew8xpw"
      decimals="-3"
      id="Tc_ABmTZectLEOMH7VWQIZSEw_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2175000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CY_QHWoCddDXEmY5qy5US4srw"
      decimals="-3"
      id="Tc_B1HMbb-EBkivdKGuOp--Vg_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13265000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CY_NRBrDEC_rU-g6JcBM8tWFQ"
      decimals="-3"
      id="Tc_jiNVIhIFpECxwmJjjL-wcw_16_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">51038000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_PK_p5H5rYm01EK96gO4jbcOMg"
      decimals="-3"
      id="Tc_U8kXWexZQUeaOJC-9lBj3w_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10581000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_PK_kg1qWE1xR06nh35rvWMTzQ"
      decimals="-3"
      id="Tc_tFpMqhxKmEGD9loSZstnUw_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15417000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PK_3lQh_Gvy70eKmIJIkSFoLA"
      decimals="-3"
      id="Tc_l2tsNDAkxki13mIOkGW47w_17_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">48838000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_VN_lH6vEXweRk-VY70kZNSO2w"
      decimals="-3"
      id="Tc_cJ2_1JUwWUCBjxYzca6OAA_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">39268000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_VN_O9q9uO35JkWPi7CeIN9qog"
      decimals="-3"
      id="Tc_7-1VizLZKEa6YoaEQ5L-Vw_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">289621000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VN_qLEhN3JSmUi-_L5amFdAwg"
      decimals="-3"
      id="Tc_VQkLrF1rn064CPm0HBOU_w_18_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19956000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AE_zmM5XiDgv0O8mDIbrFXu4w"
      decimals="-3"
      id="Tc_n1RdrSy5t0ill5sFFmohQQ_19_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">43311000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AE_FgwyIB6BbU2erbMiYl11cg"
      decimals="-3"
      id="Tc_KnWS4bl1PUCqzvfArjJz2g_19_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">53981000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AE_R271JHSniEiwqf9ulABpjA"
      decimals="-3"
      id="Tc_Yxw5mpzmU0qUzojumSi9Dw_19_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">6168000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_KR_XdyHYRK8tkCBv8v7TiN5XQ"
      decimals="-3"
      id="Tc_HhC3DB_XMUO5wFYLRXaWMw_20_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">72552000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_KR_s-mY1aHxq0y_jPzkER6Kuw"
      decimals="-3"
      id="Tc__9j7pKiBrUyNZj1O2258tg_20_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25896000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_KR_lJrYExlW_UWZlFccwHZBXg"
      decimals="-3"
      id="Tc_IEY0f5f_Kk2SDLfSCURFjA_20_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3413000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_E5KDnSPpy0m8jrwPjS5Ogw"
      decimals="-3"
      id="Tc_RiHcfxT74UWWkagBga_fhQ_21_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">76786000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_pDi1VqZjH0OqNDZGnPPvNg"
      decimals="-3"
      id="Tc_4YkPrPC-JEKqEm5ELWjAvA_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">90054000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_UwvZkTWoZECweW-yP0UtLw"
      decimals="-3"
      id="Tc_S30UEEfrPU-E2qpJ54Oj6Q_21_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">91670000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_AsiaMember_p9DYRhnbUUaEcN2QRprCBQ"
      decimals="-3"
      id="Tc_N3PhnQOWik2cNcMdyFYOEQ_22_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1018083000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_AsiaMember_COpLvZuVL0Kegh20hCJIFA"
      decimals="-3"
      id="Tc_cxTdgAATTEibGGGBIFNe7A_22_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1620840000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_AsiaMember_8FGrK9tKT0KIijm-8CXkEA"
      decimals="-3"
      id="Tc_BZSBWxaGxkyZBb7uN79YdA_22_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2139070000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_DE_69IbvdmTfUyIcQdPjmPXZA"
      decimals="-3"
      id="Tc_cpySZBbp9EehPqJadxSFVg_24_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">109119000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_DE_LtHima8Y8EWu7VERlRaNcw"
      decimals="-3"
      id="Tc_Fj7WRKj-EEu8E66mjuAc6A_24_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">119035000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_DE_F7GFkec1O0qY4xEV01WwGQ"
      decimals="-3"
      id="Tc_GJPbnRT6VkWZf8I5KSMXjw_24_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">231995000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AU_7SAuLRbnHUi5qiB1_pgcoQ"
      decimals="-3"
      id="Tc_qIxT6TvPA0mazwmQg-_Brw_25_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">313167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AU_t8fS0Ch970qncTfbcB7Q5g"
      decimals="-3"
      id="Tc__1lzYB9heE6QiZSy38PhtQ_25_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">120403000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AU_zVOIiX1A_k-Fq-7wnYraqQ"
      decimals="-3"
      id="Tc_8won6FSvqUivhls0GvXthw_25_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">165772000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_NL_wokvyHKHNk2-cFPOz8DzuA"
      decimals="-3"
      id="Tc_peQoRabkwkmHVxDwP6gDpg_26_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">68770000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_NL_4V6S4bw-Vk6BG7Q5qci5Kw"
      decimals="-3"
      id="Tc_d2otxtOp1kCJfLO43HjpQw_26_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">96372000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_CfFX0--CQEyO6REezT5ERw"
      decimals="-3"
      id="Tc__Zm2_UHKQEq4OSCuKcNGqg_26_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">104715000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ES_FT6PFbwExUSXEwZgaYGlFg"
      decimals="-3"
      id="Tc_Q4JOnFrb0kKuCAn799zLgA_27_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">78228000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ES_z15IRQI69kaBW8OT4y7IyQ"
      decimals="-3"
      id="Tc_hWcbUxbD2EuNEp52mzkU5Q_27_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">138972000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ES_iabk5z2X4UGye1o22t_JBA"
      decimals="-3"
      id="Tc_N_DYQ9zCY0yIdlMks5UKqQ_27_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">100658000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ZA_MyaPGY3R1UWQc9LoIN5Ypg"
      decimals="-3"
      id="Tc_7YnQmoP-OESlwCNIMYjnjA_28_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">93911000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ZA_-YgFz3p-sUOgbhrjldy9RA"
      decimals="-3"
      id="Tc_-ueQEhWfI0mD9BUYJ1iH2Q_28_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">49375000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ZA_FRHfS_PpL02knINtBrjUcw"
      decimals="-3"
      id="Tc_ypQkJ0o4SU-C3X6RC_nruw_28_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">90761000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CZ_W-4sW9wC7ECstQma09LzlA"
      decimals="-3"
      id="Tc_-UaM4ol0rkSxnBwQ5fOf4w_29_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">17717000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CZ_9DEo53GbQkCubC064jn0Jw"
      decimals="-3"
      id="Tc_23ectPCEfUK9lof_dPoZng_29_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">16144000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CZ_0WNWq8-3dUSuOgpslu_t1w"
      decimals="-3"
      id="Tc_nIIUBBoEqkadWBUMVnUbzQ_29_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">34604000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_FR__MKZbggBPEi9tNH5b3Mszw"
      decimals="-3"
      id="Tc_Sc6t45dkaUOnc0aYQVdGtQ_30_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13516000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_FR_J2YUr7mV5UaY1hWBc1dZUw"
      decimals="-3"
      id="Tc_qj0paduN5k-aZTBgXeWdBw_30_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">29974000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_FR_MaBvpEpqNU6cH6uKxO-wNQ"
      decimals="-3"
      id="Tc_1Rfh91vav0WKHefdxsM_Ew_30_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25980000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_GB_DDsRIq6HtkGXzLTGSuG1yQ"
      decimals="-3"
      id="Tc_IWfnRoI0o0OmFW2SmYYckw_31_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">33158000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_GB__0X9Jn6aXEqUUUsUnpyWlA"
      decimals="-3"
      id="Tc_jGVZBOg220yaBH9nrfP8uw_31_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8842000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_GB_xn8PghuykUKW5xlIFyVIUQ"
      decimals="-3"
      id="Tc_E9aBlOuh2EasvnWJBZfx3Q_31_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7749000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_LfEFSvPEY0SbGruHIe6UCA"
      decimals="-3"
      id="Tc_tu7BBGCt1UGZM241x8QF8A_32_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">52873000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_E_I5ixiw50uOs3QnD1PkMA"
      decimals="-3"
      id="Tc_O4IM9dBuXEOiuGDLQOCJWQ_32_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">55433000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_7F96sK53PkSFbnk-mC_6lg"
      decimals="-3"
      id="Tc_1btxZEvnE02Ro-XX4eJh8Q_32_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">96271000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_SnqdvI77aUio2uP6sv4lfw"
      decimals="-3"
      id="Tc_WHc2DlHIi0SZHqELTNMJ3g_33_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">780459000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_EuropeMember_d14FNsQhBEqSJ-ccwDkKUA"
      decimals="-3"
      id="Tc_JZCxX4vZFku1m9bZ5BqtJQ_33_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">634550000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_ltgvwZgl6kqVBxR9oYKwwg"
      decimals="-3"
      id="Tc_IzkyKZseGkegVUcGqKBaSg_33_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">858505000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_k8ZVkO8UiEqhdkIZ2wprkA_34_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_vyCBKTqyKkmYWOH0irh9pQ_34_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_0vVsKfwojk-FaLLTCgfHYg_34_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_H__3T2MVSUK_OUJXeozOEA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,002,409&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,230,613&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 295,240&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 266,870&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,515&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,680&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Argentina&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,208&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,508&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,388&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,331&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,009&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,700&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,716&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,330&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,050&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 46,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,905&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total long-lived assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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,790,538&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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,033,397&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_CN_xD--h0hBtEWjZeXt1dVZaA"
      decimals="-3"
      id="Tc_1eoIv4ZHGEqTnTr3wgXp5w_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1002409000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CN_Vv9ECZXhBUqVSqaiYdNv7A"
      decimals="-3"
      id="Tc_Gjx-pFFrskCwN9MFTnClJQ_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1230613000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_TH_C5t0OHERH06MxOiv9qX_Bw"
      decimals="-3"
      id="Tc_x0rCfz4YukeKbAZH2K8TFQ_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">295240000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_TH_pL_mtBZ17kObDk71r0912Q"
      decimals="-3"
      id="Tc_s5H-peZjN0iK4tdzt0LaCA_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">266870000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_JP_LVfByFK54UuYea7EzoYHpw"
      decimals="-3"
      id="Tc_0-8fezCiJU-qBRprGIFtQA_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">204515000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_JP_5TgPNpsLWEqwtV7kFtrNNQ"
      decimals="-3"
      id="Tc_oalBPtuOBUKdSoCpqF_3ig_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">191680000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_AR_IBPjEDW7yk-ehceVg8LGYg"
      decimals="-3"
      id="Tc_z-twF9TX10qpms-sFW-ILA_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">64208000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AR_mOizzBcYDUeY7_Sw4QH0mA"
      decimals="-3"
      id="Tc_OINNx3cpP0ejkFX8opjJ0w_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">68508000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_MX_FNReTwoNKkWtT6lsA2Ct2g"
      decimals="-3"
      id="Tc_UrWziW6DzUiaNkjlIenukQ_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12388000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_MX_-B0524S91U2e_xI_KptfDA"
      decimals="-3"
      id="Tc_MgteV5ckEUiNVf38csRc4g_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">68331000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_US_DFdlzqFh9k2WxcLG2vckyw"
      decimals="-3"
      id="Tc_3cdneKSXSUSg19Y0bhSYjw_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">64009000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_vYuCIls3x06juvq0UpbAgQ"
      decimals="-3"
      id="Tc_HYJjJ23q0ESKtdZG0aMHkw_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">65700000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_BR_ncq-bwAny0C3movTaO2GWA"
      decimals="-3"
      id="Tc_RcaepKxVqkOHhdoXN3lhlQ_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">16109000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BR_xqu7C1q3nUGlt1e8bzYhQg"
      decimals="-3"
      id="Tc_IacbU_koCUOmQsDYFfGIjw_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">63716000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_AU_Pv54haYrZEOOOcGrymBAtg"
      decimals="-3"
      id="Tc_pqcZGT3sf0C1QiR7oj0sKw_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">76330000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AU_sq20Djqv0UK02ctkHcDcpQ"
      decimals="-3"
      id="Tc_V7OR7zrsnkqLZ9GStY_m5g_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">15024000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_country_CA_fsiivO6aTUyasL-XrVoDeg"
      decimals="-3"
      id="Tc_ASlIP_Yl00yDOOyPUoi3Pw_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8898000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CA_16gKn3wFiUGP98TbNxlINw"
      decimals="-3"
      id="Tc_1aUUz2aMrkWLi8E3M4zf0Q_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7050000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_hPStx7B-oUqpOt-829sB_A"
      decimals="-3"
      id="Tc_rPWKzggVvEO09EpM-nnORA_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">46432000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_choycYnP-k-7cxsVxR1z0A"
      decimals="-3"
      id="Tc_v1WlCwj_T0-Rad7DxSQR-g_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">55905000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w"
      decimals="-3"
      id="Tc_UkroAXYWYU-mViUW_KdW6A_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1790538000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Tc_Y1bMFKZcMkO98LhydsztNg_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2033397000</us-gaap:NoncurrentAssets>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_FfP2e2FS6kCDNeoDNBezUA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&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;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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: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.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: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.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align: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:middle;width:58.63%;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;Solar modules&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,012,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,348,724&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,328,301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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; 116,449&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 157,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 302,133&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Battery 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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,899&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 222,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;China energy/EPC (includes electricity sales)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 58,096&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; 175,388&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,830&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Others &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 295,244&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; 60,661&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,167&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Global Energy:&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;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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="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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar and battery storage projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 652,050&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; 654,827&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.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; 1,064,178&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;O&amp;amp;M and asset management services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="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; 19,750&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; 26,386&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,334&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Others (includes electricity sales)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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:1px solid #000000;margin:0pt;padding: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,935&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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,954&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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%;border-bottom:1px solid #000000;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding: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,200,583&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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;border-bottom:3px double #000000;margin:0pt;padding: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;/table&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__buqhCfzBEq4nwC7ZlybqA"
      decimals="-3"
      id="Tc_UigNy-zEskuLLDt8XEBpsQ_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2012059000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Pxi5U7zL2EiSTRr96OyEBQ"
      decimals="-3"
      id="Tc_qCAQqoG1dEi2yMAlckPTZg_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2348724000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_goAn8WflEEmaIplAfD1fBg"
      decimals="-3"
      id="Tc_V-zLjf9kTUqjGJv0L1JAmg_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3328301000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_l52SeNDL4kCfpGSsK_MIBA"
      decimals="-3"
      id="Tc_A9SoQHWPjUaqWPF0JdXSXg_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">116449000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_RpK33S0yw0ejhXDpUMlgZg"
      decimals="-3"
      id="Tc_2HL_l5EQBkax4kQRjhsjFA_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">157656000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__dxh-hXug0Kv6Mf7i-oDSQ"
      decimals="-3"
      id="Tc_PNF26abhXk6sBpYz23jtFQ_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">302133000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_frMQ_n69CEOUNNQmgaVHVg"
      decimals="-3"
      id="Tc_r8gMons3UkmBvOoCEJireQ_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7899000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__fOxEYDmE0Wyb8c_RaSG7A"
      decimals="-3"
      id="Tc_RHBoOeVj40OAzrtCXERHKQ_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">222655000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_3kavcihnPEOS9MW1xFNXKQ"
      decimals="-3"
      id="Tc_M5JdRFv-DEWfFGnH4zhTIg_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">58096000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_J0UO1kdQEkCk_W85pXZqwg"
      decimals="-3"
      id="Tc_VNvkuwrMvkm4eH9Ki2DrDA_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">175388000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kcEA_3b1nEe83mUCC3S1ew"
      decimals="-3"
      id="Tc_VX2Xrz9cmEyfSaUj0P4oLQ_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">178830000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_1LVd4QPHDkOCmCY6PJ4XfA"
      decimals="-3"
      id="Tc_RZj6i4284USqFxOeiAJkBg_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">295244000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_QQPCBlw0VEKw7OBsPVZddw"
      decimals="-3"
      id="Tc_JZIIB4IrMEKSKaaHME6Www_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">60661000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_peQqG8-OlE-ZWdJ0e8ZpQA"
      decimals="-3"
      id="Tc_polveD9i-UqTVtjBhH-FZg_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">121167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_gltzHARFf0-8RAQrVXEAiw"
      decimals="-3"
      id="Tc_tRd86OJ_s027vWipObtXEw_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">652050000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_79M2RwvBWUGMmil6ZOAwcQ"
      decimals="-3"
      id="Tc_v0bHvfkAVUOirx75ZqzzGw_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">654827000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_xZtmy427aUKvoNbTgF7TWw"
      decimals="-3"
      id="Tc_24sXCF4d20ebmx5Fr8dMig_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1064178000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_OCFHpCZGQkOzU-OhL62V3w"
      decimals="-3"
      id="Tc_OSsh2O1PqUC2BclvTt9RbA_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19750000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_rrU8t1CnrUiy5c47fTJ_xg"
      decimals="-3"
      id="Tc_ZCRUAWQR7kS2Nk4lg0MQSQ_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">26386000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_d2DSZWhyakma-X6rZNGLwg"
      decimals="-3"
      id="Tc_MEQ0hBG1hECb1bYzlvEl9w_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35334000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_N2KxbgY51ECHEiBfa7X29A"
      decimals="-3"
      id="Tc_XWjhEvLNXEaU_c0OvTotfQ_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">46935000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_e-ac77NIhUe2vSgPG9LegQ"
      decimals="-3"
      id="Tc_hFKDcFo9PUGDTMiXEaW8ww_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">44954000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_zAX-wpHoOkm_5LC1t9loKg"
      decimals="-3"
      id="Tc_9cqaek0JCEmqWLmj2HT84A_13_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24571000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Tc_zbnuidZLo0-mOzQueWT82Q_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Tc_EL7c-V5C8EmrULeAu2sluA_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Tc_IF4JmvyLe0uocnoMoN961Q_14_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <csiq:MajorCustomersDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_OmAa4B9JrUCm2y1QjsMNmw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;23.&#160;MAJOR CUSTOMERS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;No customers accounted for 10% or more of total net revenues for the years ended December 31, 2019, 2020 and 2021.&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 accounts receivable, net from three customers with the largest receivable balances represents 7%, 4% and 4% of the balance of the account at December 31, 2021, and 7%, 3% and 3% of the balance of the account at December 31, 2020, respectively. The balance from the customer with the largest receivable balance is $27,014 and $42,812 as of December 31, 2020 and 2021, respectively.&lt;/p&gt;</csiq:MajorCustomersDisclosureTextBlock>
    <csiq:NumberOfCustomers
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="INF"
      id="Narr_NXgKOH1eWk248GGyTwmn4A"
      unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw">3</csiq:NumberOfCustomers>
    <csiq:NumberOfCustomers
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="INF"
      id="Narr_zju9QWUCdkWgPM0KqmvjJg"
      unitRef="Unit_Standard_item_n5cytYykGEGncxkqn0fxTw">3</csiq:NumberOfCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_disP1NReJE60KKYXewwHrA"
      decimals="2"
      id="Narr_ApNmwvOrzUKgoFITsBPnqg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_i_8gtFGcD0ixbpZCGc_LGg"
      decimals="2"
      id="Narr_gSNUXib_lkizBH6tyYHUwA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.04</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_UYQZdkvKbE6nysGhvjMsZw"
      decimals="2"
      id="Narr_WGOqZY0HWkaILThI_RMqAQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.04</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_96rt145tuku5BCo-ttooCA"
      decimals="2"
      id="Narr_uPZVIPYP_UypwYhDxsTjfA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_96rt145tuku5BCo-ttooCA"
      decimals="2"
      id="Narr_cKNE__NR8UmoUtzb9gNISg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_hGJzyZAl1EyArdM16LuAZg"
      decimals="2"
      id="Narr_BIKc-ZsNLUOVzzmAHfo9ng"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_g27esvantEmJMcwiOmQJlQ"
      decimals="2"
      id="Narr_c4shmPrG4k6Y6sm5cH70zA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AccountsReceivableNet
      contextRef="As_Of_12_31_2020_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ukvolv_-z0-rusmhvRXrBw"
      decimals="-3"
      id="Narr_ZIKVxAbNK0eyL0n19dm0Xw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">27014000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="As_Of_12_31_2021_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_4dMixeIV0k2MxTCQ_xANYA"
      decimals="-3"
      id="Narr_lI0aYEWT6kmLt4BjR_iilg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">42812000</us-gaap:AccountsReceivableNet>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_RbL-7xi9pkmPgcDFIhCqRg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;24.&#160;EMPLOYEE BENEFIT PLANS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;Employees of the Company located in the PRC are covered by the retirement schemes defined by local practice and regulations, which are essentially defined contribution schemes. The calculation of contributions for eligible employees is based on 16% of the applicable payroll cost in 2021. The expense incurred by the Company to these defined contributions schemes was $11,738, $8,064 and $14,362 for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In addition, in 2021, the Company is required by PRC law to contribute approximately 6-8.5%, 8%, 0.5-0.7% and 0.9-2.5% of applicable salaries for medical insurance benefits, housing funds, unemployment and other statutory benefits, respectively. The PRC government is directly responsible for the payment of the benefits to these employees. The amounts contributed for these benefit schemes were $11,409, $11,486 and $13,584 for the years ended December 31, 2019, 2020 and 2021, respectively.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Narr_2qxih0SsVk6vE1uQTpOudg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.16</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_a2PRulzkwUa3wYJXp0tERA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11738000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_QuplxU7MK0eM9GHJl8RuQg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8064000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_2jaOfkS7q06Vw-yflUs1BA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14362000</us-gaap:DefinedContributionPlanCostRecognized>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA"
      decimals="2"
      id="Narr_Ab2Cqslaq0KG5YE2xFyI1Q"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.06</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w"
      decimals="3"
      id="Narr_Ej52xEwMf0Ww01flACwU5A"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.085</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Narr_AZK1_VwCKkC-fKnae3vLrg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.08</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA"
      decimals="3"
      id="Narr_IbsHDCTT5kGjDR0s2ZvSnw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.005</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w"
      decimals="3"
      id="Narr_NWfqL0bcFk-1i1AcxnoZtg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.007</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MinimumMember_4kdA9hxOb0ecx1tglWlAwA"
      decimals="3"
      id="Narr_vRIHIVVEzkCWSIOM2EEFxg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.009</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_bNgnBJorgEaNlieBZLaa7w"
      decimals="3"
      id="Narr_QshbfITlS0C92rxo4kyCFA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.025</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2019_To_12_31_2019_v_6XYxe0RU6ekcik82hFpw"
      decimals="-3"
      id="Narr_xYlrVj2nHkOPofJ9GT-lqw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11409000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_FjoHBXFa1U2JTjWqrABDNg"
      decimals="-3"
      id="Narr_xAlIqfBTPEylhWldNi9gJw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11486000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="-3"
      id="Narr_RJ1JlZROxUeg06egy9SF3A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13584000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_PQPMtdaNrEaKCUtUfW-Ziw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;25.&#160;SHARE-BASED COMPENSATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In March&#160;2006, the Company adopted a share incentive plan, or the Plan. The purpose of the Plan is to promote the success and enhance the value of the Company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of the Company&#x2019;s operations is largely dependent. In September&#160;2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of options, restricted shares and RSUs under the Plan to the sum of (i)&#160;2,330,000 plus (ii)&#160;the sum of (a)&#160;1% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b)&#160;2.5% of the number of outstanding common shares of the Company outstanding on the first day of each calendar year after 2009. In June 2020, the shareholders approved an amendment to the Plan to extend the term of the Plan for a further ten years period. As a result, the Plan will expire on, and no awards may be granted after, June 30, 2029. Under the terms of the Plan, options are generally granted with an exercise price equal to the fair market value of the Company&#x2019;s ordinary shares and expire ten years from the date of&#160;grant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Options Activities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;During the year ended December 31, 2021, no options were exercised. The total intrinsic value of options exercised during the years ended December 31, 2019 and 2020 was $1,422 and $893, respectively. As of December 31, 2021, there were 26,291 options outstanding with a weighted average exercise price of $9.33 and weighted average remaining contract terms of 1.4 year. The intrinsic value of outstanding options as of December 31, 2021 was $577. No compensation cost on options was recognized in the years ended December 31, 2019, 2020 and 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;RSUs Activities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company granted 706,637, 1,105,640 and 2,161,098 RSUs in 2019, 2020 and 2021, respectively. The RSUs entitle the holders to receive the Company&#x2019;s common shares upon vesting. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The RSUs were granted for free and generally vest over periods from &lt;span style="-sec-ix-hidden:Hidden_tRh4ksMz2UOesLNzdD09kQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;one&lt;/span&gt;&lt;/span&gt; to four years based on the specific terms of the grants. In 2020, 2,096,000 of the RSUs granted were made to the Company&#x2019;s directors and a group of key employees, whereby vesting is contingent on the successful carve-out IPO of CSI Solar Co., Ltd. (50% vesting on the IPO date, then 25% vesting each on the first and &lt;span style="-sec-ix-hidden:Hidden_Lf8efQ4fgkqF2AE8deQC3Q;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;second&lt;/span&gt;&lt;/span&gt; anniversaries of the IPO). The average grant date fair value of these awards contingent on the IPO was $25.69 per award. As of December 31, 2021, 2,076,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 6pt 0pt;"&gt;The fair market value of the Company&#x2019;s ordinary shares at the date of grant resulted in total compensation cost of approximately $12,179, $24,918 and $55,822&#160;that will be recognized ratably over the vesting period for the RSUs granted in 2019, 2020 and 2021, respectively. In the years ended December 31, 2019, 2020 and 2021, the Company recognized $10,682, $12,350 and $8,808 in compensation expense associated with these awards, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2021, there was $22,002 of total unrecognized share-based compensation related to unvested RSUs, which is expected to be recognized over a weighted-average period of 2.35 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;25.&#160;SHARE-BASED COMPENSATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;RSUs Activities (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;A summary of the RSU activity is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant-Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(in whole US dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January&#160;1, 2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,888,753&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19.78&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,161,098&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26.10&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (562,376)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding: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.11&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (152,172)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22.04&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December&#160;31, 2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,335,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24.23&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/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 total fair value of RSUs vested during the years ended December 31, 2019, 2020 and 2021 was $10,733, $14,420 and $21,628, respectively.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="As_Of_9_30_2010_s3G9vuVMLEKbL1Z0MxJUeA"
      decimals="INF"
      id="Narr_3iepiGMFW0iFUtsoLlG18g"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">2330000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_aDjHad5NhkKa41D5WWigvg"
      decimals="2"
      id="Narr_3OzXQ1GxIk-gmTnHRrtvXw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.01</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_aDjHad5NhkKa41D5WWigvg"
      decimals="3"
      id="Narr_e9ebC1Qq50ifZfNob247dw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.025</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="INF"
      id="Narr_1ta1HFrmz0u1cVGLOMdLcQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">0</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Narr_2MwVamXfrE2NwnZYS6AR6g">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_itahHxtTc0y08hLwjrxP9g"
      decimals="INF"
      id="Narr_hxYFI84DN0eyFwKbkE70zQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AyfQqXj0OEuY59P6o6pN8w"
      decimals="-3"
      id="Narr_4h_8D7asyk-xHF1A0dusBw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1422000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_A0PbjptT40qA1djr0E_bCA"
      decimals="-3"
      id="Narr_BpABGqFcc0e16d8z8ubQ0w"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">893000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_0xADt5H0X0WqyNWDyC3JJQ"
      decimals="INF"
      id="Narr_9G1uQyyKYEWn9MjgustfUw"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">26291</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_0xADt5H0X0WqyNWDyC3JJQ"
      decimals="2"
      id="Narr_zb4Xt0wzDESBQS_YbZ-Cig"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">9.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_itahHxtTc0y08hLwjrxP9g"
      id="Narr_UTRQVMYE8kOqraYlMuLiaw">P1Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_0xADt5H0X0WqyNWDyC3JJQ"
      decimals="-3"
      id="Narr_F85zJIhnb0S7IwL0Y9MBFQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">577000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2019_To_12_31_2021_NIDZlaYFMkadD_qI5h0k_Q"
      decimals="-3"
      id="Narr_wv7yxMJyGk2UZsvT2nNfkA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_RyGOuak2hUG2Vk9Wwaw2Hw"
      decimals="INF"
      id="Narr_pwDsSHBzHk69G-HhgiLtlg"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">706637</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_W_fJ8AvjlEGpNIoLk_ydbQ"
      decimals="INF"
      id="Narr_mZqdZLIwIkeNhPeR2MtAjA"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">1105640</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      decimals="INF"
      id="Narr_zJq9mSmheU20-NikVDl7vQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">2161098</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_E7NIB9nvqEGtpcO-tbnOdw"
      id="Narr_rvtDUkA7_E2SB3MBIES3HA">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eE4SLBxJQ06ddZ7dQ-gIHA"
      decimals="INF"
      id="Narr_UVAvj7ZnSEi5pNKB4RFqBw"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">2096000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eE4SLBxJQ06ddZ7dQ-gIHA"
      decimals="2"
      id="Narr_IFNijDRRRUSQXUOx8iw4bg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_Ba4F7CshTkedjY241WQqng"
      decimals="2"
      id="Narr__kVIqN06dkKucRskMv4Ouw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eE4SLBxJQ06ddZ7dQ-gIHA"
      decimals="2"
      id="Narr_A7_Zgx4tMUCzthokcqwCKQ"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">25.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_JJPbs518SUanV96zQTpuGg"
      decimals="INF"
      id="Narr_uVVTITc9EUGva2tGr7KifQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">2076000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_bZ3OUS7aTEKOi3hgmjSecQ"
      decimals="-3"
      id="Narr_a8IVHAcSYkOX8VFW0vvNvg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12179000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_NgDk0xAAPEWrdShd8yHuIQ"
      decimals="-3"
      id="Narr_GV9h0FTCg0aAq3LU9CNblA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">24918000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw"
      decimals="-3"
      id="Narr_iF2Kweqsjkef5TrWHV5Ofg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">55822000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_RyGOuak2hUG2Vk9Wwaw2Hw"
      decimals="-3"
      id="Narr_GLX7HYqyckOumr2mGXGA-A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10682000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_W_fJ8AvjlEGpNIoLk_ydbQ"
      decimals="-3"
      id="Narr_yIOJ5zpjd0mTZIF--9szFw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12350000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      decimals="-3"
      id="Narr_Dsv9PiHfAkGWUCeCxr9wUQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8808000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw"
      decimals="-3"
      id="Narr_ijhml320RUGc0-lBD3f4Zw"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22002000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      id="Narr_gClMcKQrIUmSX4xzlM6Hfw">P2Y4M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_5txsvU0A2UGDZVfJu0UJBg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant-Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(in whole US dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January&#160;1, 2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,888,753&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19.78&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,161,098&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26.10&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (562,376)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding: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.11&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (152,172)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22.04&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December&#160;31, 2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,335,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24.23&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_NgDk0xAAPEWrdShd8yHuIQ"
      decimals="INF"
      id="Tc_dOlRs1T64UCcRIwbWSrDiw_5_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">1888753</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_NgDk0xAAPEWrdShd8yHuIQ"
      decimals="2"
      id="Tc_OC5AQv819E6J53CVzEXEHw_5_4"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">19.78</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      decimals="INF"
      id="Tc_7oez6UBJGU-a_gFkHrkG5w_6_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">2161098</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      decimals="2"
      id="Tc_Yc9-rdGZnEiUDsVrm93ofA_6_4"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">26.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      decimals="INF"
      id="Tc_1iQ8A5Yt_E27f8Ej8KDOyw_7_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">562376</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      decimals="2"
      id="Tc_dKSZ16hiJEKqWNPFQLYaCQ_7_4"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">17.11</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      decimals="INF"
      id="Tc_GUjFn8yTX0632qIK5-gkLw_8_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">152172</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      decimals="2"
      id="Tc_STs5fdsRWUu6Cns0PDBfbQ_8_4"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">22.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw"
      decimals="INF"
      id="Tc_Mb4ixGU7HUCE0O3X5LUSPQ_9_2"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">3335303</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw"
      decimals="2"
      id="Tc_Z4NiRUCZbEuwHlwFa08j2w_9_4"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">24.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_RyGOuak2hUG2Vk9Wwaw2Hw"
      decimals="-3"
      id="Narr_7VdC4iEeGkeoL1PVBlHFyQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10733000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_W_fJ8AvjlEGpNIoLk_ydbQ"
      decimals="-3"
      id="Narr_iP_PDtXpX0ikOnj8Yzmarg"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">14420000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ"
      decimals="-3"
      id="Narr_UYdrepDht0C6HvmpKvUJ3A"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21628000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_-IwmFnF25UW6zIN9BAi-Aw">&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; Financial Statement Schedule&#160;I&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Canadian Solar&#160;Inc.&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Schedule&#160;I 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, 2021 of $602,460, 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.&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;margin:0pt;"&gt;&lt;span style="font-size: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;2020&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;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;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="5" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;share&lt;/b&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;ASSETS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Current assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,709&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.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; 27,432&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;Restricted cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,316&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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Amounts due from subsidiaries, net&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; 288,226&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.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Derivative 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 3pt 0pt 0pt;"&gt; 1,111&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; 521&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; 22,672&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.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,318&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; 347,034&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.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; 33,271&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;Investment 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; 1,525,951&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.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,992,658&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; 5,322&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; 10,755&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;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; 21,358&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.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,946&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; 40,456&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.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; 45,213&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; 1,940,121&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.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,083,843&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;Short-term borrowings&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; 80,000&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.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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Amounts due to subsidiaries, net&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; &#x2014;&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.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; 43,415&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; 32,969&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.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,676&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; 112,969&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.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; 49,091&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; 223,214&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; 224,675&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; 20,169&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,562&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; 13,347&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.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; 7,432&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; 369,699&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.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; 282,760&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, 59,820,384 and 64,022,678 shares &lt;span style="-sec-ix-hidden:Hidden_fOZ4Qa-tVkW-SzzhdVKrPg;"&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_07SkRc04MEW6zu9Uni0FdA;"&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&#160;31, 2020 and 2021, 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; 687,033&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.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;"&gt; (28,236)&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.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; (19,428)&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; 940,304&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.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,035,552&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; (28,679)&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.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; (50,584)&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,570,422&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.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; 1,801,083&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; 1,940,121&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.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,083,843&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,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:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,170&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 341&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; 4,188&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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;&#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;/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; 163&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,170&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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;margin:0pt;"&gt;&lt;span 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;margin:0pt;"&gt;&lt;span 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;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; 1,727&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,174&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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; 29,093&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,688&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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; 462&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 692&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other operating income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (282)&lt;/p&gt;&lt;/td&gt;&lt;/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; 31,282&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,554&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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; (31,119)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (50,384)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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;margin:0pt;"&gt;&lt;span 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 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; (3,005)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,628)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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; 25,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,536&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;"&gt; (5,193)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,043&lt;/p&gt;&lt;/td&gt;&lt;/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)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (11,318)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 13,768&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; (3,674)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: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;Investment loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (116,879)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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;Other income (expenses), 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; (111,123)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 60,017&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 941&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income (loss) before income taxes and equity in earnings of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; (142,242)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 9,633&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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; (8,561)&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 tax benefit (expense)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 5,230&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; (34,223)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,424&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 308,597&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 171,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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; 101,385&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;&#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; 171,585&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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; 95,248&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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&lt;/b&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,248&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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 of nil)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 542&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 80,928&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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; 172,127&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 227,631&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#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;/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;2019&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;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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; 171,585&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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;/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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Adjustments to reconcile net income to net cash provided by (used in) operating activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;padding-left:7.2pt;text-indent:-7.2pt;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; 154&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 156&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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;/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;padding-left:7.2pt;text-indent:-7.2pt;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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 388&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,461&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Loss on disposal of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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; 116,879&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;padding-left:7.2pt;text-indent:-7.2pt;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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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; (25,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="font-size: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; (4,043)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td 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;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.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; (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: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; 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:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/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;padding-left:7.2pt;text-indent:-7.2pt;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; (308,597)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; (171,293)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size: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;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;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; 10,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: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; 12,350&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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;/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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Changes in operating assets and liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Amounts due from subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (43,630)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 287,865&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; (206,892)&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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,012&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (13,183)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; 17,353&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,158)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,459&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; (4,907)&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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Amounts due to subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 183,675&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (340,502)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; (42,224)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,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:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,809&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; (27,293)&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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Liability for uncertain tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 306&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; (5,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:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Net deferred tax 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;"&gt; (1,292)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (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: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; 805&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;padding-left:7.2pt;text-indent:-7.2pt;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;"&gt; (11,125)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; 19,517&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; 4,633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;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 3pt 0pt 0pt;"&gt; 136,996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (22,877)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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;/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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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; (36,146)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (126,487)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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;/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;padding-left:7.2pt;text-indent:-7.2pt;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; (2,483)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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; (2,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="font-size: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;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Funding of loans to subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (40,600)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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; (264,848)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;/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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Repayment of loans 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:10pt;margin:0pt;"&gt;&lt;span style="font-size: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; 12,809&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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; 20,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;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; (66,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: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; (373,616)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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;/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;padding-left:7.2pt;text-indent:-7.2pt;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;padding-left:7.2pt;text-indent:-7.2pt;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 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;&#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; 30,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;&#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;/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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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;&#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;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Funding of loans 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; &#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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;/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;padding-left:7.2pt;text-indent:-7.2pt;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;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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; 148,510&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from changes in ownership interests in subsidiaries without change of control&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; 224,553&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Net proceeds from issuance of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 222,826&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Payments for repurchase of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (127,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="font-size: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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Payments for repurchase of common shares&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (11,845)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (5,963)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from exercise of stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 875&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,035&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net cash provided by (used in) financing activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (88,470)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 472,451&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; 348,510&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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: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;padding-left:7.2pt;text-indent:-7.2pt;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 3pt 0pt 0pt;"&gt; 11,110&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; (43,246)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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: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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net increase (decrease) in cash, cash equivalents and restricted cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (6,784)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,712&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; (7,593)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;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: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;padding-left:7.2pt;text-indent:-7.2pt;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; 9,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: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; 2,313&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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;/tr&gt;&lt;tr&gt;&lt;td 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;padding-left:7.2pt;text-indent:-7.2pt;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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,313&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,432&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size: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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Supplemental disclosure of cash flow information:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Interest paid (net of amounts capitalized)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,644&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,966&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#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; 20,272&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock>
    <us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A"
      decimals="-3"
      id="Narr_ny6idPfw-UyQiCBi5rm3lQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">602460000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      decimals="2"
      id="Narr_EhnwSM85z0OMxgrbTYTf_w"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.25</csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_fDTBFIrZyUuwKNjBJHfAtw_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">33709000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_5vU8yvC2tky_uZAFpDztQg_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">27432000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_REQs9_amHkmxzHYpnSZxtQ_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1316000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_tMY4boccI02zUp7UN63MoQ_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">288226000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_I03IrTV8w0WX4RgphNb4Cg_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1111000</us-gaap:DerivativeAssetsCurrent>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_mbqTeQ0POEyM_hwrbtnWvQ_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">521000</us-gaap:DerivativeAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_5sH_5gDS9EKon9ubiWLEfw_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">22672000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_FQ3-kQjCGkC1PyL6r1HSHQ_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5318000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_iQqdIJp5pkeDvJB2CbkdEQ_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">347034000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_xO4uhtcb2E-HzaObFjpX-g_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">33271000</us-gaap:AssetsCurrent>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_p1emZpyn1km2_oRQyZubVQ_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1525951000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_q7iMH6347kWAzB7WiRtXFA_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1992658000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInAffiliates
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_kU_9yFS-UUua0G-jUdzcGQ_14_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5322000</csiq:InvestmentInAffiliates>
    <csiq:InvestmentInAffiliates
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_wDdR7kGdTkG4-otOmItcCA_14_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10755000</csiq:InvestmentInAffiliates>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_JAEKTcPXA0O8gSYoB-Jt2A_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">21358000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_N31_InQTx0me3kqYwgHwuw_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1946000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_bAIvBeJmrU2Ca_Syx1VCQw_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">40456000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_r_c4em8lp0SAck59N6G1Wg_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">45213000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_PYMRN5hwfEmjUXIGkpMtHg_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1940121000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_43rRenJWX0mXTOaDh02Jsw_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2083843000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_oIkw9L-SiUScP3dGsgxazQ_20_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">80000000</us-gaap:ShortTermBorrowings>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_bXIgSnVwyke0chGA04J42Q_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">43415000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_rw050WRbxECI7uDcMsDNcw_22_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">32969000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_eoS1UXDTsEqqub4sYwcRbA_22_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5676000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_l3A5FO17kkKHOQIr8_GgSQ_23_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">112969000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_frxxkLQFek-R63i9QdYO6A_23_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">49091000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_o2_2XZBUsEqA-MRNh7lP6g_24_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">223214000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_bsQuLoCE8UOHLiegHCWukQ_24_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224675000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_SQdVjuKIVkK_LWKsdgpsYg_25_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20169000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_s84vVL4QWEKrvbg648Qh7w_25_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1562000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_1Dqs2b5J_EWjyyZuXaP_1w_26_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13347000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_JOcVFR_jcUqcrV8TIcBOfw_26_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7432000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_tswNbRKgRECFsFU2SeraSw_27_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">369699000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_zZWdPFZF5kmjCbh5_3nYkg_27_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">282760000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="INF"
      id="Narr_h2weiQp_Q0a8P0Kwx3BTqw"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="INF"
      id="Narr_aGXUqG1Blk6U1wA__JipqQ"
      unitRef="Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="INF"
      id="Narr_ZqVzSUBOX0Oy4EMEhKKbIQ"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">59820384</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="INF"
      id="Narr_NL-EvIwmwkuITfX6vV2ZDA"
      unitRef="Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ">64022678</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_pb-HyaKkIkWL5UHsPNF6fA_29_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">687033000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_oMiDAlZcsUu0qlbcgNmZ_Q_29_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">835543000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_rw4QHblVG0aBi_TC_aSlrA_30_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-28236000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_NN_KDU8Va0-44uHVTqJLRw_30_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-19428000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_KA5fA0GwWEm3XXldDK5A5g_31_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">940304000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_Nei9SBrlfEGu0WMp1LbW2Q_31_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1035552000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_OdYL-IQcX0WmBzTanmaPjA_32_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-28679000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_juLl8CM8KEuY-C01EOyfVQ_32_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-50584000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_jLPZr8B5K02wDsT0h8SZMQ_33_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1570422000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_hX8C3OHnY0Wxwq9sGHZ98Q_33_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1801083000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_RMPb-181oEy1hEAispnwTg_34_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1940121000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_zFr-5U3vUk6p9XC4qnSKhQ_34_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2083843000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_tah5vdJM_kKTmrtjHPlEzA_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4351000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_6C_txQJ8skOwGPBiA0XyZg_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2170000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_KeZOzhcoCUCPavbBfSPSlA_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">341000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_UdL13i-mm0ylF0aBBQJ59A_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4188000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_dNO8GcXwSkiu_ppItfLmZA_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">163000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_Iikiog5-AEK2O97J4s6pOw_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2170000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_k0KayjjSOUOBjLKdXb7l7w_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">341000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_PVMqQBK1JkeXHsE20w7NBQ_8_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1727000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_VHjIzwAATki2JBib-RB9pQ_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2174000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_6oLsRNOAi0Whu2S1d5zbCQ_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">766000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_jVkbxx6gE06XNVLmSo6Tug_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">29093000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_VXXb-HfixkK8_JXuVpSrCA_9_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">49688000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_Xu8kPzNuYUCVHUUQ_izCjg_9_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9177000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_xFbH11Y-70CnNVqq3B7MXA_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">462000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_J2_PKPS3V0ijsIZRdjsrmw_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">692000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_Plx64J4o4EmKYRjOjF9L4A_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">182000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_6zy4Is1lfEe4Q97HKH6sJg_11_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">282000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_H4eBh9kijEmixbyyoFNVFA_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">31282000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_VjD9KVibv0Gzn8DJ8jS6Xg_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">52554000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_d79N1xPqn0GhIYNp7Ouvqw_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9843000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_R-lt9qf8G0iJZnv_DES_qA_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-31119000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_T733cYX0pUao5m__s60EUg_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-50384000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_AlcYJaWN5UGQLmqR87MbXQ_13_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-9502000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_yU_cQGGzUkuuPQNlv6FRWQ_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">3005000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_2gKO4H-T106cYz2YyHASag_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9628000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_JEXOWFh5M0aIJVSk8FxiRg_15_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">19677000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_5ne6dwebWUOyeSAghs4GIg_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25272000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_eeUO0vSak0WkrjfU5fYhbg_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">30536000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_io6UPcBbDUC5L1rFa2lwmg_16_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20249000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_2NBKFBh5-UKf4-laJ6kfrw_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5193000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_x1G3Hv0NgU67AYvlNtNKAA_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25341000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_2InBVr_P70SECp3t_tDQzg_17_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4043000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_FXRVQi2yEECJU8D7A1UJOQ_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-11318000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_LzsF2K47R0a6AlD1syvmxA_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13768000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_T4uKsunrykm9U0wPWCG6fQ_18_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-3674000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_cb08jL4PK0qE9bqz1uhrpw_19_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-116879000</us-gaap:GainLossOnInvestments>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_DZ7EtC8VUUqFAIAothgZeQ_20_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-111123000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_3ZO253ItHUe0xvewc4eBnQ_20_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">60017000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_AR7_TArupUGAs4Mp9ZS-0w_20_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">941000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_7WPsvKP9WkOa25tPT1vxjw_21_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-142242000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_Nto-_5WwA06IjG_iHO-bcA_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9633000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_e7h8fGRFKkaMb2xra3hWug_21_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-8561000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_RmlJm0rj2kevnfyBfFIlkQ_22_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5230000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_eC8z40XQC0aoy3ayTjkPig_22_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">34223000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_UH0XmsEHJUOGMsShhQY9lw_22_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-2424000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_8yRG66720E6FF-9TAzC_aA_23_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">308597000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_2sIh6kHp0kWoZTsy8sqpiA_23_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">171293000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_6kZuK2F240GBMTSFcR5ImA_23_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">101385000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_O-uig_qyGEGEKJHtCLSb1g_24_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">171585000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_J0yPbxFvjE6iTsHpANdT9A_24_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">146703000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_oBE-AsOVl0mib0Zy6x2-fQ_24_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">95248000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_tX5xDoz3fkO_aFBeYPljFQ_4_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">171585000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_ZXAT-vdUlUqVvVKSWVd0og_4_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">146703000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_hIK122TXu0m-ukjK-txWXw_4_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">95248000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Narr_fP-_MLfk6k-Vp9PZB4KHiQ"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Narr_kpBWmffk8kiYig4_Bh_h0Q"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Narr_8KH5hZTAU0uKaaFO-Cu4PA"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_Qp70KIXN30CpPHaLf-jIsw_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">542000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_WDOp9MgRnEuSZDtl5PRVUg_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">80928000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_AWx2vKw0CkeMHK3Yq3VGfg_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-21905000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_NeAuEuLDjkOLb3F3p4xmJw_6_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">172127000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_xCRFMDdchUOTQW2qMThORQ_6_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">227631000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_KNG7heqyGUijpAhhI5GgIw_6_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">73343000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_ofOJW9tiv06t5-hcQzykxg_5_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">171585000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_zEAvx-6SAkmKYS33v9gzng_5_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">146703000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_XlBopsKER0KzEEooIPbqYw_5_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">95248000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_DcumJkr0hUK6N6uE4-mPQg_7_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">154000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_MYYEPW_AY0ejBjoQ8ug-3A_7_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">156000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_47lhQEJnTUCV5LuQYoEHdQ_7_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">150000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_6iUQS1I_30KXyFlBRlDSCg_8_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">388000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_KW7J_Fop5kyQQsFM2Qouyg_8_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1461000</us-gaap:AccretionExpense>
    <us-gaap:GainOrLossOnSaleOfStockInSubsidiary
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_SV2FS0gK1EWE2mdCn0idXQ_9_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-116879000</us-gaap:GainOrLossOnSaleOfStockInSubsidiary>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_OZp0q9sVAEyQVwrzUIkb6A_10_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5193000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_aSvyOWiI2k6VO_jqw1v3Bw_10_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">25341000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_Bg0AtXZIXUmzb_qQTaouHg_10_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4043000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_U2x-dGQT1UivUXzd14hr9w_11_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-83000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_w28eUyM3Mku1l8NdXh2hhA_11_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">357000</us-gaap:ProvisionForDoubtfulAccounts>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_avd9KETjP0KXhMjHGqw09A_12_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">308597000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_iL_aqH9syESWV-wPU0zXfQ_12_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">171293000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_S3Df9yvah0Onz3SsFH2-rA_12_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">101385000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_SeosYuAyWU2HCJ2nK5f2KA_13_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">10682000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_lnmfl-u2CEOmdzTim9On2g_13_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12350000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_7mOYmRJptESUZQCCrcxbRg_13_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">8808000</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_oX3DTnUBwEiflSD_F-PHwQ_15_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">43630000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_YobUdgYrGU68vkcopE0tcQ_15_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-287865000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_C7C_gFJBIUqO70iDph-IrQ_15_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">206892000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_9z-TP-1mTki2H_qX5kMyWA_16_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-17012000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_8q6ckrtdj0yoIc63vM0iww_16_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">13183000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_25oT8-SWD0KiV5P0tDgQkw_16_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-17353000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_KmDIorUClUG4NENmK33c1A_17_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1158000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_ijyQQOG3q0iGp1w1sVVhUQ_17_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-28459000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_RAR6eQpwEkeGEEQi0ekRfg_17_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4907000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_dTQ-OU7CI0G2OiCG6meXyQ_18_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">183675000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_iRVQ7XVso02IXa_CuBsjvA_18_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-340502000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_b5eppCXQ3k2jA2kLY9zj5g_18_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-42224000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_d2K28ISQHUKyHC0i9SVNEg_19_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-2707000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc__ipPmINCrkeN5qEP01bpaA_19_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">31809000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_qMexszeGaUGRJsuYmXaCsw_19_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-27293000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_yM-6oh8oFkO9gD77MKEHpQ_20_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">408000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_pqYOVAt9JUqBc3R4mkfmzA_20_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">306000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_Aj2K7eVMBkCAWpOKtSjJqQ_20_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-5915000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_ThUZNFIv6kqoNpATbGoDWw_21_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1292000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_D832xNXd40GMS5YqHpVYBQ_21_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">468000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_TY5YDAYaOkGZ4P0-QOtWIw_21_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-805000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_mkUg792o3ECpVk9uRJHwTA_22_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11125000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_GS4xAa2OHUWql0kjTjmlqw_22_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-19517000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_Bm-kTNVvkEKzP8qDiqxwMw_22_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-4633000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_MIXprqHsIE2zhmuALZi6vw_23_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">136996000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_b1QW7QAeP024p5gukwsUBA_23_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-22877000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_UoiHETqSnEavldzRQbviZQ_23_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-264201000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_HvnsKcLi7UmXBtHgt-DtMg_25_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">36146000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_sLdwGxnrwUCpbLFQ3HobPA_25_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">126487000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_TgIsCe3luE-nsJFOi3sLvA_25_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">138456000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_Q82n9lYY8kGXJGTyMLRNyg_26_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2483000</csiq:PaymentsToAcquireAffiliates>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_0qgmInCpRUOhQA7Kdr2IPA_26_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2766000</csiq:PaymentsToAcquireAffiliates>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_d_K9yFPAhkuAAGuge-NFeA_26_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5273000</csiq:PaymentsToAcquireAffiliates>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_vOdcpopgdUe87Uki8TnaBA_27_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">40600000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_jYjyyaZc_E-qXTW_O3pfQw_27_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">264848000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_6_rFVwTWeUepBq7S1FHtxA_27_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">201192000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_0w7SDajeFkCsSHZ4oQ8qYg_28_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">12809000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_xlVeKBCe3ESQ23x7V1hJFw_28_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20485000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_-bPimy9Bik-sHaQMYFj8RA_28_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">253816000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_ADZXxklOwEm-mYlwstZSyA_29_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-66420000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_qvIENjB2MUaUYPfkJMiBPQ_29_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-373616000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_BK9SBnbwJ0efD735F_hhQQ_29_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-91105000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_01X3oqF0G0q8BCi2Y0RF_w_31_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-30000000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_nT3RpdD7-Ee98bwtgzFJVg_31_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">80000000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromRepaymentsOfNotesPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_zRT40VEsmEysCoFzQYcf5A_32_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">50000000</us-gaap:ProceedsFromRepaymentsOfNotesPayable>
    <csiq:ProceedsFromLoansFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_JxjFVJFuqEy_5uBDvTrizw_33_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">280000000</csiq:ProceedsFromLoansFromSubsidiaries>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_12bcHNHJz0aaMFmpZrAsPg_34_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">148510000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_X6NachWYVEe-tHREYLNzzw_35_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">224553000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_rfRm4VWKAUeLxR97zJr0uQ_36_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-222826000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_HYAZCIpQ0EeJCDf4X5jUjA_37_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">127500000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_wh-Yoh9Gg0ujAnOiruCboQ_38_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11845000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_gcFeszC6sE247BbIJoEf7w_38_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">5963000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_oAGuH75jUE6KbkY0ybdibw_39_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">875000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_tfvvJoWvVUqzVwq72jK-JQ_39_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">1035000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_gZnXjekDCUSKxiKH_6clhg_40_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-88470000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_v71yBQx8sE2N2fTtiO126Q_40_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">472451000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_XUSPfhGV-0O2Gr4yvi5lpQ_40_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">348510000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_XNIYP7l0lEiixw0hcR38VQ_42_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">11110000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_1XVmG7Hjw0KfOa8xGtCZHA_42_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-43246000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_zctbUk1_3kOv0yvL4YkZQA_42_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-797000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_RS4Nfn9TTESKZr4oyOGS2g_44_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-6784000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_C_MDFHJgKUykuKETrGnAsg_44_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">32712000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_ze0XZboJ3kGxdxTO9BH1hw_44_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">-7593000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_5Q6sXUhYekmYmO6DNCd4cQ"
      decimals="-3"
      id="Tc_s27SFuTSukq1fL9qLmVZKQ_46_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">9097000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ZwWUeo1uYEa046CeJ5XdKQ"
      decimals="-3"
      id="Tc_9dWKUbYOSUqWtD9XvfTMTg_46_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2313000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_Uk-zJ6V580SKusPuvK1tvA_46_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35025000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ZwWUeo1uYEa046CeJ5XdKQ"
      decimals="-3"
      id="Tc_F-WFc4MypU6DOdn-ihoB2A_47_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">2313000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-WSKZ97mxEeMfwBA7EOaSQ"
      decimals="-3"
      id="Tc_J20d3blXIECxpo17_fyN5g_47_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">35025000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA"
      decimals="-3"
      id="Tc_x4LGML5by0aNXFhand_Jjw_47_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">27432000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_kNLOsM27rkqZDHhy95BAFA"
      decimals="-3"
      id="Tc_ly74R34Az0adaFvwbiRydg_50_2"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">4644000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xmdAMPE5Uk2S1ppoJuyxuQ"
      decimals="-3"
      id="Tc_ubIi5X1HuEKMRgKIMJ-img_50_4"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">7966000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ"
      decimals="-3"
      id="Tc_8xPA1EQJ5ESPphgxFpCMSg_50_6"
      unitRef="Unit_Standard_USD_ecWoImcXq0OxycXARhngjw">20272000</us-gaap:InterestPaidNet>
    <us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock
      contextRef="Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA"
      id="Tb_4S2-UPpL_EeFYP2i6QNYHA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Appendix 1&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Significant Subsidiaries of CSI &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 information concerning CSI&#x2019;s significant subsidiaries: &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;margin-bottom:5pt;margin-top: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:top;width:45.73%;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:1.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:top;white-space:nowrap;width:8.92%;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:1.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:top;white-space:nowrap;width:7.22%;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:top;white-space:nowrap;width:2.86%;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:top;white-space:nowrap;width:31.78%;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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;font-weight: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.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:5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Place&#160;and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Attributable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:31.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:5pt;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:top;width:45.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:5pt;font-weight: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.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:5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Equity&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:31.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:5pt;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:top;width:45.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Subsidiary &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;of&#160;Incorporation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Interest&#160;Held&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:31.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Principal&#160;Activity&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Solutions Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Development of solar power project and manufacturing of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;June 22, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar O and M (Ontario) Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Solar farm operating and maintenance services&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;May 10, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Recurrent Energy, LLC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;USA &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Development of solar and battery storage project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;June 9, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar UK Projects Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Development of solar power projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;August 29, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Projects K.K.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Development of solar power projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;May 20, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar New Energy Holding Company Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Project investment, financing, trading of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;March 20, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Netherlands Cooperative U.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Project holding and financing&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;November 8, 2016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Energy Singapore Pte. Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Development &amp;amp; ownership of solar power projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;October 29, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Energy Holding Singapore Pte. Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Development &amp;amp; ownership of solar power projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;April 22, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Brasil I Fundo De Investimento Em Participacoes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Investment holding and assets management&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;August 5, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Construction (Australia) Pty Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Engineering, procurement and construction (EPC) services&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;July 4, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Investment Management Pty Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Development of solar power projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;February 24, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;FieldFare Argentina S.R.L.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Argentina&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Electricity sales&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;December 27, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI Energy Project Technology (SuZhou) Co., Ltd. &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Development of solar power projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;November 19, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI Solar Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 79.59&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Investment holding and trading&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;July 7, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI New Energy Holding Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Investment holding&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;January 7, 2005&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Manufacturing (Luoyang) Inc. &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Manufacture of solar modules and wafers&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;February&#160;24, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Manufacturing (Changshu) Inc. &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;August&#160;1, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI Cells Co., Ltd. &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar cells&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;August 23, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Suzhou Sanysolar Materials Technology Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar module materials&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;August 17, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI Solar Manufacturing (Funing) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Manufacturing and sales of solar wafers and cells&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;May 29, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Changshu Tegu New Material Technology Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Research and development, production and sales of EVA solar packaging film&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;September 2, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Changshu Tlian Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Junction box and connector research, development, production and sales&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;December 26, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Sunenergy (Baotou) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar ingots&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;August 18, 2016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI New Energy Development (Suzhou) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 90&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Design, engineering construction and management of solar power projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;December 17, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI Electricity Sales (JiangSu) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Electricity sales&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;January 18, 2018&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI Modules (DaFeng) Co., Ltd. &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 57.4197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%* **&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;May 16, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI Cells (Yancheng) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt;73.2063&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%* ***&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar cells &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;May 18, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;CSI NewEnergy (ZheJiang) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Investment holding&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;October 17, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;November 3, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar cells and wafers&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;November 27, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Manufacturing (Thailand) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 99.999996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar cells and modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;November 20, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Manufacturing Vietnam Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;June 25, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar (USA) Inc. &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;June 8, 2007&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar EMEA GmbH &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;September 2, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Japan K.K. &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;June 11, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar International Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;March 25, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar South East Asia Pte. Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;September 29, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Sales and marketing of solar modules, and solar energy solutions&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;November 14, 2012&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar SSES (US) Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Turnkey battery storage technology solutions&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;January 14, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Canadian Solar SSES (UK) Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:right;margin:0pt 1.5pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;Intellectual property holding&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:45.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:5pt;margin:0pt;"&gt;December 18, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:7.22%;margin:0pt;padding: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:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;width:31.78%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;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%;"&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;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"&gt;*&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt; Significant subsidiaries within the scope of CSI Solar are held through CSI Solar Co., Ltd. of which CSI holds 79.59% equity rights of CSI Solar Co., Ltd.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"&gt;**&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&lt;/span&gt;Canadian Solar Manufacturing (Changshu) Inc. holds 46.73% equity rights of CSI Modules (DaFeng) Co., Ltd., a limited partnership fund, of which Canadian Solar Manufacturing (Changshu) Inc. holds 20% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Co., Ltd. holds 0.067% shares as a general partner and holds 53.27% equity rights of CSI Modules (DaFeng) Co., Ltd.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt;"&gt;***&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;CSI Cells Co., Ltd. holds 57.13% equity rights of CSI Cells (Yancheng) Co., Ltd., a limited partnership fund, of which CSI Cells Co., Ltd. holds 37.33% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Co., Ltd. holds 0.17% shares as a general partner and holds 42.87% equity rights of CSI Cells (Yancheng) Co., Ltd.&lt;/p&gt;</us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_37C33xvdq0q6UT3exlTTXw"
      decimals="INF"
      id="Tc_iA3CWB0Bbk2SNMmb0zffpA_4_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarOAndMOntarioIncMember_EGJWYOzKvECx7wAcEwFPUQ"
      decimals="INF"
      id="Tc_M6VAgiacZEOqsrZasW3h6w_6_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_wiTjLQilZkaSQgC4oSCUWg"
      decimals="INF"
      id="Tc_Zkk11bqI4029iByxQR5CqQ_8_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUkProjectsLtdMember_cb2RuziMWUiYu4qtqSQwug"
      decimals="INF"
      id="Tc_6po5TAM_HUaOR3MuiTgzuA_10_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_7_RfAMx2ikuv4vUCm7H1lw"
      decimals="INF"
      id="Tc_otdmg0c8q0CoVqhGQ2AmBw_12_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_pDd1eUUCV0eW0gjf7osQgQ"
      decimals="INF"
      id="Tc_ojNs6nDNPEqLzCWJ0TFAzg_14_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_ptGwFyjcn065PlxKcxEH9A"
      decimals="INF"
      id="Tc_2ydJH2Qv7kiauIHVwCsLkw_16_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_h3NQqmaPBUaebk5Px8RO_w"
      decimals="INF"
      id="Tc_SoqxNggYqkSWPWmguip_VQ_18_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_3EDSlOqkRUeV2uzrzj3P2Q"
      decimals="INF"
      id="Tc_9UwsF_r8UEyHmYWE2q5_Lg_20_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember_pO_nzoslzE6uIAAXkJftaQ"
      decimals="INF"
      id="Tc_HaO46w37KEWS-Za-_KAYZA_22_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarConstructionAustraliaPtyLtdMember_r8qx7ymk9kKBMu1B-riEnQ"
      decimals="4"
      id="Tc_swhWEzjU0kmw6n5N1j-hSA_24_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInvestmentManagementPtyLtdMember_NWc7rhX4TUKBu_L7Wx7P5g"
      decimals="INF"
      id="Tc_v5OJOOaPgUWERTGWRtOuZQ_26_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_FieldfareArgentinaS.r.l.Member_7KafbnOtmkC_J91TEpTSkA"
      decimals="INF"
      id="Tc_am_3170IPUagw2-amykBiQ_28_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member_PcU81H7kUkylO9CfkxQVxg"
      decimals="INF"
      id="Tc_uHeUbOIYO0-kClJkFR2Vig_30_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_i4h0_eHldk2t3KNrfgjOjQ"
      decimals="4"
      id="Tc_jUj8Uup1wU6RfvmRNB37Cw_32_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.7959</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiNewEnergyHoldingCo.LtdMember_aozydgQ_T0695nR5G1BnrA"
      decimals="INF"
      id="Tc_0BffaTV-kEGDWXaEzC9ahg_34_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingLuoyangIncMember_Z-IU3gmZxEi7U7anGtuRrg"
      decimals="INF"
      id="Tc_rDCUO6AUaUezNB6Jhg-Czg_36_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_M4bem92xgEWhEysG0k7DEA"
      decimals="5"
      id="Tc_xghOq53Uh0mche1gWgBjUA_38_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsCo.Ltd.Member_uLAHdiji70KZ0lNrBksYeQ"
      decimals="INF"
      id="Tc_W6h2QyTiL0GwHO2yGZJ9qg_40_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_achEREHdvEOvlRdwhTf8Rg"
      decimals="4"
      id="Tc_fsLlMpAGpEafJtTT4YPdTg_42_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiSolarManufacturingFuningCoLtdMember_bFVjgHxopkGFqrMwd4SJyQ"
      decimals="INF"
      id="Tc_u8KbUifmbk-O9inTXLzBeg_44_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_K7MFHdOdTkiK4EQwsmzB2g"
      decimals="INF"
      id="Tc__Vi2uCa7T0eR-MEZwt_cYQ_46_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_ChangshuTlianCo.Ltd.Member_BxwdTQlaEESKMMfjkrgUFg"
      decimals="INF"
      id="Tc_YRALDS3I3kq3EVixahwABQ_48_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_VZZFWnOHj0qEUJrXMZcNWA"
      decimals="7"
      id="Tc_I4wtekSWAUOJFLZKYqaYZw_50_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CSISolarNewEnergySuzhouCoLtdMember_qlN2bTycCkWatWhw8BSuag"
      decimals="INF"
      id="Tc_j5W96Or-ZkqxI7LZkGkQKw_52_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.90</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiElectricitySalesJiangsuCo.Ltd.Member_rC05HQgYlEu1qGzGpm3Aqw"
      decimals="INF"
      id="Tc_H6nRdHbsqkic2t2Gy7zb6w_54_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_wk4SkUnjekqTwal-7A6k3w"
      decimals="INF"
      id="Tc_zikdjkukikWq_EbYQ_S8cQ_56_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.574197</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_RHyvukqN5EeK_XFAommL3Q"
      decimals="INF"
      id="Tc_HNFEyuRbjke0N0xAvN2S9w_58_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.732063</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember_DYb0czy0b0SWbKVCGUWAnQ"
      decimals="INF"
      id="Tc_N8GW3KPnnkSExymCsUXbpw_60_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_V9THTzoFa0uRpTIhOU_tDA"
      decimals="INF"
      id="Tc_Sh1Q0ejxTkODs3A89f7SxA_62_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiWaferLuoyangCoLtdMember_RZg-Az3N4Ued1uvbBQZ_Bg"
      decimals="7"
      id="Tc_GTJ7SIBYWkiF2B_7s6sbTA_64_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_OG-peTBP0UyTXn5-q9rnxA"
      decimals="8"
      id="Tc__0Q9AVjCRUu1TygU0Xhhrw_66_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.99999996</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_8ZthnZ99AU65eD288cDZFg"
      decimals="INF"
      id="Tc_Umi0o6_kQkCMeE60FJ5--A_68_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_KGn43hoLPUi3GMi1F21q0Q"
      decimals="INF"
      id="Tc_cL705wUiEkKf9SySLv4fbg_70_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_0vTPLaPJDUG3f_v6L-fLJg"
      decimals="INF"
      id="Tc_rhKu6I2rIkCoBwLaSaD4XQ_72_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_RvFJCl4Ik0Kmz9om3Z7PYA"
      decimals="INF"
      id="Tc_GgzviQ8I7kSx7X5FrS9gvA_74_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_K_PgpWOv706N8toXp410ew"
      decimals="INF"
      id="Tc_X6nXJCovTE65XSsr_SwdhA_76_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSouthEastAsiaPteLtdMember_oVI2rxtTMkW-GCl6Hj_d-w"
      decimals="INF"
      id="Tc_39_fGoigw0yNW_7trK7APQ_78_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_rmptUuTCGUG6oiztZfPFug"
      decimals="INF"
      id="Tc_8A2Xa4G7o0aKh9xXj6oi6w_80_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSsesCanadaInc.Member_xr1-hO41pUixsPOwgdhRiQ"
      decimals="INF"
      id="Tc_lcDl7qJk0UabNQV8iuLaFA_82_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUkLtdMember__heS167FXkyvtQFyZwBrxg"
      decimals="INF"
      id="Tc_N23nrGlT8UmSgyXsuU-mbQ_84_4"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_FMDPs5BsMkGWiyS110TB9w"
      decimals="4"
      id="Narr_4xxbUjNpkUGsC6JJWHeqUw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.7959</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_djZgLka68EilGq2UylzGDg"
      decimals="4"
      id="Narr_Av5Skw3IPk2MxnXzjFdZIw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.4673</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <csiq:EquityInterestHeldAsLimitedPartner
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_djZgLka68EilGq2UylzGDg"
      decimals="4"
      id="Narr_d1_uih-EcUCkN3hbkRnLZg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.20</csiq:EquityInterestHeldAsLimitedPartner>
    <csiq:EquityInterestHeldAsGeneralPartner
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_6XAyIwHVx0CvXe7hoc9sAw"
      decimals="5"
      id="Narr_yCGJUxTikU6hr95B-cTJ_w"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.00067</csiq:EquityInterestHeldAsGeneralPartner>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_6XAyIwHVx0CvXe7hoc9sAw"
      decimals="4"
      id="Narr_l4wptM6nikue7bqbMTmY8A"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.5327</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_yEkSdsHwrkGvZ2U009rdiQ"
      decimals="4"
      id="Narr_d96I0OwLz0i8TpCj8U1IHg"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.5713</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <csiq:EquityInterestHeldAsLimitedPartner
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_yEkSdsHwrkGvZ2U009rdiQ"
      decimals="4"
      id="Narr_uDXJjObQEUSziqcpHZwvkA"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.3733</csiq:EquityInterestHeldAsLimitedPartner>
    <csiq:EquityInterestHeldAsGeneralPartner
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_5NfNTPDEdEyYMxTCiyQmsw"
      decimals="4"
      id="Narr_ds719Arvs0KgJZs2NGKDOw"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.0017</csiq:EquityInterestHeldAsGeneralPartner>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_5NfNTPDEdEyYMxTCiyQmsw"
      decimals="4"
      id="Narr_cxjW0puFCk-1f7frqenZiQ"
      unitRef="Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA">0.4287</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Tc_S5a1W9pmN0-OtC8KDVgdtw_6_2"
          xlink:label="Tc_S5a1W9pmN0-OtC8KDVgdtw_6_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;">Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_S5a1W9pmN0-OtC8KDVgdtw_6_2"
          xlink:to="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_ENwu0NDLXEmlkvJxSCQDVQ_6_4"
          xlink:label="Tc_ENwu0NDLXEmlkvJxSCQDVQ_6_4"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_ENwu0NDLXEmlkvJxSCQDVQ_6_4"
          xlink:to="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_rnszWEG6S06lzv2yYfYzng_34_2"
          xlink:label="Tc_rnszWEG6S06lzv2yYfYzng_34_2"
          xlink:type="locator"/>
        <link:footnote id="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" xlink:label="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represents 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;"> </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_rnszWEG6S06lzv2yYfYzng_34_2"
          xlink:to="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_8BEi7EaAGEWKESCyu1RWyw_34_20"
          xlink:label="Tc_8BEi7EaAGEWKESCyu1RWyw_34_20"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_8BEi7EaAGEWKESCyu1RWyw_34_20"
          xlink:to="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_JIqHu9BHDkOwyVJBu0enpw_34_4"
          xlink:label="Tc_JIqHu9BHDkOwyVJBu0enpw_34_4"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_JIqHu9BHDkOwyVJBu0enpw_34_4"
          xlink:to="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_pDBEgKzeH0ajYcSw7R3KEw_34_16"
          xlink:label="Tc_pDBEgKzeH0ajYcSw7R3KEw_34_16"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_pDBEgKzeH0ajYcSw7R3KEw_34_16"
          xlink:to="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_5yTP4XZQ3ECxbGMbd2qwbg_11_2"
          xlink:label="Tc_5yTP4XZQ3ECxbGMbd2qwbg_11_2"
          xlink:type="locator"/>
        <link:footnote id="_c812df11_1930_48b4_a924_940063f42121" xlink:label="_c812df11_1930_48b4_a924_940063f42121" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Following the share repurchase plan authorized by the Board Directors on December 9, 2019, the Company repurchased </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">609,516</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> outstanding shares with total costs of </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$11,845</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> in December 2019. The Company retired all outstanding shares repurchased during 2020.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_5yTP4XZQ3ECxbGMbd2qwbg_11_2"
          xlink:to="_c812df11_1930_48b4_a924_940063f42121"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_GkLiSuByCE-3khtNaF_0zg_11_6"
          xlink:label="Tc_GkLiSuByCE-3khtNaF_0zg_11_6"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_GkLiSuByCE-3khtNaF_0zg_11_6"
          xlink:to="_c812df11_1930_48b4_a924_940063f42121"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_unRH5y90xUWDThsobwLR6w_11_20"
          xlink:label="Tc_unRH5y90xUWDThsobwLR6w_11_20"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_unRH5y90xUWDThsobwLR6w_11_20"
          xlink:to="_c812df11_1930_48b4_a924_940063f42121"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_ahiNTBLPO0CfXG-PqyQLGw_11_16"
          xlink:label="Tc_ahiNTBLPO0CfXG-PqyQLGw_11_16"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_ahiNTBLPO0CfXG-PqyQLGw_11_16"
          xlink:to="_c812df11_1930_48b4_a924_940063f42121"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_2sCnxKc8LUyFvNd_TaEfsg_11_8"
          xlink:label="Tc_2sCnxKc8LUyFvNd_TaEfsg_11_8"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_2sCnxKc8LUyFvNd_TaEfsg_11_8"
          xlink:to="_c812df11_1930_48b4_a924_940063f42121"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_hTyApOcOXEqLtFWdMwt5ew_20_2"
          xlink:label="Tc_hTyApOcOXEqLtFWdMwt5ew_20_2"
          xlink:type="locator"/>
        <link:footnote id="_aa8fbfc8_f3e5_42a2_886e_2925410e4782" xlink:label="_aa8fbfc8_f3e5_42a2_886e_2925410e4782" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Following the share repurchase plan authorized by the Board Directors on December 9, 2019, the Company repurchased </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">91,424</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">289,906</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> outstanding shares with total costs of </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$2,000</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$3,963</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> in January 2020 and March 2020, respectively. The Company retired all outstanding shares repurchased during 2020.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_hTyApOcOXEqLtFWdMwt5ew_20_2"
          xlink:to="_aa8fbfc8_f3e5_42a2_886e_2925410e4782"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_sFTfTl3ebUCbYuaZGVK4lg_20_6"
          xlink:label="Tc_sFTfTl3ebUCbYuaZGVK4lg_20_6"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_sFTfTl3ebUCbYuaZGVK4lg_20_6"
          xlink:to="_aa8fbfc8_f3e5_42a2_886e_2925410e4782"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_JT9GV4tdpUOEFvkWjnF7xA_20_20"
          xlink:label="Tc_JT9GV4tdpUOEFvkWjnF7xA_20_20"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_JT9GV4tdpUOEFvkWjnF7xA_20_20"
          xlink:to="_aa8fbfc8_f3e5_42a2_886e_2925410e4782"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_rKE3QfWIekGSNRr1mBYiZQ_20_16"
          xlink:label="Tc_rKE3QfWIekGSNRr1mBYiZQ_20_16"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_rKE3QfWIekGSNRr1mBYiZQ_20_16"
          xlink:to="_aa8fbfc8_f3e5_42a2_886e_2925410e4782"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_cune4HfBrUyylfHuLga5Wg_20_8"
          xlink:label="Tc_cune4HfBrUyylfHuLga5Wg_20_8"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_cune4HfBrUyylfHuLga5Wg_20_8"
          xlink:to="_aa8fbfc8_f3e5_42a2_886e_2925410e4782"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_r6EqS3xYiECBDts0FPTiDA_21_4"
          xlink:label="Tc_r6EqS3xYiECBDts0FPTiDA_21_4"
          xlink:type="locator"/>
        <link:footnote id="_02bd4506_a668_4b9f_a0ea_8339a06a7e61" xlink:label="_02bd4506_a668_4b9f_a0ea_8339a06a7e61" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The Company completed capital raising RMB</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.78</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> billion (approximately </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$261,332</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">) for CSI Solar Co., Ltd., to qualify it for the planned carve-out IPO in China and bring in leading institutional investors and strategic partners. Refer to Note 1 to the consolidated financial statements for further information.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_r6EqS3xYiECBDts0FPTiDA_21_4"
          xlink:to="_02bd4506_a668_4b9f_a0ea_8339a06a7e61"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_mf3SzhscDkyPGY82HMvsvg_21_8"
          xlink:label="Tc_mf3SzhscDkyPGY82HMvsvg_21_8"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_mf3SzhscDkyPGY82HMvsvg_21_8"
          xlink:to="_02bd4506_a668_4b9f_a0ea_8339a06a7e61"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_b_QYXm8AM0C2mKZcGDcG9Q_21_6"
          xlink:label="Tc_b_QYXm8AM0C2mKZcGDcG9Q_21_6"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_b_QYXm8AM0C2mKZcGDcG9Q_21_6"
          xlink:to="_02bd4506_a668_4b9f_a0ea_8339a06a7e61"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>141
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
MY<N^U;;>!Y[(/%5FP(YZ.9[#!-1+/A:Z9]<J"<F 2<(9$C#K6X/VU3 T\67
M3P)+N=9&QLF4\U?3N4OZEF. @$*LC +6CP4,@5(CI#%^KS2M>DJ3N-Y^5_]>
M>M=>IEC"D--?)%%IWPHME, ,%U0]\>4MK/SX1B_F5):_:%G%!I<6B@NI>+9*
MU@098=43OZW682VAW=F3X*X2W&,3O%6"5QJMR$I;(ZQPU!-\B82)UFJF4:Y-
MF:W=$&;^Q8D2^BW1>2H:/CY,'N_O1H/GFQ&Z'MP/'H8W:')[<_,\0:=C+("I
M%!2),3U#Y^AE,D*G)V?H!!&&GE->2,P2V;.5)C%Z=KR:];J:U=TSZPCB"^2U
M6\AUW'9#^O#X=&<SW=;^ZT5PZT5P2SWOWQ>AR5LEUFD6,\?N2N8XAKZESY4$
ML0 K^OJE'3C?FIS^)[$-WU[MVSND'@WBF!=,27T<8R +/*6 E, )M!"F^GQC
M%D/3 E2J0:EJKHE%U.FVW:!G+]:=-40Y[J571VT@=VKDSF'D9&&H)%)<WSQY
M3@D(J7=F7 BS5S\ K[3]-20_=-TM[J:@CM^,[=?8_J>P&6?GQZ'[.ZO9]L+
MV6)OC/+WP <U?' 0?LBS3-^X,M7700OE6* %I@6@4WT)))Q2K*WD(*J LR;X
M8 =K&_Q0Q 9TMX;N'@TM6ZLG(E(6D)3DU4@C;G=G!P1ZZ[I!-]RBW@WT+T/7
M\<).,WQ8PX>?@-=%6"I]X1(V_\A!>*R#W< ]#NRU&F/J^P\LYH1)1&&F4YV+
MKM805<VL.HKG9=F9<J6+6-E,]6<&"!.@W\\X5^\=4\GJ#Y?H+U!+ P04
M"  Q,%)5,J_XRA4'  #*'@  &    'AL+W=O<FMS:&5E=',O<VAE970T+GAM
M;*U9;6_;-A#^*X0W#"U0QR*I%RI+#+1QV@58FZ+)ML^*3=O"9-$3Z23]]SM)
MMF23)ZX#_,6VY.=.?.Z.QX?BU8NJ_M9K*0UYW12EOAZMC=E>3B9ZOI:;3%^H
MK2SAGZ6J-IF!RVHUT=M*9HO&:%-,6!#$DTV6EZ/I57/O:S6]4CM3Y*7\6A&]
MVVRRZOL'6:B7ZQ$='6Y\RU=K4]^83*^VV4H^2//']FL%5Y/.RR+?R%+GJB25
M7%Z/WM/+&6\,&L2?N7S11[])3>5)J;_KB[O%]2BH1R0+.3>UBPR^GN6-+(K:
M$XSCG[W34??,VO#X]\'[QX8\D'G*M+Q1Q5_YPJRO1V)$%G*9[0KS3;W\)O>$
MHMK?7!6Z^20O+38!\'RGC=KLC6$$F[QLO[/7?2".#&@\8,#V!LPV" <,^-Z
M_ZA!N#<(F\BT5)HXS#*33:\J]4*J&@W>ZA]-,!MKH)^7==X?3 7_YF!GIC?W
M7Q[N?[^;O7^\G9&'1_CZ?/OE\8'<?R3W7V^_O7^\ P 9DS\>9N3-SV_)SR0O
MR>-:[716+O35Q, 8:D^3^?YY']KGL8'G448^J]*L-;DM%W)QZF "@^\8L .#
M#\SK<2;G%X33=X0%C"(#NOEQ\P QG_VP.4T];'B7#][XXP/^OL!4K^2S+'=2
M7V+A;<U#W+SN$I=ZF\WE]0C:@);5LQQ-?_F)QL&O6&C.Z6QV)F<G80N[L(4^
M[R=APZ+66L>-==T*GZ<12Q(:0\J>CP/BXGB8Q&$:G>)F" XZ;21XASNA$74T
M(F_V;Y0V1"W]%1"=LP+.Z6QV)F<GH8N[T,7>"K!#AT6N]1 =92WD<2*BQ*H"
M%\<2$4>"6E6 X$+! A'C59!T5!(OE4^5TIIL*[7,#48C<1Z;!BFGS&+APF*1
MIC2T2+BPA(HP37 .HN,@O)5\OY559O)R1>0K:!0]4,OBG+5\3F>S,SD["5[:
M!2_U%L #R* Z=+#$DD6N394_[1J5=(@E%LK4R2-/H6@#JRI<&&,A"[E5%2Z,
MBH"S@<JF02\W G]MRQ(*HVBH90L0-#6]K-9^7G)[KR?L I&&=LTC.,:B*+5F
M^ S#A3#)!_HW/9)3U,OO&Q1#5LW7;>Z@%Q5J"S+9^-E19S21" .[+2&P,**Q
MPPV!)4$8#5!C/37FI79OUK(BJIO8>3E7&_F.E!+M4GMOQ\,8PSAB8;-"<) R
M9E<DAJ-!Q(=*LE=<U*M,IH_*0$$JIV&AI#C6+:'YVJ1<7!BGH;";+X:+TIB*
M 5*]'J)^0737)(<L*[4Y4%,E3BETIWH:<'NQNT%PC 4A#VQ*""X2(DD'*/7:
MB/K%45M_;=61-X<LO477%7I6D716;[-S>3L-8Z^3J%\HW95&@M^N(Z'A<Y7-
M&.1/Q.V:0' P'Q*GS!&<H,/+2:^4J%\J=63:LD"YN *'0M]PRAM153R(;2*(
M,Q;PH=KNU1+UZHGIIPRVU6\*T'UO":SS\W56KF2]U5YF>46>LV(G:W&[D%7^
MW*R6>KCO"G?^<1"Y-E\7%@5!8$M<!#9FC TVJ%[B4+_&^:@JF:]J2;,GN^I#
M@-)R%0DL)XR'-B\$%]>JW":&*)R )P'.B_4"A_D%SET)R3'-DG]H58.<F*M"
MJ(@=2@AL+$#46(PP;RD;*$W6*QKF5S1MVSVTV\&R8Z[J&$<TI;:(P7 B2D-[
MIF&X)&7!0,M@O8QA?AFS7QF?Y!(J\) CD[U*W6@V^<\N-]_KJ0<ZK@0]H.N)
MMP-8J561+S(C%_!OG62):P3F"A7*11@[:<5PH:L1,%R2QLF 5F6]\&%^X7/7
M<8=HE!)VF]VRBI>K*U;&'(2J0\S%T538>@[S%D)^AQ+<2Q_FESZW;@8/G?5_
M)M)5,@F+8ILMHI^")'%F)R*+8 ,ST$=9KXJ85RXT;[Z&%[^]\>G@4I$X)! <
M=%=W5B*X.(ZB@<T%ZU4)\ZN2WZ76EW5O.>V:)#/M[C=[*J!2%2E5.88,FDJU
M6^1\+P#P!+JR@X8QLW<@""QR-L0(:!P%?&B]Z!4,\RN8/G\.UYNLS!9Y5I('
M5605@>EZ@;),G)>1:<1"AZ4+@V D@4,4P24T$D,I[C4.\VN<V\-LA.T(T>L,
MNN^X/K/)YRBKUEER/(R+R%8Q"(I=N%6+H<30U.LE#/N/US0U!TUVNFDD!'*X
MA>0U+VI\Q%SA$=.8ACRU)2F"C-(HB40J;((8,N9<#$U,WNL9[M<S:-86>;$S
M]NG-_GPB0/)F9^0&0;$+;M-"44/O:'BO:+A?T7CSYJ/F2I(8-K:,!O9K* S)
M8#<AJ+TL8$A8/9(XM=?!R=$AWT96J^:P5,/H=Z5I3\NZN]V![/OF&-*Z_X%>
MSMICU=Y->\K[.:M6>:E)(9?@,KA(8%A5>W#:7ABU;8X2GY0Q:M/\7,L,=B4U
M /Y?*F4.%_4#NN/KZ;]02P,$%     @ ,3!251B?1W'= P  GPT  !@   !X
M;"]W;W)K<VAE971S+W-H965T-2YX;6RM5VUOVCH4_BM6-EVUTJ6)\PH,D%I"
M-Z05JM)MGTUB2.X2F]D&NG]_[00R2$S427PAL7/.8S_/.1P?#_:4_>0)Q@*\
MY1GA0R,18M,W31XE.$?\CFXPD5]6E.5(R"%;FWS#,(H+ISPS;<ORS1REQ!@-
MBKEG-AK0K<A2@I\9X-L\1^SW \[H?FA XSCQDJX3H2;,T6"#UGB!Q;?-,Y,C
MLT*)TQP3GE("&%X-C7O8#V'A4%A\3_&>G[P#165)Z4\UF,9#PU([PAF.A()
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
M9)#K!+6_9$SN UV@^6SY?P%02P,$%     @ ,3!250QYYLGT#@  CW\  !@
M  !X;"]W;W)K<VAE971S+W-H965T-RYX;6S%G6MOVS@6AO\*D2EF6B 7D=2U
MTP9H8^N&F;3;I+M8#.:#8C.QMK;DD>2DV5^_I.Q:%D515GL&^R7QY? YE/B:
M$OE2TINGO/A2+ABKT-?5,BO?GBRJ:OWZXJ*<+=@J*<_S-<OX-_=YL4HJ_K9X
MN"C7!4OF=:'5\H(8AGVQ2M+LY/)-_=G'XO)-OJF6:<8^%JC<K%9)\?R>+?.G
MMR?XY-L'G]*'124^N+A\LTX>V VK/J\_%OS=Q9XR3U<L*],\0P6[?WOR#K^.
M+4,4J"/^F;*G\N U$IMRE^=?Q)MH_O;$$#5B2S:K!"+A_Q[9%5LN!8G7XZ\=
M]&2?4Q0\?/V-[M<;SS?F+BG95;[\5SJO%F]/W!,T9_?)9EE]RI]"MML@2_!F
M^;*L_Z*G7:QQ@F:;LLI7N\*\!JLTV_Y/ONYVQ$$!3'L*D%T!(A<P>PK070$J
M%[!Z"IB[ J94@#@]!:Q= 4LJ8/9MM+TK8$L%J-=3P-D5<*0"%NXIX.X*N/(V
M]&VTMRO@'=L.V/C6<K4D+[9-7NMEDE3)Y9LB?T*%B.<\\:(675V>RR3-Q._C
MIBKXMRDO5UU>?;B^^?!;-'EW.YV@FUO^[_?I]>T-^N"CJ_#==3"]0=$UFO[C
M<W3[;W2&/M],T,L7K] +E&;H=I%ORB2;EV\N*EX5 ;R8[=)>;=.2OK3Y:L5_
M'3>+I&"JXA-]\5O>%92;XAG=5/GLBZ+\5%_^W7R>BI]GLD0?DW1^QC?F*EFG
M5;)4L'P]ZQ.K>#?$YFB:%%F:/93HY;O9;+/:+).*?SIA]^DLK5XIP,% )0\H
M'ZH%*Q#?:[P37(C>Z9&A*)OE*Z;@AGKN]*]-6CVCE[N:E:_0NZHJTKM-Q5"5
M\QV1)?,TX8V3+Y-"9#E7Y(CT.:[S[.PJSZHB7_*O'CBE8KRE*P4I'FCJO-,J
M%USC>Z&3O=!)S3%[..^399+-&$HJWB2S<T3Q*2(&=E7:W9+LFB0.,(^7CD$\
MBM]</!YJ5)M0'-A>E^MDQMZ>\$8K6?'(3BY__@G;QJ\JP79S8L-VK'9*OQME
M$[X5=CLLZ(:=86Q@TVO'A8JDA%BF0]MQ43>.QSBD'16K: YQS68C6BU']RU'
MCVJYE_Q76M8=QJNC6G%+M0ZJ8WG8-6QB2NVH33^V'2%A/B0L@(2%D+ ($A8#
MP5I2-?=2-6LZ[9$J[RS%D8F)SG7[ZI4X4-9'J46^G+.B_ 5M^U^58DW _3"!
MA$TA83XD+("$A9"P"!(6 \%:JK;VJK:T'? U'Z9M3S;0RV5>EJISF2LM8JQV
M(6%32)AO=0XJV,&6*QVG \B<X7$YHV[8F6500SI(*V"V;5D]QVA[+Q%;*Q$^
M5N4CT8R/68J"9;-G5!5)5O)SUWH,//\/'\KP0;7J].]*"QXK'$C8%!+F0\("
MN].(-G7ED[MC@J)NT)EM.+)HNE$4>VK%.'O%.%K%O)OQPV!9C\)0?H\R/F"8
M'0P8TMV X9<2Y4\9/VXNTK5*/=HD8]4#"9LZW3UK8L>53N@A4P:0L/"H^D>*
M*,_SI*A8$84YS%9+R-U+R-5*Z!-;;XK90IQO<07-ME,*9=^4PGL][ _\ITI?
MVD)C]>6JAF6'XZ.M<B!S^I"P !(6N@I1=/=&!)DS'LS9$J*W%Z+WO4(\'+6J
M1*D']XC24W7:GB5/ TRZ<=LPPY Z^*FV&F,E!PD+(&$A)"R"A,5 L)9\L=%,
M AM:G=7SL&?"9Y@+^:Y95M:G;LJ)72UJ;)<(2ION:*VS6\-VI8DJ'S1I $H+
MC]N$"#1I/)BTK:L#<P%K=37]RHI9NNT6ZTX0Y6NAJQ(EV1Q]NOFLM@YPYSCI
MRC.A$WWFT<*!I/F@M "4%NYHEF[G1J IXX&4;6TU\_E8/Z$_K*V!8^_5+D&K
M7H9A.?)A5%^1T5*#I/F@M "4%H+2(E!:#$5KB[>Q-+#>T_A8Y#/&YB6Z+_)5
M[^!7W3M"SI9/0&E34)H/2@M :2$H+<(*K\JVY%F8H:BV%AO/ FLGCR_])"W0
M8[+<,,3',-D#[T@S-&=%^IB(M2MJ$8):%:"T*2C-!Z4%.UI[DM8U'6GJ[KBP
M"+1N\6#2MKX:]P#K[8,>Y]U3ZLI26._4-3J'9%"' "MGV!U/'C9TPQR/VH:T
M+B!0Q)UAP[.-3C,K\E*/8FK*#=T-I-B3C>Q8Q3.)95AN3QLVT_M8/[]_A >O
M;L_NS+'E40?;KFS"ZRLPND5!Y^Y!:0$H+02E1:"T&(K6%FWC,&"]Q;!?)58*
M__T4W8WIB$"-A1UM<.87-*L/2@M :2$H+0*EQ5"TMFP;5P/KG8@^V8[N>T&]
M"]R=.N^;3 9-[(/2 E!:"$J+0&DQ%*VMXL82P=LIZ[]I*12&G%V?@-*FH#0?
ME!: TD)06@1*BZ%H[=7$C65"]);)48NB](RQ*@:E34%I/E$X"*;-QV[RRF10
ML^3(K)$BSC*EH%@)<XC9LTJ!-"X(T;L@/[ X2D\>+2!0SP24YH/2 M*U'!SS
M<,W23C]'A46*,.S:GJP?!<S&;L_8FS1&!]$;'4 KI?191DL)]N*'KA-SYII8
MFB/P09,&H+3PN$V(0)/&@TG;DFOL":*W)T:NK!J@_4&4JUCTI48+DG:'V)9G
M2YW\%#2I#TH+0&DAZ;H%BAT2@2:-!Y.V!=EX%$3O4?S "JL!<I\X%9/AU,54
M7D\]402JXJ;Z:HP6'J@K 4H+06D1*"V&HK5EW%@A1&^%C%EGI4>-[AY!#1.B
M,!H(E0U+'S1I $H+C]N$"#1I/)BTK:O&GB%Z>^96#"CN62$Z1[:]O/?;::&8
M="DW=V4Z3Y,BY=UEE7=.(>O><S<IHY0BZ#4:H+0I45S!8'K4PK(603T<4%IX
MY#9$BCCB4,^0?4!5'#$MJ^\PW#@J1.^H?-]Z/M)U/[!!Y05]^M2C90'JI(#2
M E!:2+H75W3W;@2:,Q[*V997XWP0O?/QXTOZ2->E<*G1N0INHJ_(:+&!&AZ@
MM "4%H+2(E!:#$5KB[<Q/,C012!56C QD2?D6[5,O,$QRL!E(%0]1@'U2(CB
MJA+/,UQ3X?"!9O9!:0$H+02E1:"T&(K6OBM'XX!0O0.B$[Q*Y .X'I'O2K5.
M'AS7D*XPG!P7-M778:QP06D!*"T$I46@M!B*UA9NX\=0O1\S86<%F^4/V7Y.
M?6"UJYXWMJ,%I4U!:3XH+: *W\1PY&6+X7%A$6C=XL&D;7$U;@W5NS4_L+)?
M3QXM,U"'!I3F@]("4%H(2HMHUZ'!)B:R]SP8UE;CP:VS]-;+]ZSMUR-'RQ#V
M[EJPM]>"O;^6POLP,;;DWNZHL BT;O%@TK:^&E^&ZMT3]=I^8BAU979.T6S7
M,2B53^4@9_RG5&'D$)=0Z8H"7Q'GF0:5Y]8"-<^6+Q8(%7'8<@R3R%?R*@(I
MX?7K=!'=W8==CSAN7R,VK@0][@*-_@6F/0W:G<VV/)<8M+.X7U^!T4T*>D<G
M4%H 2@M!:1$H+3ZF]=N";.P,NIV@_IO6CE)0NP*4-@6E^:"T )06@M(B4%H,
M16OKN[%1J-Y&.6KMJ)XQ6L6@[@HHS:==-\&SB.G*1UY0V^2XI)$B#)LVD6]P
M1546E^?VW>&*-I8(U5LB/[!V5$\>+2!0QP24YH/2 JJX213!GMV9MC@N+E+%
MF93*=T]6XFSB]4FH,2:HWCT 6C^JSS):3J!79(#2?%!: $H+06D157@^V'#D
M!=#Q<%S[=LF-AV#"W7A*CQHK0%#:U.Q>.^!VW <?-&< 2@N/VH((-&<\E+,M
MJF9^W_S1NTX-+2,PNY/#EDUHY\Y ^HJ,%A'H5#XH+0"EA:"T")060]':XFW\
M U/O'T1EN:EG8[AX\V*>9HGP5&NIGJ*,U5YK^BUFEJNMA/<#2?XPE5ZKJ7B"
M@^E:6%X]HZ>/ECVHM0!*"T!IH:F:Y>_NWP@T:SR<M2W5QEPP]>;">*D.K8,9
M2-@GV^[D-K6IYV%YD8 >/UJWH%X$*"T I86@M B4%D/1VK^!@P=^Z V0'[![
M]>31Y[.@K@DHS0>E!:"T$)06F0K7QS#DZY'CP;"V&ALGQ]0[.9.T7.=ELJS/
M? \6_2OE!WI]"2AM"DKS06D!*"T$I45FUY.Q+5>>K!R*:HNO<6W,@6> ?,=:
M SURM A!K1I0F@]*"TS5?=6D^<DC8B+06L7ZC&U9-6:)J3=+>I888*6<NM/P
M+K4ZMWJ8Z%..%HKJ[EZ>*9L$OB).7#5A6=)4<* "BKOXR3/0*J!K8,.5+_)5
M!%)B4<N2>X9N','$-FE?Y]#X&*;>QSABC8&Z116WG3(-0FSY2203?05&MRFH
M00%*"T!I(2@M J7%Q[1^6Y#"%6D_Y*R9B[8&%J#C/Y'/3]SS)W'J7BW8;O*P
M:*X]7W,1HV13+?(B_2^;H[OG.NY]GA1S-$D+-JORHA3'/2YLMKIC!?*V-V@[
MK0/% UR3[/D .4>VX9U:V$;YIBJK))OO+\@LT5-:+5 E'H"Z&S[ST[H7&)^Z
MIB760^QSB 3GZ+:50*S-GZ-DN52!#_//-X7X1BSR.?]_;+^'3TUBUE.SQ/5.
M/>/X74%.^4ES7?(%/?5L*G9*G&0;,0\AMJ?^ZO>$9ZK?GO*\Y9K53^1>/L/L
ML$.&,#"63#RN=[9]F# JDK04L9]^?X_PN>.BNY0/#/GN>9FLUT7^-5TE%:\*
MWQ(;GU)*T"MTGQ?HZB;:/7WW*C\_1;]5<_ZWRM%?FV29WC^CM*K#Q!X5+9+5
M&?E/Z8S7'$4?/XC]<+5(LZ3> 7?%=BB*EBR9;U^655IM=@] 3C-^;E8WFP@N
MJX)7Z2&=H7525,(./$>?F+BTF.>_SBN&L'@E4O.!;IDOTWG]@.)[GBV;I9S'
M=UU57Q52UI6\WQ3ULXO3;/LP=YY4$.M?OXA9MP;0/__D$F+\FE1GO-#9*BF^
ML*K^#/_*6YQ70]2?-ST]M2G7"G:_-5#GKA!\>\4Q93\1);Y-RW)O ^QI[*MP
MG;:(%XB+T3/0N6INX.+@*=LK5CS43W4O.7B35=NGV>X_W3\Y_GW]@'7Y<]-[
M'9F>ZAO+>!UM'S9_T:38/JJ>Z_B!MQQOQ7N>SCAW>*]8;)_^OGU3Y>OZ.=]W
M>57EJ_KE@K<X*T0 __X^Y\VW>R,2B ?7UYMT^3]02P,$%     @ ,3!254>N
M4X%T @  :04  !@   !X;"]W;W)K<VAE971S+W-H965T."YX;6R5E&U/VS 0
MQ[^*E:$))"!I^L!3&@G:,BJMI2-ETUZZR:6Q<.+,=EJ0]N%W=D)4H<+$F_CQ
M_O>[B^^"K9!/*@/0Y#GGA1HZF=;EI>NJ.(.<JE-10H$GJ9 YU;B4:U>5$FAB
MC7+N^IXW<'/*"B<,[-Y"AH&H-&<%+"1159Y3^7(#7&R'3L=YW7A@ZTR;#3<,
M2KJ&"/1CN9"X<EN5A.50*"8*(B$=.M>=RYN^N6\O_&2P53MS8B)9"?%D%M-D
MZ'@&"#C$VBA0'#8P LZ-$&+\:32=UJ4QW)V_JM_:V#&6%54P$OP72W0V=,X=
MDD!**ZX?Q/8.FG@L8"RXLE^R;>YZ#HDKI47>&"-!SHIZI,]-'G8,_/-W#/S&
MP+?<M2-+.:::AH$46R+-;50S$QNJM48X5IB?$FF)IPSM=#BZGT?WWZ?CZ^5D
M3*(E#K/)?!F1^ULRNKN>?YM$9#HGDQ^/T^5O<KB@$@J=@68QY4?D@+""+#-1
M*5HDZIA\_=(9]*_,YHQQCDE7@:L1TKARXP;HI@;RWP&:T1?BGQT3W_,[Y#$:
MD\.#(Z(R=/Q&S,5(VW#]-ES?JO?>49]7^0HD$6DCB>^JK&2<X7]-]K'6:GVK
M9M[W)NP.NA<7G?/ W>S!Z+88W0\Q1B+/\4E&>\*J_7YH;@KU4I4TAJ&#E:A
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
MF(,OYH>OK[72:_;YCI7MK%JU2Z47"9NZ-DOY87<9@*DXDB"N,D52J9LQ&$^
ME#$:#T>7F6,OYF>O+]:QTBP8CCL'(D$AB_J]:0J4$T(2 B*I2$IYR#Q5Z5B)
M^>-+NREOG3T,#28,A)-(2,%8 I03W>5BT#R!U.P<R.$M)[:W^^BGE.ME5;<3
M#<BK;@_ ZUP?)_00D<1@=D-2&G(.1A0DC:/8U_L<I; CE+(WA]L!\Z;)YWDV
M--TQA!,2S'5(F$@P9:1(&<ED&%"8 Q3F!Y2NLVWK"_N#@D&"HC@#DH8L!BLW
MH.343MQ#'CD:87X:V4UNEK>Z[(>!Z8TA,F%) D)B0*HI&)!G"I2)(,33SQR4
M,#^4?'D2.]E;6$'W $"0* [10(*D"0Q-0RF-/),W<V#"_&#2M<9C;O7I@9.8
MH?8(8CTR20@(T0+IA(1Q-,R2S"$)\R.)V3#=:(Z\S^HZ*]N'8%8U ]-9GR$2
M#J:H*1#J^B(<M4<0/A)T.$C"'9;PYV%)87!DH]MC;?*CH&.\CPM$<#!- R$'
M&RDIT.E!:3CNS!U^<#]^_%Q5\WN] H5NC!K?&=5:RL'V61@.#SO<,0OW,\O'
M;7]\L&'IC1Y<Z];$ ,VZ:%TU-D:&:QW@B:0QF N14@#B29&02P_%<$<QW$\Q
MJ5HHS9MVO8=''@X"+$*B"6Z*I)3 Z!V2$LH]R4!\+['I>&:39N>V4';#[W 7
M#+K81PVF%P#(0Z!D(=JN!4JSW".>WNKXA?OYQ>[]S:K2S(JJG#T$F1ELLP([
MAX(@80(J90JDA*"U+!!R0H<G0^Y AOM!YO/I.5K0:0 Y/(PI6@ BK:ZF"(1J
M4J#57A,R/&-R!SI<>B/*5W9;[QGY9WRD7*"M^V-:2\>R=EB&CJ6XGZ6N=IOZ
MS?',% [PQS00U$80*>D1& 0)D%2*V,,>CJFXGZF^J793ET\2<"SQ'W$41&D$
M6IWY[W]R6^C?EOD&P,A!6'0,PJJ94O/M<N=',Y,BP&>< 5"> J4>]AF(7R*;
MPA._C!RB17Y$^[JI9TNS #J6CV2_Y66;E;<V0W$XD!2!F(]>D4H*EA5(RQB7
M &Q2I*4F8=-3]P[,(C^8#=?]R5E:$8@YQ4\2DK?>C[J_-I:UPQ)TS!?YF6^_
M)3TSJS$"N"91\!@)"4I)\#_CCY:!8\3(SXC#K>BY)=+G.[T>3\#JSO\D)[<=
M<-]P. (=[>70^Z%R1UY;V-H.I<=9*P* R6D2H;0.I&4D$0*L=I&6)IK*/*.(
MX\Q(>&'K0UYFY>PYR?Y>7CTYVW],:^E8U@[+T %KY(_,'?:AQL7#;ZI:&S/9
M:[!$0;Z5Y'";>HJT0D@)PGDITE+3"CVSKP/+R ^6W]0Z>WA<3C[?582-L4QB
ME H,Q9$P!QB LTBL04/2X:5(Y$ S.KJ?N%>S157>/LO;/N]%)M<2['( *0VE
M8&@8 %99F!RF4!V>6'$<*?P<>3G3>-#L\IWL]IM>5M=549BAX3'_"9Y>@6GM
MDJ#C*]Z'.+73PQMS(H=7W\(QICC"F ?U/E0<L/(%C,2AL#M04D$8JGMDE/!X
M> ](.(P4?HQT'=J<##O)4Q2VB\!^\=3_""=7_/^#&H6C1N&G1L,'ZX/VD3?-
MQB;NVB-1JY7N1(W)S,:E!C8K>;?5T"NV4<]8CF7ML-@<:(I30+-=YG67!_40
M+'8(<F3OQW^'4Q%$] %2<#!LI4!H4T &^YY#3>%'S2?@8#)I)W9S[R:;_178
M#:-;-;1H$R#V&(D$#31]99*@C70D#/EPQ$;LG8D\<B@R;]HZO]G8W0(STICM
M _68Y&_XNL*[M'Z[)]?YJ-@I4,#4QG6&RLLAI? CY0%F=1U$;?=]JYLBOQT^
M3(IRT5B($JVAE!*4@X"DG(K(,P$YHA1'#@<<&4^?<<34?X>3&TD?*2FE,069
M#&/=^+#H')Z*(WC:M9'&;LW5:KT7SWA>N8T9YIR.:BT5:).;VE#+4)N3CG?E
M*7%3D]0SJ_/U(_ZJU;JH'I0*]*BDQ^'JOE1UL\S7-IP&CSB/";93"8*L@G&
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
MH4007>:03#5PA=;;+Y?3T2F.UL;0TI&LD)COX)P GA6ODND_AI/)Y->6CF@
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
MH?;/ES@ 5%UOD+W-/1BRGF5#2G>!Q%GI518$"YFJ\()BW "][A%04X(\YT$
MWR";*MKD*%Q@'Y9@]#36^_3A*#77B+-SDK@)LF 0#PZ9/5\2:I&)070*@+A\
M'J"S-8NBMEM91S8<T0#H,W!S;XS?T&,E_H&:!P8/(AN-.! I^#K]?N1I&)9$
M7%48EACJ, $>NO9>Y$8$_^+(8"11//$<_=:B!8_R /Y?V2W_0QOCPRPP_] D
M\(K]".Q0=8"-FEX&LF>;AAT"<&L<^M!;-&V#<=-O.FO!*Z.8*.QNC?O"09.2
M79*+XM,(,:"BV)+S0;.IZ;LTS=<,3+2'S*UQ-4G/U0'C48TC!MF#^58.9//B
M"PX4&$E8E"A@UZ'ICL@B6;L L@!]>8Y2A6Q*,#/-GB;#I2,\Q;+M.O+I@0R^
M[) P&07!I)X9%8V<O<K"@U.TW7B&A7@5O&&$ J!)2T2[W+/$P#<(.) F6SM"
M3X(*?4&P]0>B0/8,K(@9330T(/AJ .WXK^F&!S'#O$\PJVX/80$R+T58_DN"
MIJS>2-,Z#N.1-479!-M=9#&H =6G(<X2AG?-#GU6EBCLF_/@87(2P$N#.[D'
M[FP[ V(2S( ABI<?/]X4&/=V*,N8R.N:]N<63: Y$R4XN]%L!B" CLC*ZC<8
MLHS"C>%;A)'05EO:;\.$<H_:>V)YX1@=Z8(H3^>WZZ+X(/&T@,_HO.N,85UL
M+OH!'1G9V44,@W@-2 2;1Z@6[<Q@2J*[!BH0Q_;96D2NEC70"AB:8N8'NI+X
M*45QIBM"8Z\"T?E.0!97@57C+3FF^P1FC&D@N\5 /"K2$G4 ",@.1F>U <RN
MKHMH/EP?/4I*RX$([-N&=,;J#/VP@P;>.PY-7%]>7^;>;A* )BF0C5&UP[)'
M.RFL>;F71"  #:(8G4FEBF@8!&P'GU20[&<\=PU(T80(4=,VB4 [B.W%O!F:
M6!2)V7I1O&_"Q CP(]::X\G4/I*7U2E" ' %6&G1"";RQ/#MFO "?DWE<XFQ
M!&?6H@U(,@@! 45<HC)#^:UA .!+S,GBWBOR%D@42\X5H#G9WA+U<(RDQX2"
MO"5&=(74!(88^9X4HLTL=&!9-NK*MD;72:/#J&D0P3G^/JI9SJ;50W1R9SL5
M!*ST0U"!_ ?<!2!DCO$$WU+D1^:IY1DAL8?))7R[ZB5@9RJQ,>&)MY^_ )5?
M/3^_>EJ(2?Y3(,SWT6(EA7[]\H:YY&?FDM-?VQW@_NGU\S,QXF&W8".)9&#\
M_S'-@-S,.53AI'F#&/D[1I$:R\3<'//"<C(!U@;4.[^QR#\=.<@A@I8SM_H>
M-S_>_!R<#S"7VF&]H3GQ*4\<Q2JJ;2B(U:&1)4.QF['@0,[D>S;.'.HJHC.<
M6%P6LMB72/P4585E(Q@8KQ,GAJ8S2F44I>8T#RP?0VB,".-9T6$Z!DF7(ND<
MTL#\Q2V'"2.&P1("(11"PWM+R85@H#RT-91;8="(@HA;D=8&_Y(6RV%5X&=4
MW!2B:BI@1([]A@7G?+T&7(M/Q8J+,!A<*M;[]-&FHH+$S 9 +7Z\ITS1G\UV
M][(0TGP?7K]I._B9R!_APJ^N+R__RO@3!2$"]Z#41!Y#GNS8,JD&& 1? ,KB
M6!,Z/::B%=(NYVL4N>*GE'QXQL%+6GEK.H=YGBCD<)]["NLD7EA;MVM,8:8S
M4-Y!A$D@80Z ?@5QNFG9>5,:P^"!.KEALJ#I.]BHKE+W@>0X;P4O 2<K4;:R
M'3S>18",R1*D)ZLPL!G<E@B>U%*J-1AH-! 3M"AHW@9B0#<+J#0$F$,JC0 !
M*W.GO[$;H^Y 6%Q 5;Y?&U,E4O@A()P4#[@DWA?5J0JA&.G^T],7S^F!/UTM
MG@$A&OKV!YADNX07I-3DDA[!FA.T-A'B).&'<J'#;]%D(,NI$NL&@ F$*-"
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
ME/=Q$-2Z2;\[M+A0-X8#F6EY3#B1DNUX5M7(*FO6[$'-,2JP[">B#ZO-7;T
M*^C9XO(Y/PM?$,M$<M0\8MMHWRMEH'$UWNGO(, ?:!B21:^X3DW[R4D=1SP;
M.:W^F!V2.:11KFR[T0)""$_3JN,"J-31F@Y/ GS<@8<K,7QZLBGE8(4D*ZR4
MF*,Z/]3X)QXJ)V\A213Q(<9D4&3#!;%C#F%!Z4(.[/EPW([/K3(''VUCA-:P
MUT-^L8%5EH*.Y9NTGAH)@E**X-8A^<4@4O(D^MY'YF=LS#1JH>U\$)GCH.H6
M.[%2HR/I\X(2?2 1DQ6?AH V*3\L!43'E^,660\7QBWGNK!'85(@$/J3)<_$
M[D>3>J5)M5DZM C[4$#X-IP@]?E)Z+2<+!V 3QBID9XM+TAI#/^*ZU*:G>':
M;E&E\< 2EJ[3,QA XC&<CR\LL3LFA;]!,HHI$-*M?MBF<40:,-N+A# RF3QG
M,F79S7RCJ< E]GF8<DB>"C^4,ITS!&TU)_56<T1*1_) IKYX_ARDYQ7\\=TS
M/I[W?''YXEGFECY>0(^$:7>6')704%]L_!M(/T0!_3@HBO6S257'R(R-!2R=
ME!IFJ:!P^(57/$T9JD)+VU2NI;HW^#NFVBLV7)>E"*G"6TXW"$'3\9SYYA]'
M5IGW"N2NBFD\E1I)$(A)))GBEA) CTEK;HI32NQ;*U"2N:8'RRYF-BG&. YG
MEQ8'*MS9I-/JNN/AQ=6D*):6H2<'N-_EBCE+<[LS:2S&M#NRC%'AVC:G*W4#
M0AL[DN#D%.RFY91>#Y]PFY4CW57P:>JK<H@-2FNXI5II\RI4\<)#R3+E!XGB
MFE9#E]3CA&.D67XA.=9 HHY:?&.)]7R>^]2'NJ+Y=F4WPD>_ 0-YT&3!@YH4
M>085,M-FC4*N[-8G9] I L%^>9)^$884PMBV(/^.1:%#)^<$@=@N;[MU5$*%
M-'YTA7,-V50"1JH-(B<=6TCS>.\V5+]&E7DXD_O@P1P,JSR[NCS'[A$$?_$I
M@O\AZ?T9X \O)%&2\%T1NE*&[M]YSZ&IOC&QDYZ8^ 7@2+UG$:-I9W67I SY
MS#:66;<-&6%9:[@X#Y[@6UJ*54HG*\U3C1K3S4.3]%1-M[>4P[^I,%CNM5 \
M'*N;5]PJC2:6J@0KO-FJVWXA)12@2!B2""/7Q %,K%JD=P*;%D(,8HW=A5-
MXW.H!Z7I0S(TTSZ!,7GW8JIIEITDZJZ'G!\\J_\'6GCU9UR8XHL?Y_,A:&6D
MYA/U;[&AM1=NW6<0E!7URONR(^:*[/ EL//?VPON]7)YO= II87+BV?79]Q&
M?<MB,64G^#$3";B)(J^P#>):TY3, ?D1/VY"Q:-<ZJP+H'7JK^10IM-Y"K9#
MB?+S]C0T?;Y^6X>2<CT3 01ON%-14K3#>S9"I3*N,&+J*X3 >-YFDJU'1A<9
M)K1")\4D)-<$XMA#>>[X8%95E'.QC"XE \2+U&G@*!GHVG-@3=(&.2E 2/O<
MTFSD9FB'%/6D&A0="0HS!I(V^VCU6WB=''+P#4.;_W@6->Y#2B 7Q:<TFJX4
M]NE#I-#$R3S2RO,1YT9#8G\"4-"PL%D"^$3WCAM;/&0#]MP5?!];OO)7Z6'#
M;X/_@CDE>XMH3SH+5H,='\[3W3W0_2(_D3<#U:C:3WF,3 HTI]#C0-%=:=1+
MNFLE1)V>%<>U\[=HN0&031^30_;>^;@IHZF#ITTU3FC61R+BBT1DMIY*3H3S
M1)Y-EQHI('3:M\IP#Y\$CH8L/"O2Z)S2R*&QS2R?&>6R?GYE].+LZ5!>7.8
MASZ&&J#EAKW:N+'1IC646U<>*XXR61&-SB"*@$$_?(E>7YKE##<G<#R7Q7J=
M."5J*J;B=S*#L^-Q\PL?J#6X9*BT%8T!@YL209KKJ/G,6@+J_$1<7%.7F@?5
M8VH\>19.&$VI#;(P17=1_$,;1$\ 0W=5S(@ 70!K#L$!GA"H'IT R(W*Z%ND
M3>X9T^T8E.C*?AB)O!13&(M2T8@4*6M*6O]P4R;57UDA'-=E2J$!B0_BS[UV
M19&V%H9Z)&DM&)5\$ DA9Z#"QX-/AXI&1N+::[5_/&6"T0AJBY6W+LO[BS9L
MX_))S=C#E6'(6,LU?-,<.8VA7:M&555^C?C;Y<T19^DJIQ8\CKT-]#9Q%<<*
M*&HO.2C:<F2$_$9MLVU399[WY4W-6[36$-#ML$VX,VU>H:?XQ4G9!\^44U'V
M'H\%>_(@\03\B+SB62$\-HDU3"DTN8/W<-WW2'Z0SFM7N=P.Z G1#F*EM)8A
MZ9$HGEC:1T24'Q_=GW,1A/CB\1\.HE&O+'$(PE4<O.-KL-- 0EONKY ^10V6
MT:;'^#"L(BAWO@>)B96Y+2TX7Q57U^/NS;J]W]1 XZ>)VEMHQC7B*PN7YZG+
M]E'5\3.NV$1'B,&259$=VKG$B@I[24)V:QJS%L]ZA1WF-E1M+"::]+%X9$O,
M+&*F$R?=+,9HBX%Y)(7;><6P&.'/-=,YO@W$2:8MD>BC?/?O0(8]8CU<V1/:
M)!S*?4_2<_-=$48NF"3<6;3CL24\N#43I!\#N-0TC_.L\Y.8U3C;,,G\Q'-A
MLTT% O7FV?3I6C@HS&?ZPRG0/- 58S/3G"MMK!^E+3C5$/,Z\:>0='WDEI\.
M9\6-WN-0(D7_G)@U*RV8+;-',C.).BS2M6@A#85'WGJQ(? 82D,W(E Y=V/J
MWF5^BV^'KAP?M>6,'H>?NW;)'2OI[&EBX,0L;1H!ZV.!AP2Z$F43<*Y]"$*'
MXR!%1^O=JU40X) 3',FH.WC%\9T<708R/IK#(_01X* -9\&:ES?,7Z[1MVM.
M':LT3T-\;/C0M0ZK )/48JSBE1E*D_&.)*1BOM$&$?,SM2F8'D>0X_4H-R7J
M.D,80457>6'X'Z[TNL7<%KFCO;F'J7Y0V]"EWXY,7#)?0TI3+[-!:DLO.\(;
M*)9ZN^&AU#=3%ITB'%W'H\<_9TJ0%R2M<'Q&%DJ2<[EH0]K 40=3GY2, XNP
M,PQO<1??M$$DW9!!HLS<RUEO6GYFS(^2!=E5&Y%]M B .L'D/2CYWJN*FXGH
M,8@?IC=V"+ZQ4RT%>\W<?1\I,].!4>H+N^=D+MG;5.&,J]"6F.*Y"TW/7!7"
M6=T@;!7$&S&V)C01>FX?:<E5FSN?1';9"88A2 4/X 5U3LMG=?1$Q\I1::Q3
MRN"5)Z:GJY/;$%2MQ7KF^66GYUS#M:&IL4FAF5T]^*2;#)\DFM["HE53@K(9
M6$<0)A%[O.-%[J[ GA5I.W?MV3%"W%X*H*CZ*@U5/3ROMII1GU _X39NM:]Q
M,*,.W$3#8/&9*642/J;>!VHG2N#+4SJ]^ 91+V=FQZ$CNBPN4=$D1O2.QT=
ME.0\PW>4P)SC$< Z%\7[P>-8:+[LR((U>@T26]_Y@(N9G=.KAB9'X9*UR'$O
M*MOQ_;$!E*D)TI5;]71_8LEZB]9P"'0RV[7//>]!N"D%%S&/M_F"W-RP2(Z6
MSI22'MH/N:-8XH=<!3IF])G[14CV U.=:U/W>+N(-JU>A2YX6R5YE?M8SLJ^
M59)Z#T<N9E/OR9TA.M7&'AI_I!!'/6VXD=-4F$5A0J8(=]DV=,P\'!I143FW
M=@K])#>/&-&O40/'(-8DYWA 7?&1+C!UMP -!T8FD/,M,JR.Q*#'GS,G<"YW
MYZ4+UAC*N8:.NZ'#BX1"[P4!(S8OU-;&IW=GQ:>9:H4Q_0K+:6&#:DN\E<K3
M92<F.P:91#$Q.:K'<;A;+%#.EES4-75=[Y1JQH4RZ6E:J<WRF5'H9Q])O=*L
M<^LB&/-S+_&W<FCRJYM,E0C+N0%H$[(CDCV9[J[AT!Z6%(62A-!)OETBC[.%
MVK7!F(A0Q;N)0[R/Y)+?Z$%QK/?!9#3:CE2V*%=-J'U.]Q=1@.M"=YHO"N%%
M\$S4B6D4#=52,4QLA.M7N-3?[4(G8+R_J\[[9L+.\6@Q?!>AU]"1N*?<$O\<
M[VZ36= (5JCD5CFD+_129J)/.[PV*2(CB0HW4GRL]?+AKHQP/R!NNK72&JPX
M-2;6=XS#7^GU]N"PEOOLSKSH.<P$)ZI823OC*J:JC<Q%N8%@5.N3&)J3KD6A
MS$*[9%$51\W^4+A$+S3F4GKEQ*V\,CHPE](HRU*A,8XK\0"<868/*C;^;IMC
MP3>L!@QW)U"_P7AKLO) \)@3H)+^-^&"!O0?Y9H?O:<IX%;=G8&;3&18IF-S
MY-".+M9Z]:1_\^J)\_"?$O[?M7?P7X+[!].;-Z\ &6M[8_'B)Z*&UR=7)\FW
MV,SN]<G;J^_?7I\\@3?CXV]>[<S:_@+LA+Q>VQ6\>GGQE^]..(ND'_IVAT-B
M#ADP3W]B!WC;X0/P^ZH%2I4/. $V,"'PWOP?4$L#!!0    ( #$P4E5>)#Y(
MO00  (T.   9    >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;-57;6_B.!#^
M*U9VM2I26ASGO04DRG9U*W6O5>E>/[N)@=PF,6<;:/_]C1U(0J%A[^7+JE*Q
MG?'C9YX9C^W!AHL?<L&80B]%7LJAM5!J>=GORV3!"BHO^)*5\&7&14$5=,6\
M+Y>"T=1,*O(^P3CH%S0KK=' C-V+T8"O5)Z5[%X@N2H**EZO6<XW0\NQ=@,/
MV7RA]$!_-%C2.9LR]7UY+Z#7KU'2K&"ES'B)!)L-K;%S>>UI>V/P1\8VLM5&
MVI-GSG_HSM=T:&%-B.4L41J!PL^:35B>:R"@\=<6TZJ7U!/;[1WZ%^,[^/),
M)9OP_"E+U6)H119*V8RN<O7 -[^QK3^^QDMX+LU_M*EL"1@G*ZEXL9T,#(JL
MK'[IRU:'UH0(OS.!;"<0P[M:R+#\3!4=#03?(*&M 4TWC*MF-I#+2AV4J1+P
M-8-Y:C2^O;U[&O\^N4%?[A[0Y.'F\]='='LWG=Y,!WT%"VBS?K(%NZ[ R#M@
M#D'?>*D6$MV4*4OW ?K K*9'=O2N22?B9Y9<(->Q$<'$Z<!S:W==@^?^/^Y6
M8-YQ,+U?+N62)FQHP8:03*R9-?KTP0GP50=5KZ;J=:'_4ZK=8.X%ZL!#XQPV
M)RT3AF";HT2P-%,HYU(RB3*)$EXL1299BO@,T9VM-,8T2?BJ5!)V:,*R-7W.
M&5*"ILQ&-%U7=HK#IE\N\XP)B6@),&K!1&N&O$!W;X?0AL+B99*O()40M*GA
MP4M6*LT#)%_2+$7L!0J4)MH )RLAM!4%!Z!DH?'['$NH>PF'&B-5Y1X @%_:
MQZR<7Z)/'R*"W:M__3M6"'*8%<] 2^?QJ7'(<VR2_0#I8ZO5X=!<0-B0Y\4V
M\1T4Q)'MQ5%G@,\\;)/8[4$CM!T2]$[IY>'(COT(!;YCNR%I?#H6[U]6XN/.
M5/*2.+:Q$R,2QG:$<;>\3FR'&/=,(XA(KTLG#>AJX #;CA/5?-[NCE]5U4,_
MMH*ZD1V&X'>$;=<_(6@$FH.,9R!5'/;>T8:0V([#$!3%D*SN :L3%?%L @=9
M5JY8VD./;661,MO!%'R]1;3LR8*6<P;%RO3>%,A]\H+E5 <,0J]M)U#1:/FJ
M23GAE7R_FIKJ=K2@_O=0'X2^M<S!MQW!AX;@[MMTK\;O1A\-_2I(1R9]A+]K
MFIM80Y&'1-Y++X);N\ E=N@VH72Q';BM7)%P,8*ES@1; PD=N70E3,A Z5=&
M1949N^EG4+TBJ'9U!MN!'S8.;D2F%"O/^0S.O#E<;Z5JA[9&<7'<:V-Z/N0F
MW!CA/EC"X;3-#3:;P3UTSTZ7W*9/H->M0]PPC6W?\QL='#N$J]=D5:P@N>"2
M>[Y=C:9_P@VRT$>ASD23G"E?FNLP+#">?M>XP;FSOST<<G70OQ=\G9F;^$%.
M[ZL*Q2YJJ#EVX(7H":1DH&-+M<!MJ^:#&OBT:H"&F^,F@%3H5 P*TLZV.N(:
M 2/;!Z2?=@K.Q; I;)[G'7/)T<6H<<G]F2SPG&:*$P4G_&E1,"=U.R%P6.?'
ML<MGO_5$*)B8FX>0OME!KE>OA7JT?FN-JR=&8UX]U+Y1,8?=@'(V@ZGX(O0M
M)*K'3]51?&D>',]<P?/%-!?P7F1"&\#W&>=JU]$+U"_0T=]02P,$%     @
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
MP)15P/.5E.9Y81T,?T?F_P%02P,$%     @ ,3!25>T!!F;A @  "@<  !D
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
M_E)A2>542B\#7QW"$*?#GR<&XHGRY\Q-E:=BK! G$@4W3\7$FBFO<C)7PDS
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
M-F&K(MJNRE=CV\81&P?X]:0Q-\7#3SFC-51PX(@?TGBD(][JS)^GKU0 [IC
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
MK-YX&HVZS_T5H65M+R1OI-:RLH\%HSEKS 98GTFI5X11T-]0G_X#4$L#!!0
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
M)2#IC5#FCGQ I0:!/W*-4YXF$?K<UHTT#Z,)S%'_F5>%DDX1T!W[_]HJ!S[
MK^4ML4MG@=(S*)VMA4&#4B:W-98]Z@Y^4 XP:I%P#M6=V]8$9=8"AB97C0;Z
MF@PYJ?4#KU/#FI6)Q)C(+TPKG1_S]V^KU64<+HY_91[&FC>%\L&IK U1?'_:
M?B(VE<HK)J/;@@8?P_ID*P:"[J&^[U]Q-4;7!UF68D.Z9/4\DUG3^F'/5-R
MX*:RX/W&;ECCSK 9&[X;.DRSVKV4(/ %LR?2GAU61G"*$,@0R2#B,*VD$8OY
MS\*6$0.XI8*#$@Q$D/<[3V\X@4YZ9J4KV+Z HSQ8MV7A(^@/1? I>^5%ZSOB
MMBP]\JEL0PM[;;TGWQD]BW0M'R:B;?@"822KVWB;--+[QPI"F\YO<6#0,A&Y
M13VXL#."RL![+AL5I.X<?D?*R!K%%A'1\..-AJ7!J(\TU8VV#S2.MV5TOO:F
M@?*CC\?%'NII5/IZ%G@;N*%-@'F.H\]H"$ 7ZEXLF_\#WCP5D^T.<T_[CVQ#
M99T* V'_6'7XB/W6/,O5GJ*C(&-&D70&;>";+%,F-@A72),C;BI4XKSB;"+N
M>5/Q&>M%H>+)[L[]_]C.;,:L'A7'5L9(VN88LOW:(E@F=D^(XA.P8NP\W,_@
MD!LRIHA1?<5.QAQ:15W8IY&GF84RAG]>S\]J&>?5Q6TW\A#7'Y*,$\=$!)$Q
M=<$^YP3@KLV5$K"O'AHTV/QT-$\GAT=SW@Y'N.RISM (A@M_NNLRG6T]<VIR
MZ_B8\R(V_N[%,\Z.[\55]TQZW-X]-K](MU8(C*82IO/IN[>)<-T#KAL$V\1'
M$R**)UC\K/#F)<<;L%Y:&X8!.QA?T<M_ 5!+ P04    "  Q,%)5CC'UJ0D$
M  !8"0  &0   'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6RE5MMNXS80_96!
M-EUT =66Y"L2VT"2S:(!F@N2=/M,2V.+B$2J)!7'_?K.4+(2;Q*WP+[8(F?F
MS)D;R=E&FT>;(SIX+@MEYT'N7'7<[]LTQU+8GJY0D62E32D<+<VZ;RN#(O-&
M9=%/HFC<+X54P6+F]V[-8J9K5TB%MP9L79;";,^PT)MY$ >[C3NYSAUO]!>S
M2JSQ'MV?U:VA5;]#R62)RDJMP.!J'IS&QV=#UO<*WR5N[*MOX$B66C_RXC*;
M!Q$3P@)3QPB"_I[P'(N"@8C&WRUFT+EDP]??._1O/G:*92DLGNOB+YFY?!Y,
M \AP)>K"W>G-[]C&,V*\5!?6_\*FT8U).:VMTV5K3 Q*J9I_\=SFX97!-/K
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
MJ%7*G+GKPS_'PW_QQ&N9RBF ';WX18VHXPB*M&)$+-$IZR[+97836-2U;'1
M@T"[A&C;($Q BFB7JD!:OH<6KYNQDHZO3\W1<^R+A[=M7I[R].>D7J<IN#T6
M,E4EB@8@<UF#+!(>+1;8%5T$'GLA,A#8LK'\U>>>FV#3TXU#@M(%Y8Y]I1KY
M0X;9U^<N;G#PP G83RV 'Q0Z5!V-6N9RV%"S>OI!&-B7"]<!ED !J4E^5"T
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
MB9:-R;L&8'2Z4%VMKSN<4'4A4+BDT_H9T^I3($[<LX%A.=MBL*EU#$91;J6
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
M^6U_O)N"/Q&Y8N!319>@ZHW2V$&RFRR[A1:-G>860L-L:#_7,(Q3:0[ _E)
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
MCJ-*@4B <C)V9157=:6 3DE<LVQJBN#*&UD6@G09\*%/ZQQ!#5 $&A2R0EX
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
MLR4;.)_0L=QG'E1X\,2_W&/@OP.\D4U."0$>UNL-,*T?[]98LE#S"7<^NO.
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
MLHD/'?N&C-4=-F*6$ST+PU7+]4)!_(,G/QLLH0UJD5.68/F1U4O>X0[\8-R
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
M<]4?:<\J% W [\NV[:<O-,'\&OJK_P502P,$%     @ ,3!250(\HIZT @
MBP8  !D   !X;"]W;W)K<VAE971S+W-H965T,S,N>&ULG57;4MLP$/V5'7-Y
MRL17((7$,P3HM)U)81)HGQ5[$WN0)5=2$OC[KF3'I!0R#"_6;<_9<W19#S=2
M/>H"T<!3Q84>>84Q];GOZZS BNF^K%'0RD*JBAD:JJ6O:X4L=Z"*^U$0G/H5
M*X67#MW<G4J'<F5X*?!.@5Y5%5//8^1R,_)";SLQ+9>%L1-^.JS9$F=H'NH[
M12._8\G+"H4NI0"%BY%W&9Z/$QOO GZ5N-$[?;!.YE(^VL'W?.0%5A!RS(QE
M8-2L\0HYMT0DXT_+Z74I+7"WOV7_ZKR3ESG3>"7Y[S(WQ<@;>)#C@JVXF<K-
M-VS]G%B^3'+MOK!I8L-3#[*5-K)JP:2@*D73LJ=V'W8 @^ =0-0"(J>[2>14
M7C/#TJ&2&U VFMALQUEU:!)7"GLH,Z-HM22<22>7/VZG</4PN[^=W$QG0]\0
MJ5WRLY9@W!!$[Q"$$4RD,(6&&Y%C_B^!3VHZ2=%6TCC:RWB-61_BL =1$(5[
M^.+.8NSXXL];; B2MPGLNSC7-<MPY-'%UZC6Z*7'!^%I<+%'7M+)2_:Q?T3>
M?H(H[L,K$O@IV\N#2M/-S^1*&,R!'C&$P1%04TF%(!=@I&$<!#U_A6L4*]0N
MRA0(S\@(C?98@0X%JSFJ]F#"+^YX F B=^?4A^.#013$%W!/R#:C)LX,RS6;
M<^RY' LE*^)6B#OZ-J4I7$+.U!*UV4'1B^-,9&B9W-Y;TK.C'B1'+C4UUD/1
M!6Z'K0)@YK7TB+X6:EGBAB7^!$O0(TFZ1E=5^'/?^=["6YLO)C_B$4H-A]%9
M+P@3I^HPB7H#>EY,6SG_Y>^V_I60MZZDOU,@2,W2E4$-SEQ3*[K9KM)>-@7F
M);PITQ/27PH-'!<$#?IG)QZHIO0U R-K5V[FTI!UURWH;X'*!M#Z0DJS'=@$
MW?\G_0M02P,$%     @ ,3!25;NJT>RJ P  : @  !D   !X;"]W;W)K<VAE
M971S+W-H965T,S0N>&ULK599;QLW$/XK@ZW=I_5>.J*XD@#+41 #<2K8;HL^
M4KLC+1$NN2&YEO7O.^0>E@%'0-$^2.(Q\_&;6_.#TM]-B6CAI1+2+(+2VOHZ
MCDU>8L5,I&J4=+-3NF*6MGH?FUHC*[Q2)>(L2:9QQ;@,EG-_MM'+N6JLX!(W
M&DQ354P?5RC481&D07_PP/>E=0?Q<EZS/3ZB_:/>:-K% TK!*Y2&*PD:=XO@
M)KU>C9V\%_B3X\&<K,%9LE7JN]O<%8L@<8108&X= J.?9[Q%(1P0T?C180;#
MDT[Q=-VC?_:VDRU;9O!6B;]X8<M%, N@P!UKA'U0AR_8V3-Q>+D2QG_#H97-
M1@'DC;&JZI2)0<5E^\M>.C^<*,R2GRADG4+F>;</>9:?F&7+N58'T$Z:T-S"
MF^JUB1R7+BB/5M,M)SV[7-]OOO[^]WH-J_6W]>>[)]A\O?GV.(\M83N)..]P
M5BU.]A.<-(-[)6UI8"T++-X"Q$1J8);US%;96<1/F$<P2D/(DBP]@S<:+!UY
MO-%_MK3%&;^/XZKDVM0LQT5 96!0/V.P_/67=)K\=H;E>& Y/H?^+UB>Q\G&
M$;R/!>NJ%NJ(:$#MP)8(MZJJF3R"4#FS6 "7_GCS< M,(^3J&34=;X_^6*/E
M&JDN+?@603A4!?2\EW 8 FKMJBU'8+(@A7TCF*M!$\*AY'GI8=$8PN!,B.,
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
M6\'16F@"GJ\5WG&;&]J@^ZAV^1]02P,$%     @ ,3!256^C?%0W#   720
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
MMDQRK<LBZ[:CLR_/D]W]2Z+LFYH%A;QX>%Y\:8QM7OS ]@T:9R2CYXDC@@.
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
M]Z2&A/GE@;F0/-)O^R=<2A[JKS[!'A%J #R?<BZS"[5 _O./RW\!4$L#!!0
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
ML!&5Y$CR$.7U:60!W*'@D!'*"JDKRBU:#)B6LF6$![?)B?7,,P219T#[JLZ
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
ML/++*%D+F06S\<P"B@,;UFK'7SQJCSF(K$E^&O8XHBSGA50J*99;\4N\_P_
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
ML:W]D](T33ZD?V'WJ T4G[5K#LTQG?[Y<V#(633'G[V/'4TSG8F JK$TEIK
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
M'S%O)*_Q ?A]5<'.Y0^< $N5TO)^^#]02P,$%     @ ,3!255#?!<NH!@
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
MVUI*1MN%B6W(("OB[BM/K9BO+*M>9;'WKDN$]Q-\\2M?_%<L$?NL;,?YWPN
MWDZ]Y]X75-O*S[JZUZW1;C(A;18'"TTED YX%5K4)<@+ Z@'05W8=^F)#DI&
M=Z%14*';!F^H[.# "MT >2Z4?9^VS%90S5;P(JXT5DVU60GWS5TKZBLS+*QL
M#M^5+>%/\(7@>E>,WX@OSP#]HH39EU$;LM 0:C[L":@?6@'&[60AL"IC6&!-
MPPM@?_($M"&* ;0-L(<M0H*VB6H<7\A+J"**S6#-T_U3U@KYVMRBM<GT79FR
M5O?&[M0'*=)ZMGD)5=J!?DVJ7/\GHRJ6V('E^Y#, ;9L]QF6!$ DX,8!Y+_9
MRNUB%O2 O5;H^T 3#.N)O6]R>HV#?L;EM+C.4*C(I_+,7[VMKDQ&Y45!/;R\
M;_G,Y!1.'BCE$Q#%1SYLM61YA5%VM)@7UP8/0FN1%<T9AT5/F@'P?2(@>]<=
MHZ"Z2!K^"U!+ P04    "  Q,%)5L'9+L'4"  "/!0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970T,2YX;6R=5&U/VS 0_BNG;$*;%$B<E]) &XGRHO$!AEH&
MG]WDVE@D=F:[E/W[V4Z;=5HITK[$=^=['C]GYVZT%O)%58@:WIJ:J[%7:=V>
M!8$J*FRH.A$M<K.S$+*AVKAR&:A6(BT=J*F#* P'04,9]_*1BSW(?"16NF8<
M'R2H5=-0^6N"M5B//>)M U.VK+0-!/FHI4N<H?[1/DCC!3U+R1KDB@D.$A=C
M[X*<31*;[Q*>&*[5C@VVDKD0+]:Y+<=>: 5AC86V#-0LKWB)=6V)C(R?&TZO
M/]("=^TM^XVKW=0RIPHO1?W,2EV-O:$')2[HJM93L?Z&FWI2RU>(6KDOK+O<
M*/&@6"DMF@W8*&@8[U;ZMKF''< P? <0;0"1T]T=Y%1>44WSD11KD#;;L%G#
ME>K01ASC]E%F6II=9G ZO[U_NKY__#Z]O9[!ET<ZKU%]'07:,-O]H-BP3#J6
MZ!T6$L&=X+I2<,U++/\F"(RD7E>TU36)#C)>87$",?$A"B-R@"_NZXP=7_QQ
MG?O*Z\#)?K!MC#/5T@+'GOGS%<I7]/*C3V00GA^0EO32DD/L^<PT6KFJ$<0"
M&']%KH5DJ/;)/$QT]&D8A?$Y_.]ZH<%<.S9SE.[J/XJ;IPG=^_S#]'G'FM*U
M^6$U2D9K!5GHQ^$02)KZ21S#LVG98\:/6RD*5 H&F4_B" @Y]=,P@QO&F?FW
M2U@*42I(XX&?)@0RDAETU!\RR%(_&Q(@/LDB/SY-]KU*L-,D#<JE&P4*"K'B
MNNN7/MI/FXNNR?ZD=Z/JCLHEXPIJ7!AH>'*:>B"[]N\<+5K7<G.A30,[LS(3
M$Z5-,/L+(?36L0?T,SC_#5!+ P04    "  Q,%)5V )'C)\"  !%!@  &0
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
M*WRVN'8!^'^ME-T[;H'#0SC]#U!+ P04    "  Q,%)5\'/J49H"   Y!@
M&0   'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6R=55%OFS 0_BL6G:I60@5,
M(%F;("5MIDY:URATJ_;HP"5!-3:S36G__6R3D%1-,VTO^.Y\]]UW''<,&RZ>
MY!I H9>2,CERUDI5EYXGLS641%[P"IB^67)1$J55L?)D)8#D-JBD'O;]V"M)
MP9QD:&TSD0QYK6C!8":0K,N2B-<)4-Z,G,#9&N;%:JV,P4N&%5E!"NI'-1-:
M\SJ4O"B!R8(S)& Y<L;!Y:1G_*W#SP(:N2<C4\F"\R>C?,U'CF\( 85,&02B
MCV>X!DH-D*;Q>X/I="E-X+Z\1?]B:]>U+(B$:TX?BURM1\[ 03DL24W5G#>W
ML*DG,G@9I](^4=/ZAGT'9;54O-P$:P9EP=J3O&S>PU[ P/\@ &\"L.7=)K(L
M;X@BR5#P!@GCK=&,8$NUT9I<P4Q34B7T;:'C5)+>?QO/T>S^<3I'Z:_T87J7
MNNC[] &=/9 %!7D^])1.8YR]; ,Y:2'Q!Y !1G><J;5$4Y9#_A; T_PZDGA+
M<H*/(MY =H'"P$78Q\$1O+ K.K1XX3\6?:C6%JEW&,F,S*6L2 8C1\^$!/$,
M3G)Z$L3^U1&>O8YG[QAZDNH1S&L*B"^1Y)0(5/$&]$B]2@6E=!$#=8CS<=33
MDP'VPROTO^=8(=T0*!>:B6G*W^RZ:;[MW#ND3WM2^KX^5#"DMX\@=GZWKL$
MNSC$.SWHNV'X^2! K3] @3+.I!)U]@8F=J,XZK2>&P]Z:)QE=5E3HB#7DZT;
MFA5O<Y^%OAN%T?G.$(1N/_;/#V6W[=G1C 8NCO=H^T8/#WTEWMXXER!6=FE)
M74;-5#O9G;7;B^-V'>S<VZ5Z1\2J8!)16.I0_Z(?.4BTBZI5%*_L<EAPI5>-
M%==ZMX,P#OI^R;G:*B9!][=(_@!02P,$%     @ ,3!25807"U?? @  %@@
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
M2". ^Q,A=#$Q!Y0]\. ?4$L#!!0    ( #$P4E4\AZ_9# ,  $4'   9
M>&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;)55:X_:.A#]*U9:]2&E&^<%80M(
ML.7J(O6Q6NCVLTD&XM:QJ6W*[K_O. F!MI2V7VR/?>;XC#T>#_=*?S$E@"4/
ME9!FY)76;J^#P.0E5,Q<J2U(7%DK73&+IMX$9JN!%;53)8*(TEY0,2Z]\;">
MN]7CH=I9P27<:F)V5<7TXQ2$VH^\T#M,W/%-:=U$,!YNV0868#]N;S5:0<=2
M\ JDX4H2#>N1-PFOIXG#UX![#GMS,B8NDI527YPQ+T8>=8) 0&X= \/N&]R
M$(X(97QM.;UN2^=X.CZP_U?'CK&LF($;)3[QPI8C+_-( 6NV$_9.[?^'-I[4
M\>5*F+HE^Q9+/9+OC%55ZXP**BZ;GCVTY_ W#E'K$-6ZFXUJE6^89>.A5GNB
M'1K9W* .M?9&<5RZ2UE8C:L<_>SX?G(WGTS?SLC\_7)V-ULLR>S]<KZ<SQ;D
MQ9*M!)B7P\#B1@X>Y"WIM"&-?D,:1N2=DK8T9"8+*'XD"%!A)S,ZR)Q&%QG?
M0'Y%XM G$8W""WQQ%W9<\\7_'/:Y:!NNY#R7>S;79LMR&'GX+@SH;^"-GST)
M>_3U!:5)IS2YQ#Y>X#,L=@*(6I.<:?W(Y8:P2NVD-83)@N2"&</7/&<NS4V-
MPUX)7C +!;F?SYXCTAAH'01G*RZXY6!\ @^YV!6.DTL+.E?5ELE'3'3!9 [F
MW&E<UOOL21;1^#7YUWYB"5XR5"O0]47_:?[08T+04R/\!?'T9'3#3-F92>33
M7G(T,Q]+&;G5ZC.6C,.)'5;CN.]G<>^X53;PXS E'VR)RGX"]P=^FAUEI;%/
M!R%9*LO$S] D'?C)"38>4+]'>W]];HM2:?L*KZXB*Z4QN? NC^QA1OU^/S[:
M8>QG:9^\57+S6Z<T\A.:'7UHS\]081/I2?9TB![ULR0]AH#X?M2&>PX?#1*?
M1B=GF?8QYL&YUQ*<E+8*]*8NX 8S'/._J7+=;/='3)K2>(0W'\P[IC<<'XB
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
MWU? :A:UTB,&@^DOA%@0K0!KF&L3K;$N!5.Z![$H(%:06=!#!B24&</0_S/
M>DJ<]HU'_>#FJU#5S-_O&>1GKOH2K/G:7"%>UC=G[?;Z_O&#K&99:<#(*;"2
MW@#^$5?UG5Y-6+WP]V@C;:TN_.M<R8FJW 98GVIM-X13T%RL#O\%4$L#!!0
M   ( #$P4E7 ;L1@CP0  ",-   9    >&PO=V]R:W-H965T<R]S:&5E=#4P
M+GAM;*U7VW+;-A#]%8R29NP95")XIRUIQD[2UC-)X['<9OH(42L)-4DP &39
M_?HN08I2;(IV+R_"A;MG]V O@,9;J>[T&L"0ASPK]&2P-J8\&XUTNH:<ZZ$L
MH< O2ZER;G"I5B-=*N +JY1G(]=QPE'.13&8CNW>M9J.Y<9DHH!K1?0FS[EZ
MO(1,;B<#-MAMW(C5VE0;H^FXY"N8@?FMO%:X&K4H"Y%#H84LB(+E9'#!SBZC
M2MX*_"Y@JP_FI&(RE_*N6EPM)@.G<@@R2$V%P'&XA_>09140NO&MP1RT)BO%
MP_D._2?+';G,N8;W,OLJ%F8]&<0#LH EWV3F1FY_@89/4.&E,M/VEVQKV1"%
MTXTV,F^4T8-<%/7('YIS.%"(G2,*;J/@6K]K0];+#]SPZ5C)+5&5-*)5$TO5
M:J-SHJB",C,*OPK4,]/++S<W7[Y>_?KSC)S<\GD&^G0\,@A<?1ZE#<AE#>(>
M 6$N^2P+L];D8[& Q?< (_2H=<O=N77I]B)^@'1(/$:)Z[BL!\]K:7H6SWN1
M9A>[6M?OUJW*XDR7/(7) /->@[J'P?3=&Q8ZYSV>^:UG?A_Z=(9EMMAD0.02
MTZNX(W.I$$(4*]WE:C_8NS>QZWCGY-^.%X;@R4,^!V5/_Z5]C(YC0_0,Z>W!
M;+:6ROQH0.4'Y$C"7!KX22O'J).XU',3\DD6JZ?B%(M!*2@,*1&LJN?6ASBA
MD1?N<:*8QG'8B4)0KU3R3VP)A&L-1ELUYIZW\"?L= ^5Q#1*_';MN8R&04!F
MF[F1AF<$FR+1G>SVK'P'F46'/ /D&4=.MX>^'^)!."1P/1IZ/KFUAAB-_8BR
M,"$N92RD@>-;3]^#,MAY2=8%M04%),V0J%@*6"#CEF4F^%QDP@C09 XIWV@@
M9HW)?:C/41V592JX0?6M,&N2-@:US+@BO%A@TAHT_$BP52ELX[OSU8C'C<6
MAQ(W$,%(-%:IUF ((PL@C\#5L*>2@K:2@E=7TG)C-JKR112I*/$ %93\$2\3
M8W, J78>65?%]1M];65AD;A8"H'C8-*S:NGMT\JK XJ;^US#]D(=WZLV@V=H
M(8T1#C_MT]ZG4>R1VS7&G"^1UC,=%E _=IM\.B@ZUZ<L"L@GT/JLY]QPEO$F
MB%U'=[Q 3QK2IXWMO?93R;>[K._)AK#-AO#5V<#OP:8F+)=@7P%$%.@ :&2%
MG&Q*]"=!OZW_N^T>:[??M=V#!3O28KTA)L@/.#@>#O^D(;)]0_2&H5>#^,=
M_*$761$?S?7$+FIC%[TZ=FVD,",KCQ9=X>F'^Z_A>3K^@0VK>>H<NQ99\LJ[
M<3^[VA%->2FP3L1?"+^[G9[$B#GV7L*!)1'>>-1CX8L );;N1TK*C&-4J\X-
MWS:BM+7MTA"=98'?RK=@5?,N\%Z(&=[-(8GP)HI\$L24!5Y3T,]"1!+L1KY#
M8I>ZV+TB[#QATI47HX.':PYJ99_G>$O)36'J-VR[V_X#N*@?OGOQ^N_#9ZY6
MHM D@R6J.L,(^[:JG^3UPLC2/H/GTN"CVD[7^"\&5"6 WY=2FMVB,M#^+YK^
M#5!+ P04    "  Q,%)5N0Z7S, "   Y!@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970U,2YX;6RM56UOVC 0_BNG;.JH%#6.D_#20B2@G;8/W2IH5_6C"1<2
M-;$SVY3R[V<GD%*-(DW:%WQGW_/X.5_N&&Z$?%89HH;7LN!JY&1:5Y>>IY(,
M2Z8N1(7<G*1"EDP;5ZX\54EDRQI4%AXEI.N5+.=./*SW[F0\%&M=Y!SO)*AU
M63*YG6 A-B/'=_8;LWR5:;OAQ<.*K7".^J&ZD\;S6I9E7B)7N> @,1TY8_]R
M$MKX.N!7CAMU8(/-9"'$LW6^+T<.L8*PP$1;!F:6%YQB45@B(^/WCM-IK[3
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
M*($$RG9^;!=:;.S,MA :)D#[N8:1FTFS ?XO!71HMS .^B%^^A=02P,$%
M  @ ,3!251%)X4MH @  .04  !D   !X;"]W;W)K<VAE971S+W-H965T-30N
M>&UL?51M;]HP$/XKIW2J-@DU+X1"*40JE'5\@*+"-NVC20YBU2^I[93R[V<G
MD#&I\"6^.]_S^+F<SX.=5*\Z1S3PP9G00R\WINC[ODYSY$3?R *%W=E(Q8FQ
MKMKZNE!(L@K$F1\%P:W/"15>,JAB"Y4,9&D8%;A0H$O.B=J/D,G=T N]8^"%
M;G/C GXR*,@6EVA^%@ME/;]AR2A'H:D4H' S]!["_BAV^57"+XH[?6*#JV0M
MY:MSIMG0"YP@9)@:QT#L\HYC9,P161EO!TZO.=(!3^TC^_>J=EO+FF@<2_:;
M9B8?>CT/,MR0DID7N?N!AWHZCB^53%=?V-6Y[3L/TE(;R0]@JX!34:_DX_ ?
M3@"]X P@.@"B2G=]4*7RD1B2#)3<@7+9ELT95:D5VHJCPC5E:93=I19GDO'S
M;#9=S2;SU1(>YH\P?IZOIO.GR7P\G2SAZXJL&>IO ]_8LQS"3P^\HYHW.L,;
M1C"3PN0:)B+#['\"WXILE$9'I:/H(N,CIC?0#EL0!5%X@:_=5-ZN^.(S? ME
M;[8R^Q84C @#1&2 ;R4M[)4SGQ5\D<X-3U\7),6A9Z=#HWI'+[F^"F^#^PMB
MXT9L?%'LT@YC5C($N8&"[)U$L!,)J>2<&N?JSR1?)KV^ZD5!^Q[.K7^0*-<^
M*K9@_S[R-2K;@3Y\<3V(X+;;BN.>L]L-)KYKQ=V.B\5-K!.T[FS>2AK"FF!H
MT;WNIXWT3ZXS1[6MAE;;6DMAZIO=1)MWX:$>AW_I]:,R(VI+A0:&&PL-;KH=
M#U0]J+5C9%$-QUH:.VJ5F=NW#95+L/L;*<W1<0<TKV7R%U!+ P04    "  Q
M,%)5=CFM4GT)  #4'0  &0   'AL+W=O<FMS:&5E=',O<VAE970U-2YX;6SM
M65USVS86_2L8=2?KS# 6/@DRL3WCN$[J[3C)Q&YW]A&68(D;?J@ %<?]]7M
M201MRVKBM/O4%XFD@(M[+\X]]T \N&G<)S^WMB5?JK+VAZ-YVRY>CL=^,K>5
M\?O-PM;XY;IQE6EQZV9COW#63+M)53GFE*;CRA3UZ.B@>_;!'1TTR[8L:OO!
M$;^L*N-N7]NRN3D<L='FP<=B-F_#@_'1P<+,[(5M?UE\<+@;]U:F165K7S0U
M<?;Z<'3,7K[687PWX-?"WOC!-0F17#7-IW!S-CT<T>"0+>VD#18,OC[;$UN6
MP1#<^&UM<]0O&28.KS?6WW2Q(Y8KX^U)4_Z[F+;SPU$V(E-[;99E^[&Y^<FN
MXU'!WJ0I??=);M9CZ8A,EKYMJO5D>% 5]>K;?%GGX6LF\/4$WOF]6JCS\D?3
MFJ,#U]P0%T;#6KCH0NUFP[FB#IMRT3K\6F!>>W1Q^O;\]-TE.7OWYOW'\^/+
ML_?OR-ZEN2JM?WXP;K%"&#>>K*V]7EGCCUACG)PW=3OWY+2>VNE= V.XUOO'
M-_Z]YCLM_F@G^T2PA'#*V0Y[HH]7=/;$U\>[+<R5$;G=2"B4EWYA)O9PA$KP
MUGVVHZ-G/["4OMKAHNQ=E+NL'UVLZH,TU^2DJ1:FOOVG!_X_VWII/3'UE,Q<
MXSU9N.:Z:+L'13UI*DNN75,1U*LS ?&>S&P=KNUT]8LUDSGQ=H:::K<%O=NM
M9S]DG(I7Y*_Z_H\U;HT;@EVWU95U_<Y_L[73LD"U='GX;L]"AK_7QK(V9=E,
MNLUX;,S)Q1FY:$KCR-NRN3(EDF'=[)84K:T\V6//R673XO']>?_X@ZMWX/8>
M/S(1FB4I%80EC,N$9J(?NL=9EBBFG_=/5,*U3EB: XJ^#9#L#8DDS7*82$DN
M:$+S?&!&L42D632#15.=9$J3MT/HIAE/I-:$Y2+),]D/%QQCXY[G-$\$J.5L
M.\KW>%Q(RX0)'F?"=QT=8WE"-1W<TD1D#['%^3[9RHLGX+8"P4^??S<>GE(%
M])NM_5T%CU2!2!A5"962:)X"WSJ"5RB9:);&+1; :)K(7#VL < WQW0EB$*9
M4!61M\>S-$FYC&9XHO%( 6]W:X!F298SPB2*B:EH(,U05 -HAVK+F?R:*N"J
MBR]6,4)@L;SVX ?-\L%X3A,IOAU>?R*X6?[-UOX&]R/@YHG*0>X*X :?:S$
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
MW^VT'"2JV54YBB_MO)AQI:>/769ZW(,P 'T^YUQM'7-!_0'I_P%02P,$%
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
M@S/)(6$OZ?ETCM(WR]EYR5WI[@S\*#WY72J_UV_'>D6YJ=_:V0GW/3X[</^
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
M7&,482H#Q/T5(?QQ(!]0?^+P?P)02P,$%     @ ,3!25>WC1^+B!   :!X
M !D   !X;"]W;W)K<VAE971S+W-H965T-C0N>&ULM5EK;^(X%/TK5G:TFI%V
MFMAY=P&IQ9T9I&F+8+JK_>B"@6B2F$T,3%?[X]=Y-"$/3-%XOT!B[CWQ/?:Q
M#_'@P)+OZ892#GY$89P.M0WGVVM=3Q<;&I'TBFUI+'Y9L20B7-PF:SW=)I0L
M\Z0HU)%A.'I$@E@;#?*V:3(:L!T/@YA.$Y#NHH@D+[<T9(>A!K77AEFPWO"L
M01\-MF1-YY0_;:>)N-,KE&40T3@-6 P2NAIJ-_ :(SM+R"/^".@A/;H&62G/
MC'W/;B;+H69D/:(A7? ,@HBO/1W3,,R01#_^+D&UZIE9XO'U*_JGO'A1S#-)
MZ9B%?P9+OAEJG@:6=$5V(9^QPQ=:%I1W<,'"-/\$AS+6T,!BEW(6E<FB!U$0
M%]_D1TG$40)T3B2@,@&U$ZP3"6:98+XUP2H3K)R9HI2<!TPX&0T2=@!)%BW0
MLHN<S#Q;E!_$V;C/>2)^#40>'\V?[N]O9G^!QT]@.IL\C"?3FZ_@9CQ^?'KX
M-GGX#*:/7R?CR=T<? 0SNJ?QCHK17K!U'.3#]A'@("7K=4+7)&]@JRKN/::<
M!&'Z040]S3%X_^X#> >"&'S;L%U*XF4ZT+DH(>N(OBB[>UMT%YWH+D3@GL5\
MDX*[>$F730!=U%X1@%X)N$521$P75\"$OP%D(-C3H?';TXV>=/SF=.A+JC&K
MX31S//,$7L\87?>Q7*!8_2C96G.=;LF"#C6QF*0TV5-M].LOT#%^[V-()1A6
M!-9@SZK8LV3HHP>QSB8%@[USL\AV\NQL0=V/;.2ZT!$CMS\FI!MG6JYC^78S
M#O?$B?7:]LPJKE&&795A2\NXRQ;5)%@$_*6O"FGRI6.O$@PK FN0YE2D.4J4
MXZAD3R485@368,^MV'-_2CE%MGTTTY%O90MF0S?=*-\UG)9HND&VYSC]BO&J
M[GO2[H_G$S!G(4G G*Z%J^'@7W!&15+ 2^>!2C"L"*Q!I%\1Z2M1D:^2/95@
M6!%8@SUHU&[,^"D=E>G'LQ_:IH%:0NH)\PW7;2FI)^JTE."1HX32&CZ'[)F$
MPJ#19/WR=D')42^=$TK1L"JT)J.H9A0I454)HXI"E6A8%5J3PMH70ZEQ/"\L
MLRLL"T*O+:QNF(/\MJ[^#P\+:Q,+Y2YV5LR2?^@2$ X(V+) Z$_\[^+B#[O0
M86>SZ^5#^HR+IY)*-*P*K<EO[:ZAK4:-2HVV4C2L"JU)8>VUH=2,GE>CTY&9
MZ7G0=LVV'KN!R#4LTT1M3?8$(FA8MG]BNZN=+Y1;WW-RZ]T.>XN6/N?B^:(2
M#:M":W)<VW/HJ9&<4E>N% VK0FM26!MS*'6NYR7G=S= P_&@VWZYT1/H>*YK
M=W;!GCC?,=$)?XEJCXSD'OE(<&Q/DXNV-3GTI1-$*1I6A=:DM;;M""K1&%+J
MTY6B855H30IKGXZD)O:LQLKTYFX%;=C>U7KBQ$;EM]^$],.9WHDM#=5F&<G-
M\@F%O7DGD\-?/$64OE]6A=:DMC;GR%*C,J7^6RD:5H76I+#VWTC^>ONLRNSN
M:WK;-ZRVR+IAIF<97EMDW3"$+*.M,?WH""X2^LB/,E.P8+N8%X=156MU7'J3
M'Q*VVF_A-2X./6N8X@SVGB3K($Y!2%<"TKAR1<^2XEBSN.%LFQ_T/3/.691?
M;BA9TB0+$+^O&..O-]D#JL/ET7]02P,$%     @ ,3!25?"YP[EL P  G H
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
MOWVQ30]>D^)4'N+X]^+-]>*B9Q0M$H'PL@+!Y:]',1=!4)!D._Y;07O[.HO
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
M;V_HZF;' 6'.H3X3C9!+,W& >3DL>ST\]VW7:GM=_?G8XM-1EM?JV-51@:+
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
M'#CP#-B6#0<"NGZ[NS7@'K[9'?HC;)QF,YP2SSF"M^(JG[E\/@-YBJD$2F5
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
M ??7+^PWOG:N92DL7FOU4V94#(// 628BT;13&^_8EO/F>-;:67]%[9M;!3
MJK&DRQ;,"DI9[?[BJ>W#'B".#P#B%A![W;M$7N58D$@3H[=@7#2SN84OU:-9
MG*S<H<S)\*YD'*4WH^D,'D;?%Q.XG8SFB]GD=O+C'H['2$(J>P)'("NX+W1C
M1979)"1.ZJ#AJDUPM4L0'TCPK5&GT.]]A#B*(UC,QW!\=/(O3<B:.^%Q)SSV
MO(,#O-.*T* E,((0[%;4\!O&:.6Z8D<&PD*!V5I6:R[ DFGX)I'EF&MA"\CY
M,OI]?*VB-S.[,;FTM5CA,. YL&@V&*3OW_7.HR]OU-7OZNI[]OZA Q'2P$:H
M!J%$81N#.^$Z!RH0>"WI^8/E^BPZMP$EQ5(J21(MAP@"83HL]X$@_TOIYH!G
M:=48XSK#]UF^>J;]_]"!0=>!P9LG>Z])**BTFUJA7E.WPY][O'MU-FG_XB**
MHB3<[.<-]\;"O3"WPO!]L* P9V!T^NDL +.;VIU!NO:3LM3$<^>7!3]T:%P
M[^=:TXOAAJ][.M,_4$L#!!0    ( #$P4E4]Z;NJ]@,  #T5   9    >&PO
M=V]R:W-H965T<R]S:&5E=#<X+GAM;,U8[V_:.A3]5ZR\Z6F3WIHX 4+[ *DK
M5*OTNE?UQ]YGDUR(M<3FV08Z:7_\["0D!-*H3);6+R6.?8^/C^]U3CW:<O%-
M)@ */6<IDV,G46IUX;HR2B C\HRO@.F>!1<94;HIEJY<"2!Q'I2EKN]Y S<C
ME#F34?[N3DQ&?*U2RN!.(+G.,B*^?X*4;\<.=G8O[NDR4>:%.QFMR!(>0#VM
M[H1NN15*3#-@DG*&!"S&SB6^N,+G)B ?\97"5NX]([.4.>??3.,F'CN>800I
M1,I $/VS@2M(4X.D>?Q?@CK5G"9P_WF'?ITO7B]F3B1<\?0_&JMD[ P=%,."
MK%-US[>?H5Q0W^!%/)7Y7[0MQWH.BM92\:P,U@PRRHI?\EP*L1> >R\$^&6
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
M[H"<R/3<RAL.G/Z)3,^M.NHCX@V;93JHXAQ<)E.6Y5_C5I6V0EZZ9$R"^8;
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
M.JSJA:J)H//RL7^B0K8.Y3"1[2,P92"_3RD5JXG:H&E(_7]02P,$%     @
M,3!25<YZ:#RG P  %PX  !D   !X;"]W;W)K<VAE971S+W-H965T.#(N>&UL
MK5?_C]HV'/U7K*R:6FF]V$[B)#= XCBJ(;'V=-#;SP8,R9K$S#9'^]_/^7(!
M$B>C$[^0./F\Y_>"[6</CEQ\DQ%C"GQ/DTP.K4BI_;UMRW7$4BKO^)YE^LV6
MBY0JW10[6^X%HYL"E"8VAI#8*8TS:S0HGCV)T8 ?5!)G[$D >4A3*GX\L(0?
MAQ:RWAX\Q[M(Y0_LT6!/=VS!U-?]D] MNV;9Q"G+9,PS(-AV:(W1_021'%!4
MO,3L*,_N06YEQ?FWO#';#"V8*V()6ZN<@NK+*YNP),F9M(Y_*E*K[C,'GM^_
ML7\JS&LS*RK9A"=_Q1L5#:W  ANVI8=$/?/C'ZPRY.5\:Y[(XA<<RUJ"+; ^
M2,73"JP5I'%67NGWZD.< 9#; < 5 %\+<"J 4Q@ME16V'JFBHX'@1R#R:LV6
MWQ3?ID!K-W&6_XT+)?3;6./4Z&7\/!L_S*=@]GDY?9XNEF#Z>3E;SJ8+\/Z1
M*1HG\@/X"+XN'L'[=Q_ .Q!G8!GQ@Z391@YLI27D1/:ZZNZA[ YW=/?(UG?
M0;\!##$RP"?7P^$EW-;&:_>X=H\+/N>GW9NLE5RNF2N?;_=R3]=L:.D))9EX
M9=;HUU\0@;^;C-Z([,*V4]MV^MA'RR_+\1R,%XOITFBT1),"G:\#KR/?"0+'
MQ0/[]=Q#NXYX#@D\MZZ[D.?6\MQ>>8N("_51,9&"%1<:'&<[XU@K:;RS_A'V
M$49>0Z>I#F(<>&:=7JW3Z]4YY]GN&IE>NWN(7>0W9?;V]C^'!*F]D"N&Q%S/
MAMF\<P*0EA$/$Q1"MV&D7><2UX4D-']OO];H]VI\H2*FJX2!6::_.I,*3#,5
MJQ\FJ;U,/SM7;T1V83JH30<W7**"6]J^$=F%[;"V'?;^UQ,J(Y/!L#VT KUE
M:0Q 0Q6&I&-90O"4E;!7U)/@?^OM!Z!2,F5./]CJ&0>ATUJ1#'6.XP<.Z9!X
M%N>H5^(7%3'1)Q"UY[ #0]34UR[S0R^ '?).>8MZ<^T_DZ>"7WR7$!)(FOK:
M=:X7NIT"3\F(^J/QZNRI>"Y6=>0$GM]4:J@+H.\['4I/(8GZ4_+:]$&&](,D
M")ISQE#G81<&'3I/(8GZ4[(<D8E>N>,D5C$SBVQGI-Y(^,T-AZ&,P,#MR'%T
M"C]T@_2K.,ZW.]CS"0R;(@UUH0MQ<V[;9[OV_,CT)Q6[.),@85L-A'>^MBG*
M4TC94'Q?;.177.EC07$;Z9,;$WF!?K_E7+TU\K-!?18<_0M02P,$%     @
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
M0/[Y)DGDXT;Q*-OI:<KY?U!+ P04    "  Q,%)5P]!4I/\"  !>"@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970X-"YX;6RM5FMOVC 4_2M65DVMM)$7#:6#
M2-#0%:GM*J#=9S>Y(5:3.+4-M/]^MA,RJ )JI7P!V[GG^)[CUQUL*'OA"8!
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
MD0%(M"IR*@9.)N6\Y[HBS:# XHS-@:H[4\8++-60SUPQYX G)JG(W<#S8K?
MA#I)W\S=\Z3/2ID3"O<<B;(H,'^Y@)PM!X[OO$X\D%DF]82;].=X!B.03_-[
MKD9NK3(A!5!!&$4<I@/GW.\-?9-@(GX16(J-:Z2MC!E[UH.;R<#Q-!'DD$HM
M@=7? H:0YUI)<?Q9BSKUFCIQ\_I5_=J85V;&6,"0Y;_)1&8#I^.@"4QQF<L'
MMOP!:T,MK9>R7)A?M*QB6VT'I:60K%@G*X*"T.H?K]:%V$CPXST)P3HAV$V(
M]B2$ZX30&*W(C*U++''2YVR)N(Y6:OK"U,9D*S>$ZFT<2:[N$I4GD]NK\]$5
M.D6WH&J!8*4>#_5_? D2DUR<J#M/HTMT?'2"CA"AZ#%CI<!T(OJN5*MK#3==
MKW11K13L6<D/T!VC,A/HBDY@LBW@*NR:/7AEOP@:%2\A/4.A_PT%7N!;@(;_
MG^XUX(1U*4.C%^[1NR84TQ10;DJ9,B%[MBI5(I%=1)_:GICC% :..I8"^ *<
MY.L7/_:^VQP>2&S+;U3[C9K4D_."<4G^8G,<V11Q?6).V?2T5/:Q$""M3TDE
M&AM1_9)9)'[4U1NPV#3V/JKCA7$=M 7<JH%;C< W5((J@T2*M]JDG. QR8DD
M8$6MY%J;J&'4W2&U!$7=MITTKDGC1M*?<^"JKG2V\3#9 ./W:W>B*-PAM$1U
MX]"S([9KQ'8CXBA3NX]408L/&-L6QDZT@_@^J-/: ]BI 3N-@(],XOP#MLZ[
MIRR,6]UX!\X2Y7E^:,?KUGC=1KP[O")%6=BH&A,_^X8XD-B61]][^[IXAW@G
MKE4.9/E0:MN>-[ZH?N/.5I]2?3*L5IN3 P^] .:VU]&P.?6SOMR-IJ$ /C.]
ME%![5%)9?8/KV;I?.S==RL[\A>[C3#/R)E,U@7>8SP@5:O>G2M([:ZL#SJN^
MJAI(-C>MR9A)U>B8RTSUHL!U@+H_94R^#O0"=7>;_ -02P,$%     @ ,3!2
M5=^9,R@M P  F D  !D   !X;"]W;W)K<VAE971S+W-H965T.#<N>&ULK59K
M3]LP%/TK5H8FD 9YIPUK(T$!;=(0",;VV4UN&HO$SFR7PK^?[92L34V%)KZT
ML7W/\3G7C^O)BO%'40%(]-S45$R=2LKVU'5%7D&#Q0EK@:J1DO$&2]7D"U>T
M''!A0$WM!IZ7N TFU,DFIN^69Q.VE#6A<,N16#8-YB_G4+/5U/&=UXX[LJBD
M[G"S28L7< _RH;WEJN7V+ 5I@ K"*.)03ITS_W26ZG@3\(O 2FQ\(^UDSMBC
M;GPOIHZG!4$-N=0,6/T]P0SJ6A,I&7_6G$X_I09N?K^R7QGORLL<"YBQ^C<I
M9#5UQ@XJH,3+6MZQU3=8^XDU7\YJ87[1:AWK.2A?"LF:-5@I: CM_O'S.@\;
M #]Y Q"L <$0$+T!"-> T!CME!E;%UCB;,+9"G$=K=CTA\F-02LWA.I5O)=<
MC1*%D]F/R[/[2W2,9EA4J%1KB@XO0&)2BR/5^W!_@0X/CM !(A3]K-A28%J(
MB2O5S!KOYNM9SKM9@C=F\0-TS:BL!+JD!13;!*Z2W.L.7G6?!WL9+R _0:'_
M!05>X%L$S=X/]_;("?LTAH8OW)=&6UXZ6&2'Z2-Z*EJ<P]119U  ?P(G^_S)
M3[RO-D\?1+;E,.H=1OO8LYL6.):$+E"NMXJZ$/1N$:CDK$$EH9CF@&I0)\JZ
M/SKRQ)#KF^4I._;#*)VX3YL&;5%1.NJCMI3'O?+X_Y6S?O!M[1U]O*4J34?!
M0+PE+/#B<6I7G_3JD[WJKTQJWY-WF_1D5U,8QW$TD&X)\U,_">W21[WTT5[I
M=S</" L!4B V5W<*A4+?(_"<5Y@N +$2477/;YE -<%S4A-)[&LQVE&:>+XW
M7(K=*-]+DL1N9]S;&7^$G??LJ/&.OB!*TN&J[$;YT3@-["[2WD7Z7A<%$2T3
MRH6L.%LN*@28UR]( E>%!ILJJSP-_6C/E-%CLQTEQU1@4Y%M/E/+>1Z/O8%/
M2U02CX8^W8TBUP!?F-HO4,Z65'9UH^_MGQ=GIJH.^L_5LZ-[)?RCZ=XLUY@O
M"!7*:*DHO9.1RCWOW@%=0[+6E-(YDZHPF\]*/9V ZP U7C(F7QMZ@OXQEOT%
M4$L#!!0    ( #$P4E4)(V5(@0(  *8'   9    >&PO=V]R:W-H965T<R]S
M:&5E=#@X+GAM;*V5:VO;,!2&_XKP8&RPQ?<T[1Q#FW9TL$%IV?I9M4]B45GR
M)"5I__V.9-<DP?&ZRQ=;E_.^.H^NV5:J1UT!&/)4<Z'G7F5,<^;[NJB@IGHB
M&Q#8LY2JI@:K:N7K1@$MG:CF?A0$4[^F3'AYYMIN5)[)M>%,P(TB>EW75#U?
M )?;N1=Z+PVW;%49V^#G64-7< ?F>W.CL.;W+B6K06@F!5&PG'OGX=EB:N-=
MP \&6[U3)I;D0<I'6_E2SKW )@0<"F,=*/XVL #.K1&F\;/S]/HAK7"W_.+^
MV;$CRP/5L)#\GI6FFGLSCY2PI&MN;N7V&CJ>U/H5DFOW)=LV-CGU2+'61M:=
M&#.HF6C_]*F;AQU!E!X11)T@.A"$LR."N!/$#K3-S&%=4D/S3,DM438:W6S!
MS8U3(PT3=A7OC,)>ACJ3?[TZO[LB'\EY63([KY03)MK-86?YW248RKA^G_D&
M1[,:O^B<+UKGZ(CS)103$H<?2!1$X8!\\7IYL"_WD;$'C7K0R/G%8Z!#%*TL
M&9;90W2F&UK W,-3HD%MP,O?O@FGP:<AIO]DMD<8]X3QF'M^[[8LE(1N0.$)
M) 94C4N[9(** @@'W.YZ: K&?2/R#%1I<D)J*4RE230C)7T><EJ,.X5!;Y$,
M6.Q1)SUU\E?4>,\IW,-BU7(/88\;)QUV,IISBSWN%'=.4?H[Z+2'3O\,NF2Z
MD&MA"#+#X9H/L;?^8> &L%?])@\F07*:9OYFEVPX+DV3/FX/8-H#3/\-X!7+
M-QU&B),#A"-QX>P P=^Y1>T+]HVJ%1,:$UBB,)B<X%RH]E5H*T8V[F)]D :O
M:5>L\"$%90.P?RFE>:G8N[I_FO-?4$L#!!0    ( #$P4E5KAU)+PP(  '<(
M   9    >&PO=V]R:W-H965T<R]S:&5E=#@Y+GAM;*V6;4_;,!#'OXJ5H8E)
M&TGL/+(V$A2F31H:HK"]-NVUL4CBS'9:^/:SDQ*5QFUYL3>-'^Y_][MK[,MH
MS<63S $4>BZ+2HZ=7*GZW'7E+(>2RC->0Z5W%ER45.FI6+JR%D#GK:@L7.QY
MD5M25CG9J%V[%=F(-ZI@%=P*))NRI.+E$@J^'CN^\[IPQY:Y,@MN-JKI$J:@
M'NI;H6=N[V7.2J@DXQ42L!@[%_[Y)#7VK<%O!FNY-48FDT?.G\SDQWSL> 8(
M"I@IXX'JQPHF4!3&D<;XN_'I]"&-<'O\ZOU;F[O.Y9%*F/#B#YNK?.PD#IK#
M@C:%NN/K[[#))S3^9KR0[2]:=[8Q<="LD8J7&[$F*%G5/>GSI@Y; C_8(\ ;
M 7ZO@&P$I$VT(VO3NJ**9B/!UT@8:^W-#-K:M&J=#:O,OSA50N\RK5/9S^N+
MZ37Z@G[5(*ABU1(5H*LB]=(-58U@BNG)Z14HR@KY22\_3*_0Z<DG=()8A>YS
MWDA:S>7(59K&^'1GF\B7762\)_(5S,X0\3\C[&'?(I^\7^Z]E;NZ!GTA<%\(
MW/HCAPIARZ*3!7:9.63GLJ8S&#OZ%$D0*W"RCQ_\R/MJR^D_.7N3(>DS)(>\
M9WOJ?-FIHE9E#OTJ\W$<)2-WM4UNL0I('/16;Y""'BDXAH1M2)TJW H6IX&_
M0V0Q"G!L!PI[H/ 8$+$!A8-804+(#M#0B$0$VX&B'B@Z!A38@*)!+#])O!T@
MBQ$.]@#%/5!\#"BT <6#6)BDNR_1T(A$J9TGZ7F2@SSW.>CNM5 @;%3)L )>
M%.Z^21:K)-S#E?9<Z6$NKFB!%HV^0\%<W*QLRNYN135]T7U06>_,='#, B^(
M=X&'5CA)/;)#[&ZU!=.2;ZA8LDIJBH76>6>QSEAT;:Z;*%ZWG>*1*]UWVF&N
MOPQ & .]O^!<O4Y,\^F_-;)_4$L#!!0    ( #$P4E5/R,4A@ (  ((&   9
M    >&PO=V]R:W-H965T<R]S:&5E=#DP+GAM;*U5:T_;,!3]*U:&)I 82?-H
MH6LC0<L>$MLJ"NRS26X:BSC.;*>%?[]K)T2E#8A)^Y+XVO<<GW,=WTPV0CZH
M'$"31UZ4:NKD6E=CUU5)#IRJ$U%!B2N9D)QJ#.7*594$FEH0+US?\X8NIZQT
MXHF=6\AX(FI=L!(6DJB:<RJ?+J 0FZDS<)XGKMDJUV;"C2<57<$2]&VUD!BY
M'4O*.)2*B9)(R*;.^6 \BTR^3;ACL%%;8V*<W OQ8(+OZ=3QC" H(-&&@>)K
M#3,H"D.$,OZTG$ZWI0%NCY_9OUCOZ.6>*IB)XC=+=3YU3AV20D;K0E^+S3=H
M_5B!B2B4?9)-DSLZ<TA2*RUX"T8%G)7-FSZV==@"#,)7 'X+\-\+"%I 8(TV
MRJRM.=4TGDBQ(=)D(YL9V-I8-+IAI3G%I9:XRA"GXZO+\^4E^41^52"I9N6*
M%(!543CU50JE2,JR#"24"9##.6C*"G6$B[?+.3D\."('A)7D)A>UHF6J)JY&
M38;93=K]+YK]_5?VGT-R0H+!,?$]?] #G[T?[KV$NUB)KAQ^5P[?\@6O\.V6
MX9BL=JK09['A#/LYS3T<JXHF,'7PHBF0:W#BCQ\&0^]SG^'_1/;"?M#9#]YB
MCV^$I@7):EU+,%\;XS5O*D$J^H275_<><4,ZM*2F;:SCT M'>)SK;6/[6?[I
MF1=T62\4AYWB\$W%5Z#4F#!>U1I2_!8UGI+2?2(;GFAK^\C;T[B?% Y'_0JC
M3F'TIL*?BSN"W?;?JQKMU2N(0L_;4;R?Y9^&P7!'L[O5(4QW_D'EBI4*562(
M\TY&2".;CM<$6E2V:=P+C2W(#G/\28 T";B>":&? ].'NM]._!=02P,$%
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
M5M)J,U4-.,G+_<@SX6)W4QY&8@.*J;Q!7)\3PM\'<HO3;&G#?U!+ P04
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
MT^B:SF:SR5%RG;Y,FLVGPZ.7J>2F:22FDYA!8B:)621FDYA#8BZ)>23FDUA
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
M<:$O;/A^O4#G9Q?H#/$*?2_D7K,JUS$QMKYC(5E7:];6HB_46D V0E'X#M&
MA@/P^>OAP7,XL:I[Z;273CU?]$_I0U):[-4PULW65-<L@P3;X=&@#H#3MV_"
M2?!A2-A_(GLF,^IE1G]C3_VA7OI#W4AEP;S:#1Y>2S/Q-&[X#VE(KT,:CF-R
M.!4SE!=0>O,GK^V3G-Q*]R)\96K'*XT$;"TR&%V/,5+ME+6.D;6_J!MI[+7W
M9F$?)E NP:YOI31'Q]W]_JE+?P-02P,$%     @ ,3!258>@76D0!   $!,
M !D   !X;"]W;W)K<VAE971S+W-H965T.3@N>&ULM5AK<]LH%/TKC+:SD\PT
M$>AE.[4UD\>VVYEFFTGZ^$PD;&DJ@1:PG?[[!4F19!N3KNM\L07B'LZY7+A7
M3->,_Q 9(1(\E045,R>3LKIP79%DI,3BG%6$JC=SQDLL59,O7%%Q@M/:J"Q<
M#\+(+7%.G7A:]]WQ>,J6LL@IN>- +,L2\Y]7I&#KF8.<YX[[?)%)W>'&TPHO
MR .17ZL[KEINAY+F):$B9Q1P,I\YE^CBVH/:H![Q+2=K,7@&6LHC8S]TXV,Z
M<Z!F1 J22 V!U=^*7).BT$B*Q[\MJ-/-J0V'S\_H[VOQ2LPC%N2:%=_S5&8S
M9^R E,SQLI#W;/TW:06%&B]AA:A_P;H="QV0+(5D96NL&)0Y;?[Q4^N(@0&*
M]AAXK8&W;1#L,?!; [\6VC"K9=U@B>,I9VO ]6B%IA]JW]362DU.]3(^2*[>
MYLI.QE>?[^\_?__XSX<'< 8^,;H DO 2G-P0B?-"G*K>KP\WX.3-*7@#<@J^
M9&PI,$W%U)5J>@WB)NU45\U4WIZID =N&969 '_1E*2; *[BW9'WGLE?>5;$
M&Y*< Q^]!1[TD('0]:^;0PL=O_.E7^/Y+_K2Y)S&-C#;ZMUZ(2J<D)FCMJ,@
M?$6<^,\_4 3?F80="6Q#9M#)#&SHL8Z2LSI*'AE7MCE=&*.A08EJ%'V:K.+0
M\R,_F+JKH93=84$0P0GLAFV0##N2H74MWB_EDA-0\9PF>84+=>14^*<Z?R10
MAX?,""@,,E0GID8QX3%7[TA@&XZ).L=$UM53L>Z9!#96X7"U( P#M+5:5O #
MJ8\ZZJ.7J/LFZJ,=ZKX?A7 [T*S@!U(?=]3'+U$/3-3'.]35A##PMZA;P0^D
M/NFH3UZB'IJH3W:H1V,=6AO$K= '$D>PSVWP)>J1,4_!'>[!:+SM=#OXH>0'
MB1E9R7_)B*K+YNJ$,DI NY$3!N-M_]OG.%2#UVOP[!J8Q(61OK=+7VT1- JW
M!5@G.%1 G]&1-9/&GX@0%V"^/YEP4F!)4B"9,:&\534<YWI@Q;BN6XW.\'><
M<68\?.UD#W5&G_>1/?'7JSF0:9/TB\G?,,Z6_5&?_I$UB<:W.<W+96GD=M1<
M?BRT39U]-D?1;]2<Z$CINI7Z&LD?]=D?V=/_Y8IP]66IOD)4]!&A]I[:>;J:
M,U9R)U@ #"K"$[7[3HW.::8;#V(/GL.=/?<:90/JZP9D+QQN\=/>.#Y25=#J
M?(T: _5%!IK\3AP?J8YHI;Y&5>+U58EGKTJ.'<?M=+I<&09R.-J*9#NM_RO;
M'=PYE(0OZJL8 1*VI+*Y?NAZN^N>R_J2P^V'-W=%MY@O<JH^OLA<F<+SD3I2
M>7/]TC0DJ^H;C$<F)2OKQXS@E' ]0+V?,R:?&WJ"[A(L_@]02P,$%     @
M,3!256S,7-0 !   I1(  !D   !X;"]W;W)K<VAE971S+W-H965T.3DN>&UL
MM5A=<YLX%/TK&K;3:6:R ?%IIS8S==AV,]-N,W&S?5;@VJ8%1"4Y3O;75Q($
MVQBS:4)?;!#W''2.KJ2+)AO*OO,5@$#W>5;PJ;$2HCPW31ZO("?\C)90R"<+
MRG(BY"U;FKQD0!(-RC/3MBS?S$E:&.%$MUVQ<$+7(DL+N&*(K_.<L(<99'0S
M-;#QV'"=+E="-9CAI"1+F(.X*:^8O#,;EB3-H> I+1"#Q=1XA\\C["F CO@W
MA0W?N49*RBVEW]7-93(U+-4CR" 6BH+(OSNX@"Q33+(?/VI2HWFG NY>/[*_
MU^*EF%O"X8)F7]-$K*;&R$ )+,@Z$]=T\S?4@G0'8YIQ_8LV=:QEH'C-!<UK
ML.Q!GA;5/[FOC=@!8/\(P*X!=AO@'@$X-<!Y*L"M :YVII*B?8B((.&$T0UB
M*EJRJ0MMID9+^6FAQGTNF'R:2IP(9Y^OKS]_O?SGPQS]B3[28HD$L!P5A#&B
M1@21(D%I(1N!"P3W,M\XH#<1"))F_$2";N81>O/J!+V28>C+BJZYA/")*63O
MU#O,N.[)K.J)?:0GV$:?:"%6'/U5))#L$YA25J/-?M0VLWL9(XC/D(-/D6W9
MN*-#%T^'6QWPZ,EP/.Y1XS0CY6@^YW]'JLO;"NMV8]7B<<Y+$L/4D*L#!W8'
M1OCZ#^Q;;[M\&9(L&HALSS.W\<SM8P_?9U1FL4SJ)H-E5LOT)1P15 *+H1 G
M7796M-C2O&KMO NM,\MQ_8EYM^M4=YSK!/MQ46\WGVF"UYC@]2;.96OV=NGU
MADR?(<FB@<CVG/,;Y_S>]&F<BTF9"I*E_T$B5[R2T6]RVT*$<Q"=*UU%Z^]D
M!0X<W$Z>CBBY5+13IRLJ&+M-U)ZRH%$6/%.9G!7BX125&2G$J5[]X<<Z+>56
M+[J4]K[F5Q.G(O-VI7INRX[#&-M7RW.7&Z/&C='3W.B9(:.#]WHC[#FM(3V,
M"O H:&LXC!IAQ_:[18P;$>->$5^H',?M0I<6\9JQ]CY::1D?I%3@N?ZXI>4P
M:F3;MM?2<A@U=@/WR(!@:UN66+UJ;N0P2 '=_>_'_FK6#<H6#<6V[]M..8=?
M4"74X*&,&Y(M&HIMWSA[:YS]>TJ%FO>@5K#::\.Q0+NU+T3]/7VN$]LZ$_>6
M9.&\FGCH]J&UT^G=@-.,,%32#<BOQP<N(.^N]0<M2 =EBX9BV_=W6Y-B]R53
M=*!2L39N2+9H*+9]X[9U+.XM]EXP1;TC4]1M3]$C@;[3GJ*#EJ7FSO=[#FRI
MST$XBNFZ$-7G;M/:G+6\TR<,K?:9.H/1YP);FNH YQ-AR[3@*(.%I+3. BF
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
ML-ST0BK<!2<%GD9IK:>V  >,FC&)159=NBD$YAIL$49TZ-LQ* (%=Z!ZA-(
M-4)%=1-8;GKE%-^".T8=36FMGY:<\;@7EUAD9R%A0,R&L.A8Y-.!CE#T">X4
M]1BF 6J.BNHFL-STTBG"!7>6.A[3H!^ GE6'8Y*[10:4A&9(8G,#1F"@)11^
M@CM0'<-I@)JNHKH)+#>]C IWP9VPGL9IT ]&":.4FBUBR4]9!,R,66VZ$,A
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
MU-=H0!.Z4)H'I5$4395?-:\PU/]2@,9R./<I^_.-T$_W-XU:@DXM0&DVE.9
M:2Z4YD%I%$539;>WR_KPG:,XZ$P"E&9#:0Z4YD)I'I1&4315<]4,QA#]@P ]
ML+,(H1,5P\8%_,;!G@4MX]R6<1[T*"B*5DBBOW?+GI GR_SV32GQLWW[B[N-
M[%[=W2+J*K\Q4NWU:^-L9C2\;AMG7G$#J I?W(_JEB7+($K)FB]DJL')1!Y8
M4MSBJ7@BXDU^PZ"'6(@XS!^N.)OS) N0[R_B6+P^R1+L;K1U^3]02P,$%
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
M3L,_D0;VU=)4Y@+=T RR?0)7:6J%^5MA4[^3,8'T @WP.^1[/K8D-'L]W+/
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
M&1.KOF!4-X)N]#O]G I!2WVYQFB!F0+(YTLJ#_'Z1DW0?$<:_PM02P,$%
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
MCF?EU<UJ?;O^\H?V<?WV9RW8M?_C'JT&1S4#U4Q4LU#-1C4'U5Q4\U#-1[4
MU4)4BU M1K4$U5)4$Z@F42U#M9S2FC%458//9J^VKX%6@J.:@6HFJEFH9J.:
M@VHNJGFHYJ-:@&HAJD6H%J-:@FHIJ@E4DZB6H5I.:<T,JDK=9^I2]Y[[&FA-
M.ZH9J&:BFH5J-JHYJ.:BFH=J/JH%J!8>M7EC;V$T/%\VZS(J[C0JZ30J[31*
MH-\+B6H9JN64UKQ<5[7@,V6=7^\]BL7%@JP^&%^62WT\#JROQ\Y&\\O] D-]
M?KVOLFC5-JK9J.:@FHMJ'JKYJ!:@6MCR\S"?S6<M^Q.7/P]376\I^(O1$TQ0
M+44U@6H2U3)4RRFM<9&?5\76<W6QM;%YJ\F;XMM*2Q\./:9DWEJOIU;Z_F,<
MU0Q4,U'-0C4;U1Q4<U'-0S4?U0)4"U$M0K48U1)42U%-H)I$M0S5<DIKYDU5
M-S[77VL?8H[6C*.:@6HFJEFH9J.:@VHNJGFHYJ-:@&HAJD6H%J-:@FHIJ@E4
MDZB6H5I.:<T,&E89I*XMMS?%ZK"4]=-RI6UOBOT4?]__ZO/]56OPH,7EJ&:@
MFHEJ%JK9J.:@FGO4&CVTIH/SKAM>MV%^MV%!MV%AZ[#IXJS'5M1M6-QM6-)M
M6(I^"@+5)*IEJ)936O,"6A5)SY4%<.>+1A]O]O]]6VH?UW=WY>9J6=QJOQ>K
M?[5?2]$B:50S4,U$-0O5;%1S4,U%-0_5?%0+4"U$M0C58E1+4"U%-8%J$M4R
M5,LIK9E!59'T_N5K+22-T0PB-0/53%2S4,U&-0?57%3S4,U'M0#50E2+4"U&
MM0354E03J"91+4.UG-*:&515<<_55=QA\>_EW<.=]FF]V1][Z'][5>RG6[;?
M(*7&>L<.6L2-:B:J64>MOI:@S^>71>,V.JV#:NZ\I4I^,&VY/<Y#Y_51+4"U
ML/5[,IJ,6VJXT8EC5$M0+44U,6]IN7#YDR/12;.V24>')V!>3)RW#1T/&P.;
MU^:J[GJNKKO^<+=^6.VVVO7FL$YUO?ZV:KTFH_75J&:@FHEJUE&K_^A>7(W1
MHFE4<Y\_?0^=T$>U -7"EF_&?+@8M=RIBLX;HUJ":BFJ"523J):A6DYIS8M^
M5>4\5S_S.GA8_U'L_QGN+;\56E1^>^H;WM9O0_M_87GWJ=S\_]9@0(N>4<U
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
MID/CPD )K'%)Y0/;_8 FCZ?Y8D9%]8MVS5G+0'$I),L:L'*0D;Q^XM?F/70
MCK,'X#0 I_)="U4NQUCB*.1LA[@^K=CTH(I:H94YDNNB+"57NT3A9#2ZG\VF
MJ]EDOEJBZ_D8C>[GJ^G\^V0^FDZ6Z R-6)81J:H@!3H>@\2$BA.UON#J?\'E
MVRDJ*,XEPGF"X*4DA3Z*CA#)T2IEI5#K(C2E<JKUS+AQ=5.[<O:X&D-\C@;V
M*7(LQT:/RS$Z/CKYE\940=NT3IO6J7@'>W@7)8]35<-.K%,T>8UIF9!\@^Y8
MOCF3P+/./OI]ITC05$(F_O0EJ17=?D5]IZY$@6,8&NK2".!;,**O7VS?^G8@
MSZ#-,SC$'G6JTV>M!OL56-_.;63[P45@A^:V1]1M1=V#HJHF3I]:C?(Z:G[@
MNA?]8EXKYGTF-N@3\SZ(N9=NX/6+^:V8_YF8VR?F?Q#SK,M]R8)6+#@HMF(2
MTSZUX/^J9G8NO>Z?,\PW)!>(PEH!K?- ^>5U3ZHGDA55'WAB4G65:IBJ-@Y<
M'U#[:\;D^T2WEO;#$/T%4$L#!!0    ( #$P4E5W"V!QOA@  *L. @ :
M>&PO=V]R:W-H965T<R]S:&5E=#$Q,BYX;6S-W6U/V^B>Q_&W$K'2ZJRT9R .
M4)CM5/H-L1T[\4UBY_99!MP2'2!LDK8STK[X32 A.#B.S7X'[7EPAK:Y/C9Q
MZ?>O]FJOSS^GLW_-;Y-D4?GS_NYA_MO1[6+Q^.OQ\?SZ-KD?SW^9/B8/RQ_Y
M.IW=CQ?+;\Z^'<\?9\GXYFG1_=VQ<7)R?GP_GCP<??G\]'WA[,OGZ??%W>0A
M"6>5^??[^_'LK]^3N^G/WXZJ1YOOZ$R^W2Y6WW'\Y?/C^%L2)8ON8SA;?NOX
M1;F9W"</\\GTH3)+OOYVI.JO:IY^6JUX>DEODOR<O_JXLOI<_IA._[7ZAG/S
MV]')ZI:2N^1ZL3+&R__\2*Z2N[L5M;R1_UZK1R\772U\_?%&MYX^^^5G\\=X
MGEQ-[_J3F\7M;T<71Y6;Y.OX^]VB,_W92-:?T=G*NY[>S9_^O_)S_=J3H\KU
M]_EB>K]>O+R#^\G#\W_'?Z[?B5<+JJ=[%ACK!4;1!;7U@MKN@K,]"T[7"TZ+
M7N%LO>"LZ(+S]8+SH@L^K1=\*KK@8KW@HNB"R_6"RZ(+JB>;)W=2>,G+PR[\
MM*N;QUTM_+RKFP=>??/$]R[9//)JX6=>W3STZING7MNW9//8JX6?>W7SX*N%
MGWQU\^BKA9]]=?/PJX6?OK%Y^D;AIV]LGKY1_&O]Y8N]\-,W-D_?*/STC<W3
M-PH_?6/S](W"7_/&YND;A9^^L7GZ1N&G;VR>OE'XZ1N;IV\4?OJUS=.O%7[Z
MM<W3KQ5^^K7-TZ^]>?K[OL1J+[_8%W[ZM<W3K[UY^OL"4=L\_=J;IW^^;\GF
MZ=<*/_W:YNG7GI[^\7-3GX)<'R_&7S[/IC\KL]7KE][J@Z>J/ZU?=GCRL)I
MHL5L^:.3Y;K%EZO \YS8,_TXJLBO5ZX"/W9\V_2O'#.J_+-R-7U83!Z^)0_7
MDV1>^4<]68PG=_/_^'R\6%Y\11Q?KR]4?[Z0L>="U8JWI&[G%?/A)KG)6"\G
M'Z@=!-P#=V#D",?+]^WES3,V;][O1J[HCA]^J1C5_ZP8)]6SC#NZRE_N3W_\
M4JF=/"TWLM[1_.7UY'JY_.GJ1C5CN5GXZIG+K?SEP?4B]^IV_O(H><R]>B-_
MN;Y_R[VZ<^#!?;_+7>[F+_?&L]SES>(/[B1C>:OX@\M:[A5_<%G+_>+O?-;R
MH/@[G[4\//3._Y6WNGW@WA]GN>]<I_!SJUYF+(\*OW.9R^/"[USF\NZAY0\O
MO]AD+>\5_BF?N;R?O]Q*_EC^2GFQ=_F@\,_9ZD7&\F'A7VPREX^*O_-9RZ7B
M;WWF^@.9>?W9?\I:?Z SKS_]S/4'0O/Z\\]<?Z TK]>?9ZT_D)K7[U_F^@.M
MV?ZBD;W\0&M>WWY6Y74@-H=JH0.U.=1YO3\WJ:FG]C(RUIZ\TWT_G:9WXUDE
MZTY^SUVX^LVT7^>/X^ODMZ/'63)/9C^2HR___F_5\Y/_RAJ>2*Q.8B:)621F
MDUB#Q!P2<TFL26(M$O-(S">Q@,1"$FN36(?$(A*+2:Q+8CT2ZY/8@,2&)#8B
M,>7GNZR&-EUHU(5676C6A79=:-B%EEUHVH6V753<4X/RZ<N@?/JDU_;]WNKK
MWSO-&I=/R7&9Q.HD9I*816(VB35(S"$QE\2:)-8B,8_$?!(+2"PDL3:)=4@L
M(K&8Q+HDUB.Q/HD-2&Q(8B,2DU -;;K0J NMNM"L"^VZT+ ++;O0M MMNZBX
MI\;ELY=Q^2SW]Y6OQO/;RDWR.)U/%I79>)%4ODYGE?%RAO[GS??[Q^4D7;GY
MOOBK,GVH7$5AKW*=W-W-*Y/[Q^ELD=Q4OLZF]Y6KV\G#N/*/\;PRKCPFL^OD
M89&U5^'WW#LI.WD_8ZNM;TMMM>7SQY>37ZJUR]//QS]>#]7D14T2LTC,)K$&
MB3DDYI)8D\1:).:1F$]B 8F%)-8FL0Z)1206DUB7Q'HDUB>Q 8D-26Q$8LI/
M?>FA&M6N4 VMNM"L"^VZT+ ++;O0M MMNZBXIX;J\Y>A^OP=0_7U]/O#8GFE
M\>0.':MS[Z7L6'V>.5:?&;MC-7E1D\0L$K-)K$%B#HFY)-8DL1:)>23FDUA
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
ML?G&Z@(_I[-_/7U&7_X74$L#!!0    ( #$P4E6E&?"](0(  * $   :
M>&PO=V]R:W-H965T<R]S:&5E=#$Q,RYX;6R-5%%OFS 0_BL6DZ96F@(X:3=E
M@)0TZ9:'I%'2;<\.'&#5QLPVH?WWLPUAF91&>\$^^[[OOCON'+5"OJ@20*-7
MSBH5>Z76]=3W55H")VHD:JC,32XD)]J8LO!5+8%D#L29CX/@WN>$5EX2N;.M
M3"+1:$8KV$JD&LZ)?)L#$VWLA=[I8$>+4ML#/XEJ4L >](]Z*XWE#RP9Y5 I
M*BHD(8^]63B=3ZR_<_A)H55G>V0S.0CQ8HU5%GN!%00,4FT9B%F.\ ",62(C
MXW?/Z0TA+?!\?V)_=+F;7 Y$P8-@OVBFR]C[XJ$,<M(PO1/M=^CSN;-\J6#*
M?5';^4ZPA])&:<%[L%' :=6MY+6OPQD OP? /0 [W5T@IW)!-$DB*5HDK;=A
MLQN7JD,;<;2R/V6OI;FE!J>3_?+;>KEY1JO-X]-N/7M>/6W0S89(26RU;M'-
M C2A3-U&OC;A+,A/>^IY1XW?H0XQ6HM*EPHMJPRR?PE\HW,0BT]BY_@JXP+2
M$1J'GQ .<(@4%*8[]!7>\5"$L>,=_W\1+J7;D4PND]CIF:J:I!![9CP4R"-X
MR<</X7WP]8K$R2!Q<HT]V33\ !*)'.V@%E*3 P.T[RJ@+HGMZ.X<G9W,8X(C
M_WBNP#_K&@ZR<+.A4"J:2G<--)P.XS?KNNZO>S>[:R(+6BG$(#?08/39Q)7=
M/'2&%K7KP8/0IJ/=MC1/"$CK8.YS(?3)L &&1RGY U!+ P04    "  Q,%)5
M66'Q&[<%  !,'0  &@   'AL+W=O<FMS:&5E=',O<VAE970Q,30N>&ULO5G=
M<ILX&'T5C;>ST\YL8DD@!%G',XU)TUPD[<3I[C6V99LI("_(23NS#[_BQV"$
M4.Q9IC<)X/,=.!_2X8 FKSS]GFT9$^!''"79]6@KQ.YJ/,Z66Q8'V27?L43^
MLN9I' BYFV[&V2YEP:HHBJ,QAM 9QT&8C*:3XMC7=#KA>Q&%"?N:@FP?QT'Z
M\X9%_/5ZA$:' T_A9BOR ^/I9!=LV)R);[NOJ=P;URRK,&9)%O($I&Q]/?J(
MKGQ,\X("\5?(7K.C;9!+67#^/=^Y7UV/8'Y%+&)+D5,$\M\+F[$HRIGD=?Q3
MD8[J<^:%Q]L']D^%>"EF$61LQJ._PY787H_<$5BQ=;"/Q!-__<PJ023G6_(H
M*_Z"UQ)+O!%8[C/!XZI87D$<)N7_X$?5B*,""_84X*H *P48]Q1858%U:H%=
M%=A%9THI11_\0 332<I?09JC)5N^432SJ);RPR2_[W.1RE]#62>F\]N[A]O'
M9W#_^.G+T\/'Y_LOC^"]ST001MD'\ Z$"7C>\GT6)*ML,A;RC'G=>%FQWY3L
MN(<=8?# $['-P&VR8JLVP5A>:GV]^'"]-]C(Z+/E);#0'P!#C,"WN0_>O_L
M,K:18U%H+G!V.AT\T&EH_)-ID*>G::FUZKMC%;S6Z7='=Q-*$EM/DCO'5;8+
MENQZ)*TA8^D+&TU__PTY\$]=PX8D\P<B:S7/KIMGF]BGC_MXP5+ UV"7ALDR
MW 61=*H=3T6PB!A8[#-9D&6'P9.!?PWCZ*8\%RG.E9OIRQ1/QB_'C3->S;F-
M&XBLU3A2-XX81]T3>V')GF5 3GJP2;GLT2[EZU" #4M8&@BV NN4QX %RZVI
M9V3(<3DDF3\06:N]3MU>QSPNY=,\K5JLZUI9[1R--((I18ZGC+<NSK*I8WND
MC?,U.)D*B&O5N)8,6LN@1ADSGHE\<IFDT,ZDL2V'NH0J4KHX3%V'N$B1HL'9
M+H:NHY?BUE)<HY2[HS&ND^%V3NM!ST*J 71ACNMYR%9$=&$4N;9']1J\6H-G
MU'"?+'G,RGDI4Z&<I3)6:6^*USD_\J"E]GK6A6$,;0LJ:C0PXKK4TZM!L,DE
MT*CG2ZDAV1P,1MKS;'X/YCP*4C#O-QTS[[FN,RB;/Q1;NZ='60_]&F.OSC-4
MCX=D\X=B:_<8-SW&_\O=J_*V)TIWAY8R_S1 "T$";=5/-$!,/(2(W3,'F_2)
MC/GL)(NO*%J7*6T/84?5TP5BVW,0L50]72#R*"40]^AI B$R)\*W?!YU0Y[C
M8INJCRL=#KI2M*I$@T.60_J$- $-&0/*&69?$;6>-C:RU$>7!H9)/MQ411J<
M(T-'GZ(F$R%S*-+9_5W$%S*SWTIKVOPT6KZ1^VP[&I+-'XJMW=<FI"'ZBRS?
MF ;/[O&0;/Y0;.T>-^D1F>/CFY;?37P(81NZ'<O71$/L((>JLU ;(:E%>F9A
MDR&1.42>9/C=Q.=9$'KJZXD&1RB%!*MBNC@'VB[IR?2X29#8G"#?<ONJO/V<
ML3Q7>;[.=#@[?[XJ0G0X9/5&8=S$-FR,+&>X?474NC<44?76:&#$LCLO*AJ8
M'&5>SRC#343"YHAT&X5QF 3E=U]I2_LDB"*^++PH%"S62S-RGNL_@[+Y0[&U
M^]G$-&S^2CB8Q^-!/R0.RN8/Q=;N<1,=\1L?$]_P>-R->A<8N02IV5$'M(@M
MWP#4V:<!(BBMML\8F_2(S>GQ%)?'W:!W@8D,KZZJ1P=T'0=WW$0#1!!BVI,=
M<9,=L3D[OFGT3O<5!<M;HRKIPBX<%WKJ TN'\Z#5\[:%FZB&S1_4SK!YVOFD
MASQ(H2JH"[MPY8N*IPK2X# EQ%44C8^6F6*9R8OEN@PL^3X1Y0I.?;1>$OQ8
M+(0IQV_0E5\N[#4TY3KC0Y!NPB0#$5M+2GA)99?3<NFNW!%\5RQF+;@0/"XV
MMRQ8L30'R-_7G(O#3GZ">@%U^A]02P,$%     @ ,3!25=L25<G["P  BW,
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
M/>KZ#BPU_[QMQ]]FEJV-!I7;4=4LEIH?<<?MYKBMC0;:M&BB@PT@,V-TF&R
M&>623MSD-XZ%39J%S]OA@NFK&IR53+<]>/119Z:QU/RX.?@VL^QO-*C@CJIF
ML=3\B#MP-V@+NDV\4%OE,EQZ?@&9"1:M4$_WZ[%^.WPVCSVK+]WPX(L%=0H;
M2\T/FN-U,\MR;H-*^ZAJ%DO-C[BC?7/<<FX3+\ VBNGPI@%@)J4(CSBR6S/_
M24NYGM@U8AQ!FS1!)Y(-=0X;5<UBJ?E!VWO8RRRKN0WN0V)PGQ+S;1X3L_^<
M&+25*U^EO&09'V$2GO@-V DE>#C'\D#7#G7^=.\AA<-U<;UYV&.7+9J[NK]_
MJ-_NM[LG2IYO'J,8_/[Y^*3)S<,/G<S]8RI?%^UU57?9NKP:),F3\?YJ>__@
MQ_L7?7.[>13BQZ8?+L[-C^/%6;:CP?#WJZ;IO[X8WV#W_,VS_P-02P,$%
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
MDXBP$(_R0H:_?@*Q0\ R:T ^ T MSC#9PB8[L4*'+9EBN T"G5Z>FRD]B=6
M.A50IQ/H;4RS1"B8M0751B[&0,*.9(GC&2.)C[#&1"::X%=UJE>0)86E?/H)
MD*40J%23CU)!1"8H>ZHLVR; >9DX@Z';2*]%2R_3=ALKVFOM98S;DW!4,1MU
M,KL+DS#.XC;?.PW/S(M%GV)>3V(U8&X%S'WC57LZ]]IFP6U;PLUBW^GRN71[
M$JO1'5=TQV],M[9<N\ 6CIA&G:PQ;*#M]/=<M#V)U=":QN'=SWACN.>4OM*9
M%X#=<?W3X-T=P[G ^U*K$S]ZVS:[JRMY/%5=NRW/+:^]JGE]J=6I60=JUO^J
MQ);N-#/5'1K''[.9J)U!G(V\)[4Z\L->Q.S>C/S"NEMZ\J(NC)I\>]W!]*56
MYWO8PYC=FYA?7'KM5L16\]G6[?39B'M2*Q#K1X<<,;)M?EBD,,E7_.+(H&JM
M#J1N\V.81OM<'53EAR<'F>*4ZXZPK:P0$.%&2AK7([EY8<7!47$C:)H?I:RI
M$#3.+W=( F2J@_Q_0ZEXOE$#5,=WL_\ 4$L#!!0    ( #$P4E5HM4][G 4
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
M<J(5K'5C .\_EI!C+%\TCX6N'@,^^Q-02P,$%     @ ,3!254GB4E(  P
M_0H  !H   !X;"]W;W)K<VAE971S+W-H965T,3(S+GAM;+56:V_:,!3]*U8V
M3:W4-0_>'42BE*J5V@F5/3Y,^V"2"UAU[,PVT$K]\;M.T@S60-E$O^!'[CDY
MYSJ^W.Y*JGL]!S#D(>%"]YRY,>F9Z^IH#@G5IS(%@4^F4B74X%+-7)TJH'$&
M2K@;>%[332@33MC-]D8J[,J%X4S 2!&]2!*J'L^!RU7/\9WGC3LVFQN[X8;=
ME,Y@#.9K.E*X<DN6F"4@-)."*)CVG+Y_-O ]"\@BOC%8Z;4YL58F4M[;Q77<
M<SRK"#A$QE)0')8P ,XM$^KX59 ZY3LM<'W^S'Z9F4<S$ZIA(/EW%IMYSVD[
M)(8I77!S)U=74!AJ6+Y(<IW]DE41ZSDD6F@CDP*,"A(F\I$^%(E8 _CU+8"@
M  3[ FH%H)89S95EMBZHH6%7R151-AK9["3+389&-TS88QP;A4\9XDQXR005
M$:.<C TU@ =DR!B_E7C!@5R3C^2\?]/_/!B2\=5P^&5,^G',;/X1<"WRK\B>
MQM$%&,JX/D;$>^(2/:<*=-<U*-&^R(T*.>>YG&"+G N(3DG-/R&!%_@5\,'^
M<&\3[F)BRNP$97:"C*^VA6\@18R?+,2D(D^5]G*^>C6?O9-G.J41]!R\=!K4
M$ISPPSN_Z7VJ,GL@L@WKM=)Z;1<[6D\2/-CL($](2A594KX <L0$B27G5&F2
M@LH#CJM2D?,W,WY;398A'LERW=^NB W1]5)T?6_1^J08"=-Z@4=HE><[E7)S
MYL::F&;="X)FJ_V7ZI>!C4X[\&KM>K7X1BF^\1_BL?1J0T7,Q.PU!XU]';P,
MW.V@63IH[G1P!ZE4ADZP=-S #._*4!BL%NCBQRTD$U _R1,9H7XL,N@VI>*Q
MRL?.E_SK'3H0V48^6F4^6@<N'ZU#6C\0V8;U=FF]_<;EH_UJ^=@5L2&Z4XKN
MO%GYZ.Q[^5X&[KY\OO?GK]Q[VP)2\.]AHB)RBPMWK3>QC>$M53,F-.$P1:AW
MVD(.E?=:^<+(-&M7)M)@\Y--Y]B?@K(!^'PJI7E>V ZH['C#WU!+ P04
M"  Q,%)5#9T4.H<(  #.+   &@   'AL+W=O<FMS:&5E=',O<VAE970Q,C0N
M>&ULM9IM;]NV%L>_"N$[#"VPU'S24VYBH(W2+<#:!'6V^^+BOF!LVA8FBYY$
M)RVP#S]*=B2;/&+B7NU-:SM_'O%_^* ?CW3QI,H_JI64&GU=YT5U.5IIO3D?
MCZO92JY%]4YM9&'^LE#E6FCSM5R.JTTIQ;QIM,['%.-PO!99,9I<-+_=E9,+
MM=5Y5LB[$E7;]5J4WS[(7#U=CLCH^8<OV7*EZQ_&DXN-6,JIU+]M[DKS;=Q&
MF6=K6529*E I%Y>C]^0\Y4'=H%'\GLFGZN SJJT\*/5'_>5F?CG"=8]D+F>Z
M#B',?X_R2N9Y'<GTX\]]T%%[S;KAX>?GZ!\;\\;,@ZCDE<K_D\WUZG(4C]!<
M+L0VUU_4TR]R;ZCIX$SE5?,O>MIK\0C-MI56ZWUCTX-U5NS^%U_WB3AH0,*>
M!G3?@-H->$\#MF_ 7MN [QOP)C,[*TT>4J'%Y*)43ZBLU29:_:%)9M/:V,^*
M>MRGNC1_S4P[/?F8%:*892)'4RVT-".JT=1,KODVE^@&G:'I_?O[ZT_7G^^G
MZ/8CNKV[_O+^_N;V\Q2]2:4665Z]-:+?IBEZ\\-;] /*"G2_4MM*%//J8JQ-
M#^OKC&?[WGS8]8;V](90]$D5>E6AZV(NY\<!QL9:ZX\^^_M O1%3.7N'&/D)
M44P)T*&KUS?'0//TU<U)XG'#VM%B33S6$^]*F;04E9PC8-S ?._B<3A>O:F<
M5QLQDY<CLVM4LGR4H\F/_R(A_C>4JR&#I0,%.\HC;_/(?=$GG\V&6LI'66PE
MF+5=Z[!I7>^<CY. 1A$)S1@^'B;$U3$>A3P)CG4IH#,;<Q"S5G=D(VAM!%X;
M5ZK22"V\5G81@H-+<Q9&<1!95EP=C>(PB(EE!=#QF.(XA*V$K970:^7G4E45
MVI1JD6G(1NA<-L$)(]1RX<K".$D(MTRXLHC$/(E@#U'K(?*NSMN-+(7.BB62
M7S?U,JW.(2O1D$MRR&#I0,&.DA>WR8O]$T 6)GLY,C<.).;F3I=5NL[FHVRS
M"24S=D:2X3CA]KQP990&06(M@A20<;,,>I9ITEI+O-:^F&2)<K9JO,W-6LW5
MIKG1^HPE3E>"F&-[U;HJ'I#0M@6H(LP#V!7!'3I@KZ];O9(E4NVLSXJ96LN?
M4"'!);R/=MB-,]./,+8\03HS6)19KB =P0'KV8G( 1(1KZ][I<U$5,YJ!DT1
M:"LQ.Y-MRM7Q,.&QO3-!NB )2=QCBG:FJ-?4K_7^NBC5^MF8*F!#U.D 23"S
M[P-7@(Y2S!FV#0&Z((ZCI,=0AT+$ST*[V;>;<^C-\QB]!;=<,B@&#1HM'2K:
M<1H[$B)^%+HIM#1QV\T(3!]W5YHA@X#9<P+0F=40.9,<T,6$T;Z5V_$0\0-1
M:V8W+4 O+L 0LVLXT]N5)0R'MA$@&,6L;VYW,$1>H"%S8$=O<K-DWR)S.)ZM
M1+&4]=EJ(;(2/8I\*VONF\LR>VSND57_KNNR#F6&_VR_KBS &-OT!\C.**6]
MVU.'3L0+%Q-SB#='],+,PKW999<"T%8$W4PHX[8O0!?6P&H;<W4$LPCW^.JH
MAOBQYJ8P@Z.;N_U^/&MCH",7/D@<NH9<V5EL4,;V T1+:-_$[$B&^%&F9]-M
M9A^\\[KL<1:0A-@@ ^GB(.'.B@-T44)QS]9!.YBA?IBYV7O:#=*#7)@)^6Q4
MBZ^R:NA-_KG-]+=Z)1JB*PP<5/4ZK+8/53;/1)G!D$!=4B$LYJ$]MJ".NY
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
M;[5R+]>$ V5%A6FM,_*.5-9 )V-"?8\=JMRR)9#X25]HFAF_S'(:_V"%'U&
M>@;73608P&ZW:;H)=&'OI..@=ART.AZ9O&(I>3K?2CQ7F4LR,,(4+U),0<PR
MS,&$)I<FTT'3BNMZ;M-S$XA0&+BP:;J)A"&"*#SI.ZQ]AS^ZTVIK3>["QE)>
MVWH3$;4ACFQT:QO=5AL/9,-XN4^?R4HEL#&5J4R) '].23XG_"_P#YAAKFN1
MWFI,OYN\M4[R7Q/;.<6B,XD=!;=7![=WY@+1.V<<SRD6G4GL*([0>3D9.?^C
M1%3DP\^BYR.OF0-'!B3T@M!IYIC(! VAWSU=).#!00_^G#)1S7-<)U16]PW6
MF]"NTT.&0F% ^AXZ;1N]V$8_K5944[VC6!B0IZJ% ?I&N8 OAT78>H;Z@8)1
M"08M%>-M2-0**;W8!SU+3OBJZ/V$6NN6RO)P7S^M^\OKHJMZ]?Q&]YU%+_0B
M4S:M4\Q7*14@(TLEZ5R&*L:\[ /+@62;HC.:,ZGZK.)VK7IGPC5 O5\R)I\'
M>H*Z&Q_^"U!+ P04    "  Q,%)55,?3QP<.   +50  &@   'AL+W=O<FMS
M:&5E=',O<VAE970Q,C8N>&ULO9QM;]M&$L>_"N$K#@E0U]QG,I<82,4$#= T
M09U>7QSN!2VM+5XE4B4I.R[NP]\LJ7C%W>%*BIDKBM:6_QQQ9I]^.SODR_NJ
M_J-9:MU&G]>KLGEUMFS;S8N+BV:^U.N\^:':Z!+^<E/5Z[R%7^O;BV93ZWS1
M7;1>7= XEA?KO"C/+E]VGWVL+U]6VW95E/IC'37;]3JO'W[4J^K^U1DY^_+!
MK\7MLC4?7%R^W.2W^DJWOVT^UO#;Q:.51;'695-4953KFU=GK\F++*'F@D[Q
MST+?-WL_1\:5ZZKZP_SR;O'J+#9WI%=ZWAH3.?SO3L_T:F4LP7W\N3-Z]OB=
MYL+]G[]8?]LY#\Y<YXV>5:O?BT6[?'66G$4+?9-O5^VOU?U/>N>0,/;FU:KI
M_AO=[[3Q633?-FVUWET,=[ NRO[_^>==(/8N('+D KJ[@+H7\)$+V.X"=NP%
M?'<![R+3N]+%(<O;_/)E7=U'M5&#-?-#%\SN:G"_*$V[7[4U_+6 Z]K+MT69
ME_,B7T57;=YJ:-$VNH+.M=BN=/0N.H^N/KW^].;]FU\^744?WD:SUU<_16]_
M_O#[5?0LTVU>K)KG(/KM*HN>??<\^BXJRNC3LMHV>;EH7EZT<(?F>R[FN[OY
ML;\;.G(WA$;OJ[)=-M&;<J$70P,7X-JC?_2+?S_2H,5,SW^(&/D^HC$ER W-
MCK\\1B[/CKZ<I %OV&-KL<X>&['W8:/KO"W*VWZ\%&VAFQ=8F'LS'#=CYI(7
MS2:?ZU=G,%DTNK[39Y=__QN1\3^P$$UI+)O(V"!\_#%\/&3]\A>81XMR7JTU
M%K/^6ME=:Z;+NTL2IXF2+R_N]J.!R+BBW)%EB$Q*(<2C;."!>/1 !#O Z\5_
M8$XPH[2)V@HFWGD%HQ>&:OGHFOG<_#;/FV6TJ:N[ D92=/T0/=LV\$-1/H^J
M8[N1F+(;36DLF\C8H!'D8R/(8#?*-!B%.;-?N,I%E*^KNBW^ZC[ PMB;$WM]
M@294R=3I68@L3@E)G)[ERXA(%65XSU*/3JF@4Z_G\UIW'E4W$?2J.PTN79N>
M5;4:G<J5?Q]<$L<G7\02UZ'@C7UE6R:/;B=!MW^NFB9Z=IMWPZ*,%D6SJ1I8
M#2$(,'9@G+0/WT>;50[+HFEI_>>VV)CAAP4D\7Q-F!,.7W).A2/*?!&A5.'-
MFS[ZF9[BYWR9E[?:K-8W>5%'=_EJJXW/"UT7=[E!,;3)4^3VF4J$XR4B$W$<
M.WTC\V64TKWN/G"4Q)9HXG!/7@', M3H"+ X@EZ]*-IH!?[C/NVL[=^&DL1U
M"5'!VL =CQ 5H2(>\6B/T4C0HZME7NMS@[<+&)IK8/YF=*[9F1KTPB1.7'=\
M%:%L[TYW_B"R6"9TQ"%J':+!96S6=;_&]+^]M0A:")8U,\Q617Y=K,;7I9WY
MB1:F2:UE4UD;AM82(@D2E)G'JZW! UBB-(QE,X6W=;Y D6=G:SB@$^Z/:$0H
M!5.IVU]\F2!2C0T RVTD#&ZOU[U/"YBE;NIJ#=O4ZZ98%'E=C QJ[CLFDY10
MUR]?1Z%_NRL49HXHQD<F96)QC@1!Y?)CK3=Y >O*9S.H==_[JW:I8>+:UK79
MC?7# G52^'>5""6XZR2B4S#1>E[Z.L9H,@(6Q.(2"?/2A\Z?LBK/C_ )@R F
ME.N2+SLG)"7N4HKI*(_96,-96B('<:GODIO\P8PQU!>$D$A,729 9.?051-O
M,O9UA@_5R):"6 0B80;:'UVP>3@XMA"((<H%/TR5*N4U$"(3*AV# (L[Y #O
M[%:0APX"MD #=0OP$[7YYP@(KS#+)^X= B^*)IY[B$RZ39MA*J[&6HQ:Q*%A
MQ#$;V86^T3":%IU+XP.*^DAR+A5+W&TMIJ.$,W>*QW2$\K&-+;600\.08WP"
M)]I5GX0Z#*/4AQ,&DYKG&")CL3M)9HCLG*J8C+ .M:Q#@PM^Y]>)>W'46XIT
MI3BAWFR/"0D%AUW\1H02()V0$8\M@M!PENH=;!Z;8](+=-(TU:36LJFL#6-H
MB8<>3E5UO6;74>!?/ZAH3!%4X305*G;["2)D))62NOT$$=*4PTHVTE$L_=!P
M-FN7?#ZBHTR:B)K46C:5M6$,+5S1,%S]"@#Y\&7&;)95W9ZWNEY'UU4-MB"V
M>"_!^"F!=3?QIA-,*:1).;G]!%-*GBHZ-J-8VJ)AVC*C :;/N=:+IM\ %$VS
M[?;X7;9JO:Y*<!YVR;BW6*HJ$<0;$A-EHG;Q^!9Y+6JICH:I[N,@7O.]'?=]
MJ>MF66S@%^@J,*MT'^]C7W1?M,MJVW[)$_4IP;:N5FAXD815',<NYR(R*@GL
M,-Q^A)B#YAI!0FJ1D(:1\% G.B+E&?Z&D^>A*:UE%&%-0I6(1W;?S-(F"]/F
MQWZ":3J4A@WKMH9NT1PW],*F3SZ)0N!3I-+%;DQ&2,)'&)591F5A1AV.*?U9
MU_.B#T335O,_ .9&]Q5ARR<' DO,,>'& <D%CFT^F 5:]B2@O4$6=30@"'X2
M'GL;2427F%2EB[.([IQQ,#GB[]Z9:SBC]N;F1L^[Y55_WLV'0.SZRY2*^N;G
MP4C"J+O>(#(1I]["BLC.92K'&M(R)COJ.+369C _6^C^I^=F,3#M^WW?RN;(
MXRY?=1. R4Z9!:,NYJW)1</?4?<Q8H0="'.7!$3(F:%5-P)8FHYS-C:U60)E
MX?S;[&@_H[R-VJ6.KO5M49:F>T.',!\\Z+Q&@^!GTXADJ?*.%C"AB9;;73)$
MF'+H+V-1L S)P@QY>A2T25,>\!\YIS2-F[@Y6$R(!2K#A$Z@A@&P?,E4<"-R
MM=UL^KQ#OC)G@/-5U6SK?H4S7M^LP&)1]F56,,/C-1=3TN-L4FO95-:&\;4L
MRL(L^FX'FE&7['YFRA,@M/DN[SC/-P4$OOA++YZC@?6!4 %@NHD>3)8H[LVF
MR#&M8')D,\LL7K(P7G[,N]3VK%IO\O(A^F\$.S/8C74',#_K6^A8;\JV6PVC
M?[W7ZVM=_QMU=E+$G-1:-I6U8?&.Y5 >!T?IT=5/?%+HG-1:-I6U80PMP?+#
M6=9 "90/C*F@W#T]1F2$2^7N^#),!]-Z,D(NW"(H#Y\?_Y_+H/BDQ\V36LNF
MLC9L"0O'/ S')]="<02-W;J#&2KR*NPPT0CM\[T2P0-'S2?707$?3I%"*$3E
M5T*%[^UK&]/2, _3<%<DY%1!'3H-#)L\>6Q,FIKE"%D3F>R5+0P#98&9AX%Y
MFFHJCB1,><S=31(FHX)YYSF(3I!TY/2>6S;F!TZZ3RNG"EL[N3\@]8-N,4"&
MB,['JA:X958>9M8WL!-J'TRCP@;';/B:HX8#=C@>$^95U*!"16CJ+:*(D,7)
M?OY]Z*$E5AXFUE/*RKB?743*RA 55E:&R<;+RH0%1!$&Q*>6E8E)N7%2:]E4
MUH:AM=PHPMQX<@66P,[3H9%3=_N/"&FB$NGN_C&#G,FQ')"P,"G"^<PGU6 )
M/^M(%'-+>F>([)PPXM8'9ZBYT2($83%-A#'ME!(L@:0;>1J[)5B(C"9<N/4B
MF#4">X 1CRRGB>-+ H\H6A+HL3BE[G$GIF,\%K%[2H4(H3GE6'I=[#WA$8:P
M#X.>MS=EH6XAI7U4>8O(#-%![XN]QD+-Q2,KC;"\) [PTM=68PF$?43JI5 1
M&7/S0QDBXO%8/[1X) X?31]9BB5\3DEBSQ4$9KAT-PJ8"MAA;)ZPT"/"T'-R
M$9;PZ81++\^/J$@JB MRB SF"D+'QI0E'7'XZ'>"&BR!/?\@.77/HF:H$%8U
MSV$$A)A,4XD[+"T)R3 )'5V")2=%GDFM95-9&\;0(H\,(T\?PS[)Y-1'H)%$
M^ 2XG[MYBQDJA&Z4N+T#$S))^%COL,0CP\3C>);?W,#DG(^D-R2"+H*ZA;PS
M3$:5="=A5,;'=FO2 HX, \[;;;G8'<JMJKQLCF$"B3W]$!/B(2HJA 9S$Z,9
M)N2Q'"O!D)9V9)AV!E5>O8-]!<N7@Q7[M ?N*G* *EA"O+Z)Z&+N;EXS1$;H
M/DX,W;3L(\/L\]55CQ(!EY00;W7%=$S!H/+Z*2*4<O2H4>X].RJ#,_/1-8\R
MB%0GS\Q36LNFLC:,H64N&6:NKZMYE%B:*(YC-_F,Z)@OR\+W^+4QL*0FCRSO
M6U7E[5'N!^V=W)^FM)9)'_S$(.3#(%GNDV'N\U:%;M+,[<KP@$8*>3 5[2B3
M'JY.96WX]+<E1G7XD9(GE-@JY,E7K,0V?!>GQFPJ:\.864)4IY0#?LL2V_"-
MG#IX%9)R,X_PN-FHJ;YU&%Z+J>IPH>$3"W;#WW!RW'QXI;"MHRX\3/6MP[A9
M%E9A%@[6ZQX3M$D?RYG46J:P=&*@REE9Q%9AQ'Y*E7/8],D10W*02)4S)@M4
M.2M+X2I,X4^H<@Y;/CD0R/FM7^6,J$:KG)7E=!5.64Y4Y:R0S"2Z+B+)205S
MLGO(B^C.DX2//6*O]E[_$F;JKZAR5@A0*[=Z>8:I./-?F(3H"/PSYI@%974X
MI?E-JIP5DJU4PDN](S)&E?LF@@RS)E4R4L^B+ *K, )_PPIGY7,R$S%U]]R(
MC#+O27U$E<9C9]R)Q=HDC+7?I+0Y\6&7*NX^R#1#9$A\,LS:?GR&GELX34@P
MT3!)37,R*7=.:BV;RMHPOI9.DT-)U*?4-.^,[[\?CL94>5W(EZG42ZHB*BZY
M.W5<[+TE<JWKV^YMFW"GYH;[%RH^?OKX1L_7W7LLG<]_)"^R_KV<UDS_FM#W
M>0US1Q.M] V8C'\P2W/=OWFS_Z6M-MV[**^KMJW6W8]+G2]T;03P]YL*H'3W
MB_F"Q_>?7OX/4$L#!!0    ( #$P4E64;HS[CPL  /EC   :    >&PO=V]R
M:W-H965T<R]S:&5E=#$R-RYX;6R]G6USVS82Q[\*1C?3469Z$L%GIK9G;,=.
MW-BM)TK::6_N!2S!$AN24/D0QYW[\ =2E!922)"B@>2%HR<"2^R2/^)/[/+D
MB:6?LQ6E.?H:1TEV.EKE^?KU=)K-5S0FV82M:<*_>61I3'+^-EU.LW5*R:+:
M*(ZFIF&XTYB$R>CLI/KL/CT[844>A0F]3U%6Q#%)GR]HQ)Y.1WBT_>!#N%SE
MY0?3LY,U6=(9S3^M[U/^;KIK91'&-,E"EJ"4/IZ.SO'K"VS;Y1;53WX+Z5,F
MO$;EOCPP]KE\<[,X'1FE232B\[QL@_#_OM!+&D5E4]R0O^M61[M.RPW%U]O6
MKZN]YWOS0#)ZR:+?PT6^.AWY([2@CZ2(\@_LZ1VM]\@IVYNS**O^HJ?ZM\8(
MS8LL9W&],;<@#I/-_^1K/1+"!MAMV<"L-S KNS<=55:^(3DY.TG9$TK+7_/6
MRA?5KE9;<^/"I'3++$_YMR'?+C\[7W,'+\*O"*-_HSOR%TO1K'C(PD5(TI!F
MB#VBR]D-&K^A.0FC[-7)-.>]EMM.YW4/%YL>S)8>L(GN6)*O,G25+.ABOX$I
M-W=GL[FU^<*4MOB&SB?(PC\BTS"QI#UK-P96U9[=TEZY@V5<9.B237Y$M_EB
MTK2;TD;*P^=UMB9S>CKBQT=&TR]T=/;#O[!K_"0QT=Z9:%>M6RTFMGJFR5!;
M@Z'.SE!'.I;G>9Z&#T5.'B**KOXNPOP9W20YY3WEZ!V-%FA,,D30FJ9SFN2-
M\;3I 1M5%^5YY<N9,?$")S#@'_?[EP8SW9V9;J?+?^&GC*N$ILMG](Y%BS!9
MROTO;7'@L'H[>SUU_O<T&.KO#/6U^W_3@R^XO\7;P<ZH0.YMDA ^; F:L8BD
M_#27%(\<!T5:^GQ\6[!GDBQ?<3OGC8Z7-CYP/+$!)VA#G>OKMA3;*L $:_=^
MW44/]V,3[#)?$ "7*^[^;%6T1X"\^:'#"GS"EL(0T,$I#*#"4KRH"0&[=P@
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
M9;6.7O6/R_ZYZ_[QTJ@S#107_K/O-0- W[0H5!)W[7_C*B[W=<HDM7L4;P#
MO0- (VA35\*; G#O"M"$24-^O*$QG_ZG!@JEQ+U10#.H':VVXBG/UAHHE!+W
M5@%O:LQ:+CK4$?=N <WU9HTS9;QO /?& :WK(:M,F)8!,?$6 MQ[" !0/[C5
M6A3N)&!R;R6P3WG%42*"BJ&>A01TWO5S(H6CS43@C@(F]Y8"$%0W$MQMP.3>
M;@"#]C10:"3N70@P:%\#A4[BWHX @PXT4.@D[IT),.A0 X5.XMZE -:>ONE,
MT$S<NQ:X9SH,M,]^NX+S^NO%E\]KN8E3N7;I1 4=7T7):IF+ZN7UGAY4CM@\
M)\F4CGGI/(O6A]TG#SMG?OD+4$L#!!0    ( #$P4E776KD5?0,  !-+   :
M    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VTM.&T$4A>&M("\@7;?>
M%0&C3)A&V8 %S4,!;+D[2K+[H#" <Y5!)JC_D=6V7#ZC3Y;=__G7^7&_/AR>
ME_N'XW+VZ^GQ>;G8W:_K\?,T+=?W\]-^^70XSL\OK]P>3D_[]>7R=#<=]]??
M]W?S%$.HT^G]&;O+\_=GGGW[?9S_Y\3#[>W#]?SE</WC:7Y>_W'P]/-P^K[<
MS_.Z._NV/]W-Z\5N^O7X]O0R_7VP3R\G[\ZN;BYVIZL;VTU;#XHR*&X_*,F@
MM/V@+(/R]H.*#"K;#ZHRJ&X_J,F@MOV@+H/Z]H.&#!K;#[*@,@; )(<U0&M3
MK@W@M2G8!A#;E&P#F&V*M@'4-F7; &Z;PFT N4WI-H#=IG@;0.^H>D> WE'U
MC@"]H_NR#= [JMX1H'=4O2- [ZAZ1X#>4?6. +VCZAT!>D?5.P+TCJIW!.B=
M5.\$T#NIW@F@=U*]$T#OY'XL >B=5.\$T#NIW@F@=U*]$T#OI'HG@-Y)]4X
MO9/JG0!Z9]4[ _3.JG<&Z)U5[PS0.ZO>&:!W=C]V _3.JG<&Z)U5[PS0.ZO>
M&:!W5KTS0.^L>F> WD7U+@"]B^I= 'H7U;L ]"ZJ=P'H753O M"[N#\K 7H7
MU;L ]"ZJ=P'H753O M"[J-X%H'=5O2M [ZIZ5X#>5?6N +VKZET!>E?5NP+T
MKJIW!>A=W<TF +VKZET!>E?5NP+TKJIW!>C=5.\&T+NIW@V@=U.]&T#OIGHW
M@-Y-]6X O9OJW0!Z-]6[ ?1N[F9!@-Y-]6X O9OJW0!Z=]6[ _3NJG<'Z-U5
M[P[0NZO>':!W5[T[0.^N>G> WEWU[@"]N^K= 7IW=[,W0.^N>G> WD/U'@"]
MA^H] 'H/U7L ]!ZJ]P#H/53O =![J-X#H/=0O0= [Z%Z#X#>0_4> +V'BW4
M>EOPN0[ ;PLNV D P2VX9"< #+?@HIT 4-R"RW8"P'$++MP) ,DMN'0G "RW
MX.*= -#<@LMW L!S"R[@"031?8#)*#!]@DD0W4>8B K39YB(#M.'F(@2TZ>8
MB!;3QYB(&M/GF(@>TP>9B"+3)YF$)M-<E&F$*M-<EFF$+M.BS^H)HKLTTPAM
MIKDXTPAUIKD\TPA]IKE TPB%IKE$TPB-IKE(TSZTTES6WX_S\K;H]=H-^$B]
MUY?WSF^?__?R]4DGXVN&.;V?L5S^ 5!+ P04    "  Q,%)5 ?>5R[("  #;
M1P  $P   %M#;VYT96YT7U1Y<&5S72YX;6S-V\UNFT 4AN%;L=A&ACD##%#%
MV;3=MEGT!J@9Q\C\B9FDSMUW<'ZD5JG5R)7Z;HP,,^<<&.G9?=??'B?K5L>^
M&]PFVGL_?4@2M]W;OG;Q.-DA/-F-<U_[\'>^2Z9Z>ZCO;**5,LEV'+P=_-HO
M-:*;ZT]V5]]W?O7Y&&Z[=APVT6P[%ZT^/BU<>FVB>IJZ=EO[\#QY&)K?NJR?
M.\1AYVF-V[>3NPH+HN3-#LN3/S=XWO?UP<YSV]C5;3W[+W4?5B7'+G'^L;,N
M/E_BC1G'W:[=VF;<WO=A2^RFV=:-VUOK^RY^*GIUOK,/7]@^_<K%_4]ESC4,
M*V_G<7+AQ&;[_G8O1[+L7D^AD)U]>_X57SN&TA>_GUU.N['-7_8.G_?'.!].
MY^&2T^7R;_SK&;_6?^<<&C)'"IDC@\R10^8PD#D*R!PE9(X*,H<HRB 4485"
MJE!,%0JJ0E%5**P*Q56AP"H4635%5DV155-DU119-45639%54V35%%DU159-
MD36ER)I29$TILJ8465.*K"E%UI0B:TJ1-:7(FE)DS2BR9A19,XJL&476C")K
M1I$UH\B:463-*+)F%%ESBJPY1=:<(FM.D36GR)I39,TILN8467.*K#E%5D.1
MU5!D-119#4560Y'54&0U%%D-159#D=509"THLA8460N*K 5%UH(B:T&1M:#(
M6E!D+2BR%A192XJL)476DB)K29&UI,A:4F0M*;*6%%E+BJPE1=:*(FM%D;6B
MR%I19*THLE8462N*K!5%UHHB:T61512%5E$46T51<!5%T544A5=1%%]%48 5
M11%6%(5841AC07$LC+&<0!8GD<6)9'$R69Q0%B>5Q8EE87)9@@EF"2:9)9AH
MEF"R68()9PDFG268>)9@\EGR7P-:W\?Q\(_;GZYQ7[?#2_]D*>IN?@)02P$"
M% ,4    "  Q,%)5!T%-8H$   "Q    $               @ $     9&]C
M4')O<',O87!P+GAM;%!+ 0(4 Q0    ( #$P4E62!7$Z[0   "L"   1
M          "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( #$P
M4E697)PC$ 8  )PG   3              "  <L!  !X;"]T:&5M92]T:&5M
M93$N>&UL4$L! A0#%     @ ,3!25??^3I>U!@  XQX  !@
M ("!# @  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( #$P
M4E54[2Q"U H  (,N   8              " @?<.  !X;"]W;W)K<VAE971S
M+W-H965T,BYX;6Q02P$"% ,4    "  Q,%)5$.9E7N\"  #$"   &
M        @($!&@  >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL4$L! A0#%
M  @ ,3!253*O^,H5!P  RAX  !@              ("!)AT  'AL+W=O<FMS
M:&5E=',O<VAE970T+GAM;%!+ 0(4 Q0    ( #$P4E48GT=QW0,  )\-   8
M              " @7$D  !X;"]W;W)K<VAE971S+W-H965T-2YX;6Q02P$"
M% ,4    "  Q,%)5V*O3+I4"  #"!@  &               @(&$*   >&PO
M=V]R:W-H965T<R]S:&5E=#8N>&UL4$L! A0#%     @ ,3!250QYYLGT#@
MCW\  !@              ("!3RL  'AL+W=O<FMS:&5E=',O<VAE970W+GAM
M;%!+ 0(4 Q0    ( #$P4E5'KE.!= (  &D%   8              " @7DZ
M  !X;"]W;W)K<VAE971S+W-H965T."YX;6Q02P$"% ,4    "  Q,%)5AN5?
M+DP/  "84P  &               @($C/0  >&PO=V]R:W-H965T<R]S:&5E
M=#DN>&UL4$L! A0#%     @ ,3!25;/%TL<1 P    L  !D
M ("!I4P  'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"% ,4    "  Q
M,%)59?BN8TH(  !B%   &0              @('M3P  >&PO=V]R:W-H965T
M<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0    ( #$P4E6J8^8:3R@  $2&   9
M          " @6Y8  !X;"]W;W)K<VAE971S+W-H965T,3(N>&UL4$L! A0#
M%     @ ,3!255XD/DB]!   C0X  !D              ("!](   'AL+W=O
M<FMS:&5E=',O<VAE970Q,RYX;6Q02P$"% ,4    "  Q,%)5NQ78@G$#  ![
M!P  &0              @('HA0  >&PO=V]R:W-H965T<R]S:&5E=#$T+GAM
M;%!+ 0(4 Q0    ( #$P4E6;ZJ*V\P(   L'   9              " @9")
M  !X;"]W;W)K<VAE971S+W-H965T,34N>&UL4$L! A0#%     @ ,3!253;Q
MM2K+ P  F@@  !D              ("!NHP  'AL+W=O<FMS:&5E=',O<VAE
M970Q-BYX;6Q02P$"% ,4    "  Q,%)5[0$&9N$"   *!P  &0
M    @(&\D   >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+ 0(4 Q0    (
M #$P4E7GMVNT@P,  - )   9              " @=23  !X;"]W;W)K<VAE
M971S+W-H965T,3@N>&UL4$L! A0#%     @ ,3!25>T7_#?@"P  \B8  !D
M             ("!CI<  'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6Q02P$"
M% ,4    "  Q,%)5S=T0IF\%   Z#0  &0              @(&EHP  >&PO
M=V]R:W-H965T<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    ( #$P4E5RR$IL, @
M ,X6   9              " @4NI  !X;"]W;W)K<VAE971S+W-H965T,C$N
M>&UL4$L! A0#%     @ ,3!256($YV3]!@  K18  !D              ("!
MLK$  'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6Q02P$"% ,4    "  Q,%)5
M"XX<"_L+  !=(P  &0              @('FN   >&PO=V]R:W-H965T<R]S
M:&5E=#(S+GAM;%!+ 0(4 Q0    ( #$P4E484:*&N@,  +T(   9
M      " @1C%  !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL4$L! A0#%
M  @ ,3!25>.<X=#' @  >@8  !D              ("!"<D  'AL+W=O<FMS
M:&5E=',O<VAE970R-2YX;6Q02P$"% ,4    "  Q,%)5+$8^5H($  !1"P
M&0              @($'S   >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;%!+
M 0(4 Q0    ( #$P4E6.,?6I"00  %@)   9              " @<#0  !X
M;"]W;W)K<VAE971S+W-H965T,C<N>&UL4$L! A0#%     @ ,3!258NQCVA(
M$P  W#L  !D              ("! -4  'AL+W=O<FMS:&5E=',O<VAE970R
M."YX;6Q02P$"% ,4    "  Q,%)5:3U9"AL$  #J"P  &0
M@(%_Z   >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;%!+ 0(4 Q0    ( #$P
M4E6P0=!G8 <   \7   9              " @='L  !X;"]W;W)K<VAE971S
M+W-H965T,S N>&UL4$L! A0#%     @ ,3!25?ECZ53\'0  -GD  !D
M         ("!:/0  'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6Q02P$"% ,4
M    "  Q,%)5OR=?;R(/  "2+@  &0              @(&;$@$ >&PO=V]R
M:W-H965T<R]S:&5E=#,R+GAM;%!+ 0(4 Q0    ( #$P4E4"/**>M (  (L&
M   9              " @?0A 0!X;"]W;W)K<VAE971S+W-H965T,S,N>&UL
M4$L! A0#%     @ ,3!25;NJT>RJ P  : @  !D              ("!WR0!
M 'AL+W=O<FMS:&5E=',O<VAE970S-"YX;6Q02P$"% ,4    "  Q,%)52LG
M#&0'  !@$P  &0              @(' * $ >&PO=V]R:W-H965T<R]S:&5E
M=#,U+GAM;%!+ 0(4 Q0    ( #$P4E5OHWQ4-PP  %TD   9
M  " @5LP 0!X;"]W;W)K<VAE971S+W-H965T,S8N>&UL4$L! A0#%     @
M,3!251$CR]TL"   "B(  !D              ("!R3P! 'AL+W=O<FMS:&5E
M=',O<VAE970S-RYX;6Q02P$"% ,4    "  Q,%)51N0[R3Y-  "=&0$ &0
M            @($L10$ >&PO=V]R:W-H965T<R]S:&5E=#,X+GAM;%!+ 0(4
M Q0    ( #$P4E50WP7+J 8  'X5   9              " @:&2 0!X;"]W
M;W)K<VAE971S+W-H965T,SDN>&UL4$L! A0#%     @ ,3!25>/DNBS.!
M5!(  !D              ("!@)D! 'AL+W=O<FMS:&5E=',O<VAE970T,"YX
M;6Q02P$"% ,4    "  Q,%)5L'9+L'4"  "/!0  &0              @(&%
MG@$ >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0    ( #$P4E78
M D>,GP(  $4&   9              " @3&A 0!X;"]W;W)K<VAE971S+W-H
M965T-#(N>&UL4$L! A0#%     @ ,3!252"O$*!* P  % <  !D
M     ("!!Z0! 'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6Q02P$"% ,4
M"  Q,%)5\'/J49H"   Y!@  &0              @(&(IP$ >&PO=V]R:W-H
M965T<R]S:&5E=#0T+GAM;%!+ 0(4 Q0    ( #$P4E6$%PM7WP(  !8(   9
M              " @5FJ 0!X;"]W;W)K<VAE971S+W-H965T-#4N>&UL4$L!
M A0#%     @ ,3!254=$]X$0!   #P\  !D              ("!;ZT! 'AL
M+W=O<FMS:&5E=',O<VAE970T-BYX;6Q02P$"% ,4    "  Q,%)5/(>OV0P#
M  !%!P  &0              @(&VL0$ >&PO=V]R:W-H965T<R]S:&5E=#0W
M+GAM;%!+ 0(4 Q0    ( #$P4E5UZL_P)@,  +('   9              "
M@?FT 0!X;"]W;W)K<VAE971S+W-H965T-#@N>&UL4$L! A0#%     @ ,3!2
M56L5K>X6!@  9!4  !D              ("!5K@! 'AL+W=O<FMS:&5E=',O
M<VAE970T.2YX;6Q02P$"% ,4    "  Q,%)5P&[$8(\$   C#0  &0
M        @(&CO@$ >&PO=V]R:W-H965T<R]S:&5E=#4P+GAM;%!+ 0(4 Q0
M   ( #$P4E6Y#I?,P (  #D&   9              " @6G# 0!X;"]W;W)K
M<VAE971S+W-H965T-3$N>&UL4$L! A0#%     @ ,3!25=6;1@HZ"0  6QP
M !D              ("!8,8! 'AL+W=O<FMS:&5E=',O<VAE970U,BYX;6Q0
M2P$"% ,4    "  Q,%)5R[DD)PP$  #0"P  &0              @('1SP$
M>&PO=V]R:W-H965T<R]S:&5E=#4S+GAM;%!+ 0(4 Q0    ( #$P4E412>%+
M: (  #D%   9              " @134 0!X;"]W;W)K<VAE971S+W-H965T
M-30N>&UL4$L! A0#%     @ ,3!2578YK5)]"0  U!T  !D
M ("!L]8! 'AL+W=O<FMS:&5E=',O<VAE970U-2YX;6Q02P$"% ,4    "  Q
M,%)5*RZH2L$"  !,!@  &0              @(%GX $ >&PO=V]R:W-H965T
M<R]S:&5E=#4V+GAM;%!+ 0(4 Q0    ( #$P4E76^ZH/@P8  %4P   9
M          " @5_C 0!X;"]W;W)K<VAE971S+W-H965T-3<N>&UL4$L! A0#
M%     @ ,3!2582.<Q^" @  108  !D              ("!&>H! 'AL+W=O
M<FMS:&5E=',O<VAE970U."YX;6Q02P$"% ,4    "  Q,%)5N]> H.8$  "K
M(@  &0              @('2[ $ >&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM
M;%!+ 0(4 Q0    ( #$P4E5R7,KS$P,   (-   9              " @>_Q
M 0!X;"]W;W)K<VAE971S+W-H965T-C N>&UL4$L! A0#%     @ ,3!25?6)
M!5S@ @  [ <  !D              ("!.?4! 'AL+W=O<FMS:&5E=',O<VAE
M970V,2YX;6Q02P$"% ,4    "  Q,%)5A]L?WK4"  #U!P  &0
M    @(%0^ $ >&PO=V]R:W-H965T<R]S:&5E=#8R+GAM;%!+ 0(4 Q0    (
M #$P4E4@&KD=H ,  .X0   9              " @3S[ 0!X;"]W;W)K<VAE
M971S+W-H965T-C,N>&UL4$L! A0#%     @ ,3!25>WC1^+B!   :!X  !D
M             ("!$_\! 'AL+W=O<FMS:&5E=',O<VAE970V-"YX;6Q02P$"
M% ,4    "  Q,%)5\+G#N6P#  "<"@  &0              @($L! ( >&PO
M=V]R:W-H965T<R]S:&5E=#8U+GAM;%!+ 0(4 Q0    ( #$P4E4NE@D7S@(
M +('   9              " @<\' @!X;"]W;W)K<VAE971S+W-H965T-C8N
M>&UL4$L! A0#%     @ ,3!25=0VOS>K P  #@T  !D              ("!
MU H" 'AL+W=O<FMS:&5E=',O<VAE970V-RYX;6Q02P$"% ,4    "  Q,%)5
MQ-9/@PP)  !57   &0              @(&V#@( >&PO=V]R:W-H965T<R]S
M:&5E=#8X+GAM;%!+ 0(4 Q0    ( #$P4E4\5IIS!0,  #X-   9
M      " @?D7 @!X;"]W;W)K<VAE971S+W-H965T-CDN>&UL4$L! A0#%
M  @ ,3!254(\N^V\ P  1!,  !D              ("!-1L" 'AL+W=O<FMS
M:&5E=',O<VAE970W,"YX;6Q02P$"% ,4    "  Q,%)5?1F+D=,'   0.0
M&0              @($H'P( >&PO=V]R:W-H965T<R]S:&5E=#<Q+GAM;%!+
M 0(4 Q0    ( #$P4E5PEBR%=@,  %H,   9              " @3(G @!X
M;"]W;W)K<VAE971S+W-H965T-S(N>&UL4$L! A0#%     @ ,3!256G_*9TY
M P  4 L  !D              ("!WRH" 'AL+W=O<FMS:&5E=',O<VAE970W
M,RYX;6Q02P$"% ,4    "  Q,%)54&_K96D%   B(@  &0
M@(%/+@( >&PO=V]R:W-H965T<R]S:&5E=#<T+GAM;%!+ 0(4 Q0    ( #$P
M4E4GW/JJJ ,  %L0   9              " @>\S @!X;"]W;W)K<VAE971S
M+W-H965T-S4N>&UL4$L! A0#%     @ ,3!250[ +ZW@!   YAL  !D
M         ("!SC<" 'AL+W=O<FMS:&5E=',O<VAE970W-BYX;6Q02P$"% ,4
M    "  Q,%)5H'HIMW("  !&!0  &0              @('E/ ( >&PO=V]R
M:W-H965T<R]S:&5E=#<W+GAM;%!+ 0(4 Q0    ( #$P4E4]Z;NJ]@,  #T5
M   9              " @8X_ @!X;"]W;W)K<VAE971S+W-H965T-S@N>&UL
M4$L! A0#%     @ ,3!251V5V/$2!   $A8  !D              ("!NT,"
M 'AL+W=O<FMS:&5E=',O<VAE970W.2YX;6Q02P$"% ,4    "  Q,%)55HL3
M*AP#  !["0  &0              @($$2 ( >&PO=V]R:W-H965T<R]S:&5E
M=#@P+GAM;%!+ 0(4 Q0    ( #$P4E5@YV)@" ,  )P*   9
M  " @5=+ @!X;"]W;W)K<VAE971S+W-H965T.#$N>&UL4$L! A0#%     @
M,3!25<YZ:#RG P  %PX  !D              ("!EDX" 'AL+W=O<FMS:&5E
M=',O<VAE970X,BYX;6Q02P$"% ,4    "  Q,%)5FI@?. H&  !9.0  &0
M            @(%T4@( >&PO=V]R:W-H965T<R]S:&5E=#@S+GAM;%!+ 0(4
M Q0    ( #$P4E7#T%2D_P(  %X*   9              " @;58 @!X;"]W
M;W)K<VAE971S+W-H965T.#0N>&UL4$L! A0#%     @ ,3!25<0L[3Q9"P
M;XP  !D              ("!ZUL" 'AL+W=O<FMS:&5E=',O<VAE970X-2YX
M;6Q02P$"% ,4    "  Q,%)5!=-@*2X#  #I"@  &0              @(%[
M9P( >&PO=V]R:W-H965T<R]S:&5E=#@V+GAM;%!+ 0(4 Q0    ( #$P4E7?
MF3,H+0,  )@)   9              " @>!J @!X;"]W;W)K<VAE971S+W-H
M965T.#<N>&UL4$L! A0#%     @ ,3!250DC94B! @  I@<  !D
M     ("!1&X" 'AL+W=O<FMS:&5E=',O<VAE970X."YX;6Q02P$"% ,4
M"  Q,%)5:X=22\,"  !W"   &0              @('\< ( >&PO=V]R:W-H
M965T<R]S:&5E=#@Y+GAM;%!+ 0(4 Q0    ( #$P4E5/R,4A@ (  ((&   9
M              " @?9S @!X;"]W;W)K<VAE971S+W-H965T.3 N>&UL4$L!
M A0#%     @ ,3!25<6K]A5\ @  _08  !D              ("!K78" 'AL
M+W=O<FMS:&5E=',O<VAE970Y,2YX;6Q02P$"% ,4    "  Q,%)5B3^ZWH0"
M  !T!@  &0              @(%@>0( >&PO=V]R:W-H965T<R]S:&5E=#DR
M+GAM;%!+ 0(4 Q0    ( #$P4E6?U%.!40,  -X.   9              "
M@1M\ @!X;"]W;W)K<VAE971S+W-H965T.3,N>&UL4$L! A0#%     @ ,3!2
M55/LRX6J @  , D  !D              ("!HW\" 'AL+W=O<FMS:&5E=',O
M<VAE970Y-"YX;6Q02P$"% ,4    "  Q,%)5$+E&V'@#  #)#   &0
M        @(&$@@( >&PO=V]R:W-H965T<R]S:&5E=#DU+GAM;%!+ 0(4 Q0
M   ( #$P4E42I2DW@"   .YU @ 9              " @3.& @!X;"]W;W)K
M<VAE971S+W-H965T.38N>&UL4$L! A0#%     @ ,3!25<T!-, : @  ]@0
M !D              ("!ZJ8" 'AL+W=O<FMS:&5E=',O<VAE970Y-RYX;6Q0
M2P$"% ,4    "  Q,%)5AZ!=:1 $   0$P  &0              @($[J0(
M>&PO=V]R:W-H965T<R]S:&5E=#DX+GAM;%!+ 0(4 Q0    ( #$P4E5LS%S4
M  0  *42   9              " @8*M @!X;"]W;W)K<VAE971S+W-H965T
M.3DN>&UL4$L! A0#%     @ ,3!258(NVXTG @  !@4  !H
M ("!N;$" 'AL+W=O<FMS:&5E=',O<VAE970Q,# N>&UL4$L! A0#%     @
M,3!253?V_647 P  H@D  !H              ("!&+0" 'AL+W=O<FMS:&5E
M=',O<VAE970Q,#$N>&UL4$L! A0#%     @ ,3!253^C.6U  @  T@0  !H
M             ("!9[<" 'AL+W=O<FMS:&5E=',O<VAE970Q,#(N>&UL4$L!
M A0#%     @ ,3!25:X1)Q/G!0  W1P  !H              ("!W[D" 'AL
M+W=O<FMS:&5E=',O<VAE970Q,#,N>&UL4$L! A0#%     @ ,3!254@$=+/)
M!P   #T  !H              ("!_K\" 'AL+W=O<FMS:&5E=',O<VAE970Q
M,#0N>&UL4$L! A0#%     @ ,3!251YMA$PX"@  =&L  !H
M ("!_\<" 'AL+W=O<FMS:&5E=',O<VAE970Q,#4N>&UL4$L! A0#%     @
M,3!252=-C")F!P  'RX  !H              ("!;](" 'AL+W=O<FMS:&5E
M=',O<VAE970Q,#8N>&UL4$L! A0#%     @ ,3!252)E^B*,!@  2B0  !H
M             ("!#=H" 'AL+W=O<FMS:&5E=',O<VAE970Q,#<N>&UL4$L!
M A0#%     @ ,3!251$676)> P  > T  !H              ("!T> " 'AL
M+W=O<FMS:&5E=',O<VAE970Q,#@N>&UL4$L! A0#%     @ ,3!259+@U2*J
M!   4Q(  !H              ("!9^0" 'AL+W=O<FMS:&5E=',O<VAE970Q
M,#DN>&UL4$L! A0#%     @ ,3!25=@L:"(K+@  @-P# !H
M ("!2>D" 'AL+W=O<FMS:&5E=',O<VAE970Q,3 N>&UL4$L! A0#%     @
M,3!251Y),,N& @  ) 8  !H              ("!K!<# 'AL+W=O<FMS:&5E
M=',O<VAE970Q,3$N>&UL4$L! A0#%     @ ,3!257<+8'&^&   JPX" !H
M             ("!:AH# 'AL+W=O<FMS:&5E=',O<VAE970Q,3(N>&UL4$L!
M A0#%     @ ,3!25:49\+TA @  H 0  !H              ("!8#,# 'AL
M+W=O<FMS:&5E=',O<VAE970Q,3,N>&UL4$L! A0#%     @ ,3!255EA\1NW
M!0  3!T  !H              ("!N34# 'AL+W=O<FMS:&5E=',O<VAE970Q
M,30N>&UL4$L! A0#%     @ ,3!25=L25<G["P  BW,  !H
M ("!J#L# 'AL+W=O<FMS:&5E=',O<VAE970Q,34N>&UL4$L! A0#%     @
M,3!25;5TLRJ3!0  ["(  !H              ("!VT<# 'AL+W=O<FMS:&5E
M=',O<VAE970Q,38N>&UL4$L! A0#%     @ ,3!25?P_F I= P  R0X  !H
M             ("!IDT# 'AL+W=O<FMS:&5E=',O<VAE970Q,3<N>&UL4$L!
M A0#%     @ ,3!253<D=N80!   RA,  !H              ("!.U$# 'AL
M+W=O<FMS:&5E=',O<VAE970Q,3@N>&UL4$L! A0#%     @ ,3!256BU3WN<
M!0  6R$  !H              ("!@U4# 'AL+W=O<FMS:&5E=',O<VAE970Q
M,3DN>&UL4$L! A0#%     @ ,3!25<IN!MJ4!P  M3<  !H
M ("!5UL# 'AL+W=O<FMS:&5E=',O<VAE970Q,C N>&UL4$L! A0#%     @
M,3!25;Q'=@>2 @  _04  !H              ("!(V,# 'AL+W=O<FMS:&5E
M=',O<VAE970Q,C$N>&UL4$L! A0#%     @ ,3!253B(]Z:M"   $BP  !H
M             ("![64# 'AL+W=O<FMS:&5E=',O<VAE970Q,C(N>&UL4$L!
M A0#%     @ ,3!254GB4E(  P  _0H  !H              ("!TFX# 'AL
M+W=O<FMS:&5E=',O<VAE970Q,C,N>&UL4$L! A0#%     @ ,3!250V=%#J'
M"   SBP  !H              ("!"G(# 'AL+W=O<FMS:&5E=',O<VAE970Q
M,C0N>&UL4$L! A0#%     @ ,3!257PE+DWM P  F0\  !H
M ("!R7H# 'AL+W=O<FMS:&5E=',O<VAE970Q,C4N>&UL4$L! A0#%     @
M,3!2553'T\<'#@  "U4  !H              ("![GX# 'AL+W=O<FMS:&5E
M=',O<VAE970Q,C8N>&UL4$L! A0#%     @ ,3!2591NC/N/"P  ^6,  !H
M             ("!+8T# 'AL+W=O<FMS:&5E=',O<VAE970Q,C<N>&UL4$L!
M A0#%     @ ,3!257\;'2 7!   .A   !H              ("!])@# 'AL
M+W=O<FMS:&5E=',O<VAE970Q,C@N>&UL4$L! A0#%     @ ,3!250>O[:R"
M P  ,A@   T              ( !0YT# 'AL+W-T>6QE<RYX;6Q02P$"% ,4
M    "  Q,%)5EXJ[',     3 @  "P              @ 'PH , 7W)E;',O
M+G)E;'-02P$"% ,4    "  Q,%)53OO5K^4(  "]4P  #P
M@ '9H0, >&PO=V]R:V)O;VLN>&UL4$L! A0#%     @ ,3!25==:N15] P
M$TL  !H              ( !ZZH# 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR
M96QS4$L! A0#%     @ ,3!250'WE<NR @  VT<  !,              ( !
MH*X# %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&     (@ B ",)0  @[$#

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>142
<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>143
<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>144
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.2.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>646</ContextCount>
  <ElementCount>649</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>244</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>15</UnitCount>
  <MyReports>
    <Report instance="csiq-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00305 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncomeParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.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>7</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.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>8</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.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>9</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.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>10</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.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>11</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.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>12</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.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>13</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.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>14</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.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>15</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.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>16</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.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>17</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.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>18</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.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>19</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.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>20</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.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>21</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.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>22</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.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>23</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.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>24</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.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>25</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.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>26</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.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>27</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.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>28</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.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>29</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.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>30</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.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>31</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.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>32</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.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>33</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.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>34</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.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>35</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>12701 - Disclosure - Additional Information - Financial Statement Schedule I</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI</Role>
      <ShortName>Additional Information - Financial Statement Schedule I</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi</Role>
      <ShortName>Appendix 1 - Major Subsidiaries of CSI</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails</Role>
      <ShortName>ORGANIZATION AND PRINCIPAL ACTIVITIES (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.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>58</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.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>59</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.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>62</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.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>63</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.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>64</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.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>65</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.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>66</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.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>67</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.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>68</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.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>69</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.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-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Interest rate swap (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.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-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>40905 - Disclosure - FAIR VALUE MEASUREMENT - Listed equity securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementListedEquitySecuritiesDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Listed equity securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.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>82</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.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>83</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails</Role>
      <ShortName>INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>41103 - 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>85</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.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>86</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>41202 - 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>87</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>41203 - 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>88</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>41204 - 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>89</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>41205 - 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>90</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>41206 - 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>91</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>41207 - 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>92</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>41208 - 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>93</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>41209 - 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>94</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>41210 - 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>95</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.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>96</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>41302 - Disclosure - BORROWINGS - Short term (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails</Role>
      <ShortName>BORROWINGS - Short term (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>41303 - 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>98</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>41304 - 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>99</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.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>100</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.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>101</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.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>102</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.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>103</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.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>104</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.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>105</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.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>106</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.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>107</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.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>108</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R109.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>109</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R110.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>110</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R111.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>111</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R112.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>112</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R113.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>113</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R114.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>114</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R115.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>115</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R116.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>116</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R117.htm</HtmlFileName>
      <LongName>42301 - Disclosure - MAJOR CUSTOMERS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails</Role>
      <ShortName>MAJOR CUSTOMERS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureMajorCustomers</ParentRole>
      <Position>117</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R118.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>118</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R119.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>119</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R120.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>120</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R121.htm</HtmlFileName>
      <LongName>42701 - Disclosure - Financial Statement Schedule I (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails</Role>
      <ShortName>Financial Statement Schedule I (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>121</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R122.htm</HtmlFileName>
      <LongName>42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails</Role>
      <ShortName>Financial Statement Schedule I - BALANCE SHEETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>122</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R123.htm</HtmlFileName>
      <LongName>42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails</Role>
      <ShortName>Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>123</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R124.htm</HtmlFileName>
      <LongName>42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>124</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R125.htm</HtmlFileName>
      <LongName>42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>125</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R126.htm</HtmlFileName>
      <LongName>42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>126</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R127.htm</HtmlFileName>
      <LongName>42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails</Role>
      <ShortName>Appendix 1 - Major Subsidiaries of CSI (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi</ParentRole>
      <Position>127</Position>
    </Report>
    <Report instance="csiq-20211231x20fa.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R128.htm</HtmlFileName>
      <LongName>995470 - Disclosure - N-2</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/cef/role/N2</Role>
      <ShortName>N-2</ShortName>
      <MenuCategory>Uncategorized</MenuCategory>
      <Position>128</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: 20 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:CommonStockSharesIssued, us-gaap:CommonStockSharesOutstanding, us-gaap:EquityMethodInvestmentOwnershipPercentage, us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage -  csiq-20211231x20fa.htm 9</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Not-Referenced] WARN: 4 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 -  csiq-20211231x20fa.htm 9</Log>
    <Log type="Warning">[dq-0712-Presentation-Base-Set-Order] Role '42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)', a level 4, Detail role, appears before '995470 - Disclosure - N-2', a level 1, Note role. csiq-20211231.xsd 747, https://xbrl.sec.gov/cef/2022/cef-2022.xsd 29</Log>
  </Logs>
  <InputFiles>
    <File doctype="20-F/A" original="csiq-20211231x20fa.htm">csiq-20211231x20fa.htm</File>
    <File>csiq-20211231.xsd</File>
    <File>csiq-20211231_cal.xml</File>
    <File>csiq-20211231_def.xml</File>
    <File>csiq-20211231_lab.xml</File>
    <File>csiq-20211231_pre.xml</File>
    <File>csiq-20211231xex12d1.htm</File>
    <File>csiq-20211231xex12d2.htm</File>
    <File>csiq-20211231xex13d1.htm</File>
    <File>csiq-20211231xex13d2.htm</File>
    <File>csiq-20211231xex15d1.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="1764">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="42">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>147
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "csiq-20211231x20fa.htm": {
   "axisCustom": 0,
   "axisStandard": 45,
   "contextCount": 646,
   "dts": {
    "calculationLink": {
     "local": [
      "csiq-20211231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "csiq-20211231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "csiq-20211231x20fa.htm"
     ]
    },
    "labelLink": {
     "local": [
      "csiq-20211231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "csiq-20211231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "csiq-20211231.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/2006/xbrldi-2006.xsd",
      "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/cef/2022/cef-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022_lab.xsd"
     ]
    }
   },
   "elementCount": 1279,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 26,
    "http://xbrl.sec.gov/dei/2022": 4,
    "total": 30
   },
   "keyCustom": 179,
   "keyStandard": 470,
   "memberCustom": 136,
   "memberStandard": 91,
   "nsprefix": "csiq",
   "nsuri": "http://www.canadiansolar.com/20211231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00090 - Document - Document and Entity Information",
     "role": "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "lang": "en-US",
      "name": "dei:DocumentAnnualReport",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R100": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ShortTermNotesPayable",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails",
     "shortName": "SHORT-TERM NOTES PAYABLE (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R101": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualNoncurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails",
     "shortName": "ACCRUED WARRANTY COSTS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2018_OH6N1wUfb0eG66gyupZeDw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R102": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41601 - Disclosure - RESTRICTED NET ASSETS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails",
     "shortName": "RESTRICTED NET ASSETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     }
    },
    "R103": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "csiq:ConvertibleNotesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfFinancingCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41701 - Disclosure - CONVERTIBLE NOTES (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails",
     "shortName": "CONVERTIBLE NOTES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "csiq:ConvertibleNotesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfFinancingCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R104": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
     "shortName": "INCOME TAXES - Provision for income taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R105": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
      "reportCount": 1,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
     "shortName": "INCOME TAXES - Domestic federal statutory tax rates (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R106": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
     "shortName": "INCOME TAXES - Deferred tax assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R107": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
      "reportCount": 1,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41804 - Disclosure - INCOME TAXES - Reconciliation (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
     "shortName": "INCOME TAXES - Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "2",
      "lang": null,
      "name": "csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     }
    },
    "R108": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails",
     "shortName": "INCOME TAXES - Movement of the valuation allowance (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfValuationAllowanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_rmZFTOhOLUm4_ylu-LxAfA",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R109": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41901 - Disclosure - EARNINGS PER SHARE (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
     "shortName": "EARNINGS PER SHARE (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES",
     "role": "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities",
     "shortName": "ORGANIZATION AND PRINCIPAL ACTIVITIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R110": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DueFromRelatedPartiesCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
     "shortName": "RELATED PARTY BALANCES AND TRANSACTIONS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AccountsReceivableRelatedParties",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R111": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
     "shortName": "COMMITMENTS AND CONTINGENCIES - Commitments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2FbEkOodqkC6RRu59hVeZQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R112": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_QUs7y4anYkGNI-P-v32Pxg",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
     "shortName": "COMMITMENTS AND CONTINGENCIES - Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_QUs7y4anYkGNI-P-v32Pxg",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     }
    },
    "R113": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_segment_NAiIxuXylEqsd465xrxefg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42201 - Disclosure - SEGMENT INFORMATION (Narrative) (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
     "shortName": "SEGMENT INFORMATION (Narrative) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R114": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_segment_NAiIxuXylEqsd465xrxefg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42202 - Disclosure - SEGMENT INFORMATION (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
     "shortName": "SEGMENT INFORMATION (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_y7rdLKDMzUWWV9BCmLWXnA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R115": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42203 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails",
     "shortName": "SEGMENT INFORMATION - Different geographic locations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:NoncurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R116": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42204 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
     "shortName": "SEGMENT INFORMATION - Each product or service (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_goAn8WflEEmaIplAfD1fBg",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R117": {
     "firstAnchor": {
      "ancestors": [
       "csiq:NumberOfCustomers",
       "p",
       "csiq:MajorCustomersDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "csiq:NumberOfCustomers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_n5cytYykGEGncxkqn0fxTw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42301 - Disclosure - MAJOR CUSTOMERS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails",
     "shortName": "MAJOR CUSTOMERS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:NumberOfCustomers",
       "p",
       "csiq:MajorCustomersDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "csiq:NumberOfCustomers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_n5cytYykGEGncxkqn0fxTw",
      "xsiNil": "false"
     }
    },
    "R118": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
     "shortName": "EMPLOYEE BENEFIT PLANS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     }
    },
    "R119": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_9_30_2010_s3G9vuVMLEKbL1Z0MxJUeA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
     "shortName": "SHARE-BASED COMPENSATION - Options to Employees (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_9_30_2010_s3G9vuVMLEKbL1Z0MxJUeA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ",
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R120": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_ij3rWr6yvUiHPpuavngDfQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
     "shortName": "SHARE-BASED COMPENSATION - RSUs to Employees (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1IP1SrqDiEKPd-m_LVAoBw",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R121": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42701 - Disclosure - Financial Statement Schedule I (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails",
     "shortName": "Financial Statement Schedule I (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "2",
      "lang": null,
      "name": "csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     }
    },
    "R122": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
     "shortName": "Financial Statement Schedule I - BALANCE SHEETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R123": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
     "shortName": "Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_uarLXK6EP0Cnn3Y6a_LYDA",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_O4pxqksENkanvcmsdJBRRg",
      "xsiNil": "false"
     }
    },
    "R124": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R125": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R126": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_lXtU9wcIL02QBNTJV80BxQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R127": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_FMDPs5BsMkGWiyS110TB9w",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
     "shortName": "Appendix 1 - Major Subsidiaries of CSI (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_FMDPs5BsMkGWiyS110TB9w",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     }
    },
    "R128": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:AmendmentDescription",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "995470 - Disclosure - N-2",
     "role": "http://xbrl.sec.gov/cef/role/N2",
     "shortName": "N-2",
     "subGroupType": "",
     "uniqueAnchor": null
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForCreditLossesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES",
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses",
     "shortName": "ALLOWANCE FOR CREDIT LOSSES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForCreditLossesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10401 - Disclosure - INVENTORIES",
     "role": "http://www.canadiansolar.com/role/DisclosureInventories",
     "shortName": "INVENTORIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ProjectAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10501 - Disclosure - PROJECT ASSETS",
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssets",
     "shortName": "PROJECT ASSETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ProjectAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET",
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:SolarPowerSystemsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10701 - Disclosure - SOLAR POWER SYSTEMS, NET",
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet",
     "shortName": "SOLAR POWER SYSTEMS, NET",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:SolarPowerSystemsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10801 - Disclosure - INTANGIBLE ASSETS, NET",
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet",
     "shortName": "INTANGIBLE ASSETS, NET",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10901 - Disclosure - FAIR VALUE MEASUREMENT",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurement",
     "shortName": "FAIR VALUE MEASUREMENT",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ValueAddedTaxReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11001 - Disclosure - VARIABLE INTEREST ENTITIES",
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntities",
     "shortName": "VARIABLE INTEREST ENTITIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11101 - Disclosure - INVESTMENTS IN AFFILIATES",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates",
     "shortName": "INVESTMENTS IN AFFILIATES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11201 - Disclosure - LEASE",
     "role": "http://www.canadiansolar.com/role/DisclosureLease",
     "shortName": "LEASE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11301 - Disclosure - BORROWINGS",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowings",
     "shortName": "BORROWINGS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ShortTermNotesPayableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11401 - Disclosure - SHORT-TERM NOTES PAYABLE",
     "role": "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable",
     "shortName": "SHORT-TERM NOTES PAYABLE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ShortTermNotesPayableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11501 - Disclosure - ACCRUED WARRANTY COSTS",
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts",
     "shortName": "ACCRUED WARRANTY COSTS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestrictedAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11601 - Disclosure - RESTRICTED NET ASSETS",
     "role": "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets",
     "shortName": "RESTRICTED NET ASSETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestrictedAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ConvertibleNotesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11701 - Disclosure - CONVERTIBLE NOTES",
     "role": "http://www.canadiansolar.com/role/DisclosureConvertibleNotes",
     "shortName": "CONVERTIBLE NOTES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ConvertibleNotesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11801 - Disclosure - INCOME TAXES",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxes",
     "shortName": "INCOME TAXES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11901 - Disclosure - EARNINGS PER SHARE",
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShare",
     "shortName": "EARNINGS PER SHARE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS",
     "role": "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions",
     "shortName": "RELATED PARTY BALANCES AND TRANSACTIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12101 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12201 - Disclosure - SEGMENT INFORMATION",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformation",
     "shortName": "SEGMENT INFORMATION",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:MajorCustomersDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12301 - Disclosure - MAJOR CUSTOMERS",
     "role": "http://www.canadiansolar.com/role/DisclosureMajorCustomers",
     "shortName": "MAJOR CUSTOMERS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:MajorCustomersDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12401 - Disclosure - EMPLOYEE BENEFIT PLANS",
     "role": "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans",
     "shortName": "EMPLOYEE BENEFIT PLANS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12501 - Disclosure - SHARE-BASED COMPENSATION",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation",
     "shortName": "SHARE-BASED COMPENSATION",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12701 - Disclosure - Additional Information - Financial Statement Schedule I",
     "role": "http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI",
     "shortName": "Additional Information - Financial Statement Schedule I",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI",
     "role": "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi",
     "shortName": "Appendix 1 - Major Subsidiaries of CSI",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:SellingAndMarketingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30303 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables",
     "shortName": "ALLOWANCE FOR CREDIT LOSSES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30403 - Disclosure - INVENTORIES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureInventoriesTables",
     "shortName": "INVENTORIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfProjectAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30503 - Disclosure - PROJECT ASSETS (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssetsTables",
     "shortName": "PROJECT ASSETS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfProjectAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables",
     "shortName": "SOLAR POWER SYSTEMS, NET (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables",
     "shortName": "INTANGIBLE ASSETS, NET (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables",
     "shortName": "FAIR VALUE MEASUREMENT (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables",
     "shortName": "VARIABLE INTEREST ENTITIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables",
     "shortName": "INVESTMENTS IN AFFILIATES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31203 - Disclosure - LEASE (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTables",
     "shortName": "LEASE (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31303 - Disclosure - BORROWINGS (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsTables",
     "shortName": "BORROWINGS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables",
     "shortName": "ACCRUED WARRANTY COSTS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31803 - Disclosure - INCOME TAXES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables",
     "shortName": "INCOME TAXES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31903 - Disclosure - EARNINGS PER SHARE (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables",
     "shortName": "EARNINGS PER SHARE (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Lc2hbF38FkKdvj0BErOFiA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Lc2hbF38FkKdvj0BErOFiA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32203 - Disclosure - SEGMENT INFORMATION (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables",
     "shortName": "SEGMENT INFORMATION (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables",
     "shortName": "SHARE-BASED COMPENSATION (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "csiq:SharePurchaseProceedsFromThirdPartyInvestors",
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:SharePurchaseProceedsFromThirdPartyInvestors",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (Narrative) (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
     "shortName": "ORGANIZATION AND PRINCIPAL ACTIVITIES (Narrative) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:SharePurchaseProceedsFromThirdPartyInvestors",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CreditLossFinancialInstrumentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jJzZxlUtbkK06QdhQvx-eQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CreditLossFinancialInstrumentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jJzZxlUtbkK06QdhQvx-eQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_4sd2jhr1CEOg9hobXiaNQw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_4sd2jhr1CEOg9hobXiaNQw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OtherComprehensiveIncomeLossTax",
       "us-gaap:OtherComprehensiveIncomeLossTax",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00305 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncomeParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_cmfqGEnIBkmpZXBiPOJG5w",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_cmfqGEnIBkmpZXBiPOJG5w",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EquityMethodInvestmentsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ImpairmentOfInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_5nMu5JmPPEGyXPr53dPdTA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:AmountOfPerformanceBasedEnergyIncentives",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_5nMu5JmPPEGyXPr53dPdTA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:AmountOfPerformanceBasedEnergyIncentives",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_DmuxOebKG0SJDwi3Pi4CXw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnbilledReceivablesCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:ContractLiabilitiesOtherCurrentLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ResearchAndDevelopmentExpense",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_b1w-2BN5HUy07gaU0yZ9_g",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:SellingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:ProductWarrantyAccrualRateForSalesOfSolarModules",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:ProductWarrantyAccrualRateForSalesOfSolarModules",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AdvancesOnInventoryPurchases",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_sY12ZlW3GUuVNWRhjtCJ2Q",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AdvancesOnInventoryPurchases",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_vsFrU3n1oUWFZFVF98mncQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_vsFrU3n1oUWFZFVF98mncQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_kD5xv81kAkevPJ7hC9Kz4A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
     "shortName": "ALLOWANCE FOR CREDIT LOSSES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "us-gaap:AllowanceForCreditLossesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5bDXOuAqsECJ3-bQNuunYg",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40401 - Disclosure - INVENTORIES (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
     "shortName": "INVENTORIES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfProjectAssetsTableTextBlock",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40501 - Disclosure - PROJECT ASSETS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
     "shortName": "PROJECT ASSETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfProjectAssetsTableTextBlock",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
     "shortName": "SOLAR POWER SYSTEMS, NET (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
     "shortName": "INTANGIBLE ASSETS, NET (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_hy9LXXCss0-n-dN8aTEwDQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
     "shortName": "FAIR VALUE MEASUREMENT (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_hy9LXXCss0-n-dN8aTEwDQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_4FWVVmlT5UuA0CAFPFqgBA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Interest rate swap (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_4FWVVmlT5UuA0CAFPFqgBA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "link:footnote",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_5_27_2021_To_5_27_2021_yBbVfX4M3UWc9NQ7IpGQSg",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "link:footnote",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_5_27_2021_To_5_27_2021_yBbVfX4M3UWc9NQ7IpGQSg",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_LwNuDXVr3UuwNJx32dF4zQ",
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AssetImpairmentCharges",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40904 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Carrying value (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ConvertibleLongTermNotesPayable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40905 - Disclosure - FAIR VALUE MEASUREMENT - Listed equity securities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementListedEquitySecuritiesDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Listed equity securities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_CNY_wYFa5O1ep0WTROwt75gXtg",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Assets",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
     "shortName": "VARIABLE INTEREST ENTITIES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_GnTLtosOcUSlr8gZsF6Rvg",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquityMethodInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
     "shortName": "INVESTMENTS IN AFFILIATES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_Rn8Ovx5w7kCM45SUAXks4A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:EquityMethodInvestments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
     "shortName": "INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireEquityMethodInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
     "shortName": "INVESTMENTS IN AFFILIATES - Other investments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_p6Lpuu7N-U-xwKZ5fs-FWw",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:SharePrice",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_JPY_shares_98G2KJ8ZqkGANWGgBqIkfg",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41201 - Disclosure - LEASE - Lease expense (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails",
     "shortName": "LEASE - Lease expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41202 - Disclosure - LEASE - Cash flow (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails",
     "shortName": "LEASE - Cash flow (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41203 - Disclosure - LEASE - Additional information (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails",
     "shortName": "LEASE - Additional information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41204 - Disclosure - LEASE - Operating leases - Maturities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails",
     "shortName": "LEASE - Operating leases - Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_B-wEe-O3KU67IHNlPZN6UA",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:NonCashOperatingLeaseExpenses",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R90": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41205 - Disclosure - LEASE - Operating leases - Gross difference (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
     "shortName": "LEASE - Operating leases - Gross difference (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R91": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41206 - Disclosure - LEASE - Finance leases - Maturities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails",
     "shortName": "LEASE - Finance leases - Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R92": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiability",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41207 - Disclosure - LEASE - Finance leases - Gross difference (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
     "shortName": "LEASE - Finance leases - Gross difference (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R93": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LesseeLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41208 - Disclosure - LEASE - Total leases - Maturities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails",
     "shortName": "LEASE - Total leases - Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LesseeLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R94": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LesseeLiabilityPaymentsDue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41209 - Disclosure - LEASE - Total leases - Gross difference (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
     "shortName": "LEASE - Total leases - Gross difference (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2020_R76ptFo6AU-TJ6jI3aM-1w",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:LesseeLiabilityUndiscountedExcessAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R95": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LeaseLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41210 - Disclosure - LEASE - Total leases - Summary (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
     "shortName": "LEASE - Total leases - Summary (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LeaseLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R96": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherShortTermBorrowings",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41301 - Disclosure - BORROWINGS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
     "shortName": "BORROWINGS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherShortTermBorrowings",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R97": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShortTermBorrowings",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41302 - Disclosure - BORROWINGS - Short term (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails",
     "shortName": "BORROWINGS - Short term (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R98": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermNotesAndLoans",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41303 - Disclosure - BORROWINGS - Long term (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
     "shortName": "BORROWINGS - Long term (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_ecWoImcXq0OxycXARhngjw",
      "xsiNil": "false"
     }
    },
    "R99": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfEffectiveInterestRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "csiq:DebtInstrumentInterestRateFloatingPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
     "shortName": "BORROWINGS - Long term narrative and interest expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfEffectiveInterestRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20211231x20fa.htm",
      "contextRef": "As_Of_12_31_2021_ew_0L6PleUW4HoBxsypf6A",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "csiq:DebtInstrumentInterestRateFloatingPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_BVrerpTtL0elcXDs83IHrA",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 244,
   "tag": {
    "cef_AcquiredFundFeesAndExpensesNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Fund Fees and Expenses, Note [Text Block]"
       }
      }
     },
     "localname": "AcquiredFundFeesAndExpensesNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_AcquiredFundFeesAndExpensesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Fund Fees and Expenses [Percent]"
       }
      }
     },
     "localname": "AcquiredFundFeesAndExpensesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_AcquiredFundFeesEstimatedNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Fund Fees Estimated, Note [Text Block]"
       }
      }
     },
     "localname": "AcquiredFundFeesEstimatedNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_AcquiredFundIncentiveAllocationNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Fund Incentive Allocation, Note [Text Block]"
       }
      }
     },
     "localname": "AcquiredFundIncentiveAllocationNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_AcquiredFundTotalAnnualExpensesNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Fund Total Annual Expenses, Note [Text Block]"
       }
      }
     },
     "localname": "AcquiredFundTotalAnnualExpensesNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_AllRisksMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Risks:"
       }
      }
     },
     "localname": "AllRisksMember",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "domainItemType"
    },
    "cef_AllSecuritiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Securities:"
       }
      }
     },
     "localname": "AllSecuritiesMember",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "domainItemType"
    },
    "cef_AnnualCoverageReturnRatePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Coverage Return Rate [Percent]"
       }
      }
     },
     "localname": "AnnualCoverageReturnRatePercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_AnnualDividendPayment": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Dividend Payment"
       }
      }
     },
     "localname": "AnnualDividendPayment",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_AnnualDividendPaymentCurrent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Dividend Payment, Current"
       }
      }
     },
     "localname": "AnnualDividendPaymentCurrent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_AnnualDividendPaymentInitial": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Dividend Payment, Initial"
       }
      }
     },
     "localname": "AnnualDividendPaymentInitial",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_AnnualExpensesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Expenses [Table Text Block]"
       }
      }
     },
     "localname": "AnnualExpensesTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_AnnualInterestRateCurrentPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Interest Rate, Current [Percent]"
       }
      }
     },
     "localname": "AnnualInterestRateCurrentPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_AnnualInterestRateInitialPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Interest Rate, Initial [Percent]"
       }
      }
     },
     "localname": "AnnualInterestRateInitialPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_AnnualInterestRatePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Interest Rate [Percent]"
       }
      }
     },
     "localname": "AnnualInterestRatePercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_BasisOfTransactionFeesNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Transaction Fees, Note [Text Block]"
       }
      }
     },
     "localname": "BasisOfTransactionFeesNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_BdcFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "BDC File Number"
       }
      }
     },
     "localname": "BdcFileNumber",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "cef_BusinessDevelopmentCompanyFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Development Company [Flag]"
       }
      }
     },
     "localname": "BusinessDevelopmentCompanyFlag",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "cef_CapitalStockLongTermDebtAndOtherSecuritiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital Stock, Long-Term Debt, and Other Securities [Abstract]"
       }
      }
     },
     "localname": "CapitalStockLongTermDebtAndOtherSecuritiesAbstract",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "cef_CapitalStockTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital Stock [Table Text Block]"
       }
      }
     },
     "localname": "CapitalStockTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_DistributionServicingFeesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distribution/Servicing Fees [Percent]"
       }
      }
     },
     "localname": "DistributionServicingFeesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_DistributionsMayReducePrincipalTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distributions May Reduce Principal [Text Block]"
       }
      }
     },
     "localname": "DistributionsMayReducePrincipalTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_DividendAndInterestExpensesOnShortSalesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend and Interest Expenses on Short Sales [Percent]"
       }
      }
     },
     "localname": "DividendAndInterestExpensesOnShortSalesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_DividendExpenseOnPreferredSharesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend Expenses on Preferred Shares [Percent]"
       }
      }
     },
     "localname": "DividendExpenseOnPreferredSharesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_DividendReinvestmentAndCashPurchaseFees": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend Reinvestment and Cash Purchase Fees"
       }
      }
     },
     "localname": "DividendReinvestmentAndCashPurchaseFees",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cef_EffectsOfLeveragePurposeTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effects of Leverage, Purpose [Text Block]"
       }
      }
     },
     "localname": "EffectsOfLeveragePurposeTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_EffectsOfLeverageTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effects of Leverage [Table Text Block]"
       }
      }
     },
     "localname": "EffectsOfLeverageTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_EffectsOfLeverageTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effects of Leverage [Text Block]"
       }
      }
     },
     "localname": "EffectsOfLeverageTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_ExpenseExampleTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expense Example [Table Text Block]"
       }
      }
     },
     "localname": "ExpenseExampleTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_ExpenseExampleYear01": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expense Example, Year 01"
       }
      }
     },
     "localname": "ExpenseExampleYear01",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cef_ExpenseExampleYears1to10": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expense Example, Years 1 to 10"
       }
      }
     },
     "localname": "ExpenseExampleYears1to10",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cef_ExpenseExampleYears1to3": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expense Example, Years 1 to 3"
       }
      }
     },
     "localname": "ExpenseExampleYears1to3",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cef_ExpenseExampleYears1to5": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expense Example, Years 1 to 5"
       }
      }
     },
     "localname": "ExpenseExampleYears1to5",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cef_FeeTableAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Table [Abstract]"
       }
      }
     },
     "localname": "FeeTableAbstract",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "cef_FinancialHighlightsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Highlights [Abstract]"
       }
      }
     },
     "localname": "FinancialHighlightsAbstract",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "cef_GeneralDescriptionOfRegistrantAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "General Description of Registrant [Abstract]"
       }
      }
     },
     "localname": "GeneralDescriptionOfRegistrantAbstract",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "cef_HighestPriceOrBid": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Highest Price or Bid"
       }
      }
     },
     "localname": "HighestPriceOrBid",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_HighestPriceOrBidNav": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Highest Price or Bid, NAV"
       }
      }
     },
     "localname": "HighestPriceOrBidNav",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_HighestPriceOrBidPremiumDiscountToNavPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Highest Price or Bid, Premium (Discount) to NAV [Percent]"
       }
      }
     },
     "localname": "HighestPriceOrBidPremiumDiscountToNavPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_IncentiveAllocationMaximumPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incentive Allocation Maximum [Percent]"
       }
      }
     },
     "localname": "IncentiveAllocationMaximumPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_IncentiveAllocationMinimumPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incentive Allocation Minimum [Percent]"
       }
      }
     },
     "localname": "IncentiveAllocationMinimumPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_IncentiveAllocationPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incentive Allocation [Percent]"
       }
      }
     },
     "localname": "IncentiveAllocationPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_IncentiveFeesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incentive Fees [Percent]"
       }
      }
     },
     "localname": "IncentiveFeesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_InterestExpensesOnBorrowingsPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expenses on Borrowings [Percent]"
       }
      }
     },
     "localname": "InterestExpensesOnBorrowingsPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_IntervalFundFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interval Fund [Flag]"
       }
      }
     },
     "localname": "IntervalFundFlag",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "cef_InvestmentObjectivesAndPracticesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Objectives and Practices [Text Block]"
       }
      }
     },
     "localname": "InvestmentObjectivesAndPracticesTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_LatestNav": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Latest NAV"
       }
      }
     },
     "localname": "LatestNav",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_LatestPremiumDiscountToNavPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Latest Premium (Discount) to NAV [Percent]"
       }
      }
     },
     "localname": "LatestPremiumDiscountToNavPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_LatestSharePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Latest Share Price"
       }
      }
     },
     "localname": "LatestSharePrice",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_LoanServicingFeesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loan Servicing Fees [Percent]"
       }
      }
     },
     "localname": "LoanServicingFeesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_LongTermDebtDividendsAndCovenantsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Debt, Dividends and Covenants [Text Block]"
       }
      }
     },
     "localname": "LongTermDebtDividendsAndCovenantsTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_LongTermDebtIssuanceAndSubstitutionTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Debt, Issuance and Substitution [Text Block]"
       }
      }
     },
     "localname": "LongTermDebtIssuanceAndSubstitutionTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_LongTermDebtPrincipal": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Debt, Principal"
       }
      }
     },
     "localname": "LongTermDebtPrincipal",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cef_LongTermDebtRightsLimitedByOtherSecuritiesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Debt, Rights Limited by Other Securities [Text Block]"
       }
      }
     },
     "localname": "LongTermDebtRightsLimitedByOtherSecuritiesTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_LongTermDebtStructuringTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Debt, Structuring [Text Block]"
       }
      }
     },
     "localname": "LongTermDebtStructuringTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_LongTermDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Debt [Table Text Block]"
       }
      }
     },
     "localname": "LongTermDebtTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_LongTermDebtTitleTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Debt, Title [Text Block]"
       }
      }
     },
     "localname": "LongTermDebtTitleTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_LowestPriceOrBid": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lowest Price or Bid"
       }
      }
     },
     "localname": "LowestPriceOrBid",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_LowestPriceOrBidNav": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lowest Price or Bid, NAV"
       }
      }
     },
     "localname": "LowestPriceOrBidNav",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_LowestPriceOrBidPremiumDiscountToNavPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lowest Price or Bid, Premium (Discount) to NAV [Percent]"
       }
      }
     },
     "localname": "LowestPriceOrBidPremiumDiscountToNavPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_ManagementFeeNotBasedOnNetAssetsNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Management Fee not based on Net Assets, Note [Text Block]"
       }
      }
     },
     "localname": "ManagementFeeNotBasedOnNetAssetsNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_ManagementFeesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Management Fees [Percent]"
       }
      }
     },
     "localname": "ManagementFeesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_NetExpenseOverAssetsPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Expense over Assets [Percent]"
       }
      }
     },
     "localname": "NetExpenseOverAssetsPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_NewCefOrBdcRegistrantFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "New CEF or BDC Registrant [Flag]"
       }
      }
     },
     "localname": "NewCefOrBdcRegistrantFlag",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "cef_NoPublicTradingTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Public Trading [Text Block]"
       }
      }
     },
     "localname": "NoPublicTradingTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_NoTradingHistoryTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading History [Text Block]"
       }
      }
     },
     "localname": "NoTradingHistoryTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_OtherAnnualExpense1Percent": {
     "auth_ref": [],
     "calculation": {
      "http://xbrl.sec.gov/cef/role/Item3Ae": {
       "order": 1.0,
       "parentTag": "cef_OtherAnnualExpensesPercent",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Annual Expense 1 [Percent]"
       }
      }
     },
     "localname": "OtherAnnualExpense1Percent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherAnnualExpense2Percent": {
     "auth_ref": [],
     "calculation": {
      "http://xbrl.sec.gov/cef/role/Item3Ae": {
       "order": 2.0,
       "parentTag": "cef_OtherAnnualExpensesPercent",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Annual Expense 2 [Percent]"
       }
      }
     },
     "localname": "OtherAnnualExpense2Percent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherAnnualExpense3Percent": {
     "auth_ref": [],
     "calculation": {
      "http://xbrl.sec.gov/cef/role/Item3Ae": {
       "order": 3.0,
       "parentTag": "cef_OtherAnnualExpensesPercent",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Annual Expense 3 [Percent]"
       }
      }
     },
     "localname": "OtherAnnualExpense3Percent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherAnnualExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Annual Expenses [Abstract]"
       }
      }
     },
     "localname": "OtherAnnualExpensesAbstract",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "cef_OtherAnnualExpensesPercent": {
     "auth_ref": [],
     "calculation": {
      "http://xbrl.sec.gov/cef/role/Item3Ae": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Annual Expenses [Percent]"
       }
      }
     },
     "localname": "OtherAnnualExpensesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherExpensesNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Expenses, Note [Text Block]"
       }
      }
     },
     "localname": "OtherExpensesNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_OtherFeederFundExpensesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Feeder Fund Expenses [Percent]"
       }
      }
     },
     "localname": "OtherFeederFundExpensesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherMasterFundExpensesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Master Fund Expenses [Percent]"
       }
      }
     },
     "localname": "OtherMasterFundExpensesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherSecuritiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Securities [Table Text Block]"
       }
      }
     },
     "localname": "OtherSecuritiesTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_OtherSecurityDescriptionTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Security, Description [Text Block]"
       }
      }
     },
     "localname": "OtherSecurityDescriptionTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_OtherSecurityTitleTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Security, Title [Text Block]"
       }
      }
     },
     "localname": "OtherSecurityTitleTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_OtherTransactionExpense1Percent": {
     "auth_ref": [],
     "calculation": {
      "http://xbrl.sec.gov/cef/role/Item3Te": {
       "order": 1.0,
       "parentTag": "cef_OtherTransactionExpensesPercent",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Transaction Expense 1 [Percent]"
       }
      }
     },
     "localname": "OtherTransactionExpense1Percent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherTransactionExpense2Percent": {
     "auth_ref": [],
     "calculation": {
      "http://xbrl.sec.gov/cef/role/Item3Te": {
       "order": 2.0,
       "parentTag": "cef_OtherTransactionExpensesPercent",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Transaction Expense 2 [Percent]"
       }
      }
     },
     "localname": "OtherTransactionExpense2Percent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherTransactionExpense3Percent": {
     "auth_ref": [],
     "calculation": {
      "http://xbrl.sec.gov/cef/role/Item3Te": {
       "order": 3.0,
       "parentTag": "cef_OtherTransactionExpensesPercent",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Transaction Expense 3 [Percent]"
       }
      }
     },
     "localname": "OtherTransactionExpense3Percent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherTransactionExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Transaction Expenses [Abstract]"
       }
      }
     },
     "localname": "OtherTransactionExpensesAbstract",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "cef_OtherTransactionExpensesPercent": {
     "auth_ref": [],
     "calculation": {
      "http://xbrl.sec.gov/cef/role/Item3Te": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Transaction Expenses [Percent]"
       }
      }
     },
     "localname": "OtherTransactionExpensesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherTransactionFeesBasisMaximum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Transaction Fees Basis, Maximum"
       }
      }
     },
     "localname": "OtherTransactionFeesBasisMaximum",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cef_OtherTransactionFeesBasisMaximumPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Transaction Fees Basis, Maximum [Percent]"
       }
      }
     },
     "localname": "OtherTransactionFeesBasisMaximumPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_OtherTransactionFeesBasisNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Transaction Fees Basis, Note [Text Block]"
       }
      }
     },
     "localname": "OtherTransactionFeesBasisNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_OtherTransactionFeesNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Transaction Fees, Note [Text Block]"
       }
      }
     },
     "localname": "OtherTransactionFeesNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_OutstandingSecuritiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Securities [Table Text Block]"
       }
      }
     },
     "localname": "OutstandingSecuritiesTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_OutstandingSecurityAuthorizedShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Security, Authorized [Shares]"
       }
      }
     },
     "localname": "OutstandingSecurityAuthorizedShares",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "sharesItemType"
    },
    "cef_OutstandingSecurityHeldShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Security, Held [Shares]"
       }
      }
     },
     "localname": "OutstandingSecurityHeldShares",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "sharesItemType"
    },
    "cef_OutstandingSecurityNotHeldShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Security, Not Held [Shares]"
       }
      }
     },
     "localname": "OutstandingSecurityNotHeldShares",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "sharesItemType"
    },
    "cef_OutstandingSecurityTitleTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Security, Title [Text Block]"
       }
      }
     },
     "localname": "OutstandingSecurityTitleTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_PreferredStockRestrictionsArrearageTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock Restrictions, Arrearage [Text Block]"
       }
      }
     },
     "localname": "PreferredStockRestrictionsArrearageTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_PreferredStockRestrictionsOtherTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock Restrictions, Other [Text Block]"
       }
      }
     },
     "localname": "PreferredStockRestrictionsOtherTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_PrimaryShelfFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Primary Shelf [Flag]"
       }
      }
     },
     "localname": "PrimaryShelfFlag",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "cef_PrimaryShelfQualifiedFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Primary Shelf Qualified [Flag]"
       }
      }
     },
     "localname": "PrimaryShelfQualifiedFlag",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "cef_ProspectusLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prospectus [Line Items]"
       }
      }
     },
     "localname": "ProspectusLineItems",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "xbrltype": "stringItemType"
    },
    "cef_ProspectusTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prospectus:"
       }
      }
     },
     "localname": "ProspectusTable",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "cef_PurposeOfFeeTableNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purpose of Fee Table , Note [Text Block]"
       }
      }
     },
     "localname": "PurposeOfFeeTableNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_RegisteredClosedEndFundFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registered Closed-End Fund [Flag]"
       }
      }
     },
     "localname": "RegisteredClosedEndFundFlag",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "cef_ReturnAtMinusFivePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Return at Minus Five [Percent]"
       }
      }
     },
     "localname": "ReturnAtMinusFivePercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_ReturnAtMinusTenPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Return at Minus Ten [Percent]"
       }
      }
     },
     "localname": "ReturnAtMinusTenPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_ReturnAtPlusFivePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Return at Plus Five [Percent]"
       }
      }
     },
     "localname": "ReturnAtPlusFivePercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_ReturnAtPlusTenPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Return at Plus Ten [Percent]"
       }
      }
     },
     "localname": "ReturnAtPlusTenPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_ReturnAtZeroPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Return at Zero [Percent]"
       }
      }
     },
     "localname": "ReturnAtZeroPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_RightsLimitedByOtherSecuritiesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rights Limited by Other Securities [Text Block]"
       }
      }
     },
     "localname": "RightsLimitedByOtherSecuritiesTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_RightsSubjectToOtherThanMajorityVoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rights Subject to Other than Majority Vote [Text Block]"
       }
      }
     },
     "localname": "RightsSubjectToOtherThanMajorityVoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_RiskAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk [Axis]"
       }
      }
     },
     "localname": "RiskAxis",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "cef_RiskFactorsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk Factors [Table Text Block]"
       }
      }
     },
     "localname": "RiskFactorsTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_RiskTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk [Text Block]"
       }
      }
     },
     "localname": "RiskTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SalesLoadPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales Load [Percent]"
       }
      }
     },
     "localname": "SalesLoadPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_SecurityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security [Axis]"
       }
      }
     },
     "localname": "SecurityAxis",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "cef_SecurityDividendsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Dividends [Text Block]"
       }
      }
     },
     "localname": "SecurityDividendsTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SecurityLiabilitiesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Liabilities [Text Block]"
       }
      }
     },
     "localname": "SecurityLiabilitiesTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SecurityLiquidationRightsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Liquidation Rights [Text Block]"
       }
      }
     },
     "localname": "SecurityLiquidationRightsTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SecurityObligationsOfOwnershipTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Obligations of Ownership [Text Block]"
       }
      }
     },
     "localname": "SecurityObligationsOfOwnershipTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SecurityPreemptiveAndOtherRightsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Preemptive and Other Rights [Text Block]"
       }
      }
     },
     "localname": "SecurityPreemptiveAndOtherRightsTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SecurityTitleTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Title [Text Block]"
       }
      }
     },
     "localname": "SecurityTitleTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SecurityVotingRightsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Voting Rights [Text Block]"
       }
      }
     },
     "localname": "SecurityVotingRightsTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SeniorSecuritiesAmount": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities Amount"
       }
      }
     },
     "localname": "SeniorSecuritiesAmount",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cef_SeniorSecuritiesAverageMarketValuePerUnit": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities Average Market Value per Unit"
       }
      }
     },
     "localname": "SeniorSecuritiesAverageMarketValuePerUnit",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_SeniorSecuritiesAveragingMethodNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities Averaging Method, Note [Text Block]"
       }
      }
     },
     "localname": "SeniorSecuritiesAveragingMethodNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SeniorSecuritiesCoveragePerUnit": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities Coverage per Unit"
       }
      }
     },
     "localname": "SeniorSecuritiesCoveragePerUnit",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_SeniorSecuritiesHeadingsNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities Headings, Note [Text Block]"
       }
      }
     },
     "localname": "SeniorSecuritiesHeadingsNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SeniorSecuritiesHighlightsAnnualizedNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities Highlights Annualized, Note [Text Block]"
       }
      }
     },
     "localname": "SeniorSecuritiesHighlightsAnnualizedNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SeniorSecuritiesHighlightsAuditedNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities Highlights Audited, Note [Text Block]"
       }
      }
     },
     "localname": "SeniorSecuritiesHighlightsAuditedNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SeniorSecuritiesInvoluntaryLiquidatingPreferencePerUnit": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities Involuntary Liquidating Preference per Unit"
       }
      }
     },
     "localname": "SeniorSecuritiesInvoluntaryLiquidatingPreferencePerUnit",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "cef_SeniorSecuritiesNoteTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities, Note [Text Block]"
       }
      }
     },
     "localname": "SeniorSecuritiesNoteTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SeniorSecuritiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Securities [Table Text Block]"
       }
      }
     },
     "localname": "SeniorSecuritiesTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SharePriceTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Price [Table Text Block]"
       }
      }
     },
     "localname": "SharePriceTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_SharePricesNotActualTransactionsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Prices Not Actual Transactions [Text Block]"
       }
      }
     },
     "localname": "SharePricesNotActualTransactionsTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_ShareholderTransactionExpensesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholder Transaction Expenses [Table Text Block]"
       }
      }
     },
     "localname": "ShareholderTransactionExpensesTableTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_TotalAnnualExpensesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Annual Expenses [Percent]"
       }
      }
     },
     "localname": "TotalAnnualExpensesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_UnderwritersCompensationPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underwriters Compensation [Percent]"
       }
      }
     },
     "localname": "UnderwritersCompensationPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_WaiversAndReimbursementsOfFeesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Waivers and Reimbursements of Fees [Percent]"
       }
      }
     },
     "localname": "WaiversAndReimbursementsOfFeesPercent",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "percentItemType"
    },
    "cef_WarrantsOrRightsCalledAmount": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrants or Rights, Called Amount"
       }
      }
     },
     "localname": "WarrantsOrRightsCalledAmount",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cef_WarrantsOrRightsCalledPeriodDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrants or Rights, Called Period [Date]"
       }
      }
     },
     "localname": "WarrantsOrRightsCalledPeriodDate",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "dateItemType"
    },
    "cef_WarrantsOrRightsCalledTitleTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrants or Rights, Called Title"
       }
      }
     },
     "localname": "WarrantsOrRightsCalledTitleTextBlock",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cef_WarrantsOrRightsExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrants or Rights, Exercise Price"
       }
      }
     },
     "localname": "WarrantsOrRightsExercisePrice",
     "nsuri": "http://xbrl.sec.gov/cef/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "perShareItemType"
    },
    "country_AE": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "U.A.E"
       }
      }
     },
     "localname": "AE",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_AR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Argentina"
       }
      }
     },
     "localname": "AR",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_AU": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Australia"
       }
      }
     },
     "localname": "AU",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_BR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Brazil"
       }
      }
     },
     "localname": "BR",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Canada"
       }
      }
     },
     "localname": "CA",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "PRC"
       }
      }
     },
     "localname": "CN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CY": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cyprus"
       }
      }
     },
     "localname": "CY",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CZ": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Czech"
       }
      }
     },
     "localname": "CZ",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_DE": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Germany"
       }
      }
     },
     "localname": "DE",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_ES": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Spain"
       }
      }
     },
     "localname": "ES",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_FR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "France"
       }
      }
     },
     "localname": "FR",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_GB": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Britain"
       }
      }
     },
     "localname": "GB",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_HK": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hong Kong"
       }
      }
     },
     "localname": "HK",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_IN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "India"
       }
      }
     },
     "localname": "IN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_JP": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Japan"
       }
      }
     },
     "localname": "JP",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_KR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Korea"
       }
      }
     },
     "localname": "KR",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_MX": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Mexico"
       }
      }
     },
     "localname": "MX",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_NL": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Netherlands"
       }
      }
     },
     "localname": "NL",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_PK": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pakistan"
       }
      }
     },
     "localname": "PK",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_TH": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Thailand"
       }
      }
     },
     "localname": "TH",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_VN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vietnam"
       }
      }
     },
     "localname": "VN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_ZA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "South Africa"
       }
      }
     },
     "localname": "ZA",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AccumulatedAssetImpairmentCharges": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 2.0,
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated asset impairment for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Asset Impairment Charges",
        "negatedLabel": "Impairment"
       }
      }
     },
     "localname": "AccumulatedAssetImpairmentCharges",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "order": 1.0,
       "parentTag": "csiq_SolarPowerSystems",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Solar Power Systems",
        "negatedLabel": "Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AdditionalAmountDrawnOfUnderBorrowing": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of additional amount drawn of under borrowing.",
        "label": "Additional Amount Drawn Of Under Borrowing",
        "terseLabel": "Additional amount drawn of under borrowing"
       }
      }
     },
     "localname": "AdditionalAmountDrawnOfUnderBorrowing",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AdvancesOnInventoryPurchasesNonCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of capitalized payments made in advance for inventory that is expected to be received after one year or beyond the normal operating cycle, if longer.",
        "label": "Advances on Inventory Purchases, Non Current",
        "verboseLabel": "Advances to suppliers, net of allowance of $13,855 and $13,860 as of December 31, 2020 and 2021, respectively"
       }
      }
     },
     "localname": "AdvancesOnInventoryPurchasesNonCurrent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AdvancesToSuppliersAndOtherReceivableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to\nAdvances to Suppliers and Other Receivable .",
        "label": "Advances to Suppliers and Other Receivable"
       }
      }
     },
     "localname": "AdvancesToSuppliersAndOtherReceivableMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AdvancesToSuppliersPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for advances to suppliers.",
        "label": "Advances to Suppliers [Policy Text Block]",
        "terseLabel": "Advances to suppliers"
       }
      }
     },
     "localname": "AdvancesToSuppliersPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_AllowanceForAdvancesToSuppliersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the valuation allowance for advances to suppliers that are expected to be uncollectible.",
        "label": "Allowances for advances to suppliers"
       }
      }
     },
     "localname": "AllowanceForAdvancesToSuppliersMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A valuation allowance for advances made to suppliers expected to be utilized within twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.",
        "label": "Allowance for Doubtful Advances to Suppliers Current",
        "terseLabel": "Advances to suppliers - current, allowance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAdvancesToSuppliersCurrent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A valuation allowance for advances made to suppliers expected to be utilized after twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.",
        "label": "Allowance for Doubtful Advances to Suppliers Noncurrent",
        "terseLabel": "Advances to suppliers - non-current, allowance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAdvancesToSuppliersNoncurrent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AllowanceForOtherReceivablesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the valuation allowance for other receivables that are expected to be uncollectible.",
        "label": "Allowances for other receivables"
       }
      }
     },
     "localname": "AllowanceForOtherReceivablesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AmericaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the geographic area of America, in which the entity operates.",
        "label": "The Americas"
       }
      }
     },
     "localname": "AmericaMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AmountOfDevelopmentLoan": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of development loan.",
        "label": "Amount Of Development Loan",
        "terseLabel": "Amount of development loan"
       }
      }
     },
     "localname": "AmountOfDevelopmentLoan",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AmountOfPerformanceBasedEnergyIncentives": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of performance based energy incentives recognized in revenue.",
        "label": "Amount of performance based energy incentives",
        "terseLabel": "Amount of performance based energy incentives"
       }
      }
     },
     "localname": "AmountOfPerformanceBasedEnergyIncentives",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the annual percentage increase in authorized shares on the first business day of each calendar year from the year of amendment for awards other than incentive option shares.",
        "label": "Annual Percentage Increase in Authorized Shares on First Day of Each of Calendar Year from Year of Amendment for Awards Other than Incentive Option Shares",
        "terseLabel": "Annual percentage increase in authorized shares on the first day of each calendar year from the year of amendment for awards other than incentive option shares"
       }
      }
     },
     "localname": "AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the annual percentage increase in authorized shares on the first business day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares.",
        "label": "Annual Percentage Increase in Authorized Shares on First Day of Each of Three Years Prior to Year of Amendment for Awards Other than Incentive Option Shares",
        "terseLabel": "Annual percentage increase in authorized shares on the first day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares"
       }
      }
     },
     "localname": "AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_AssetManagementServiceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to asset management service.",
        "label": "Asset management service"
       }
      }
     },
     "localname": "AssetManagementServiceMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AssetsAcquisitionPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for assets acquisition.",
        "label": "Assets Acquisition [Policy Text Block]",
        "terseLabel": "Assets acquisition"
       }
      }
     },
     "localname": "AssetsAcquisitionPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of interests in solar power plants sold during the year.",
        "label": "Assets Held-for-sale, Number of Solar Power Plants Sold",
        "terseLabel": "Number of solar power plants sold"
       }
      }
     },
     "localname": "AssetsHeldForSaleNumberOfSolarPowerPlantsSold",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Azuma Kofuji Daiichi Hatsudensho G.K. [Member]",
        "label": "Azuma Kofuji Daiichi Hatsudensho G.K."
       }
      }
     },
     "localname": "AzumaKofujiDaiichiHatsudenshoG.k.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_BatteryStorageSolutionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Battery storage solutions.",
        "label": "Battery storage solutions"
       }
      }
     },
     "localname": "BatteryStorageSolutionsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_BifacialModuleAndDoubleGlassModuleMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member represents the information pertaining to Bifacial Module and Double Glass Module.",
        "label": "Bifacial module and double glass module"
       }
      }
     },
     "localname": "BifacialModuleAndDoubleGlassModuleMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CSISolarNewEnergySuzhouCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solar New Energy (Suzhou) Co., Ltd., a subsidiary of the entity.",
        "label": "CSI Solar New Energy (Suzhou) Co., Ltd."
       }
      }
     },
     "localname": "CSISolarNewEnergySuzhouCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar Brasil I Fundo De Investimento Em Participacoes",
        "label": "Canadian Solar Brasil I Fundo De Investimento Em Participacoes [Member]"
       }
      }
     },
     "localname": "CanadianSolarBrasilIFundoDeInvestimentoEmParticipacoesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.",
        "label": "Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd."
       }
      }
     },
     "localname": "CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarConstructionAustraliaPtyLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar Construction (Australia) Pty Ltd.",
        "label": "Canadian Solar Construction (Australia) Pty Ltd"
       }
      }
     },
     "localname": "CanadianSolarConstructionAustraliaPtyLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEMEAGmbHMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar EMEA GmbH.",
        "label": "Canadian Solar EMEA GmbH"
       }
      }
     },
     "localname": "CanadianSolarEMEAGmbHMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEmployeesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar Employees [Member].",
        "label": "Canadian Solar Employees"
       }
      }
     },
     "localname": "CanadianSolarEmployeesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEnergyAcquisitionCo.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Energy Acquisition Co.",
        "label": "Canadian Solar Energy Acquisition Co."
       }
      }
     },
     "localname": "CanadianSolarEnergyAcquisitionCo.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Energy Holding Singapore 1 Pte. Ltd.",
        "label": "Canadian Solar Energy Holding Singapore Pte. Ltd."
       }
      }
     },
     "localname": "CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar Energy Holding Singapore Pte. Ltd.",
        "label": "Canadian Solar Energy Holding Singapore Pte. Ltd. [Member]"
       }
      }
     },
     "localname": "CanadianSolarEnergyHoldingSingaporePte.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInfrastructureFundIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian solar infrastructure fund, Inc.",
        "label": "Canadian Solar Infrastructure Fund, Inc"
       }
      }
     },
     "localname": "CanadianSolarInfrastructureFundIncMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInternationalLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar International Ltd.",
        "label": "HKSI"
       }
      }
     },
     "localname": "CanadianSolarInternationalLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInternationalProjectHoldingLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar International Project Holding Limited.",
        "label": "Canadian Solar International Project Holding Limited"
       }
      }
     },
     "localname": "CanadianSolarInternationalProjectHoldingLimitedMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInvestmentManagementPtyLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar Investment Management Pty Ltd",
        "label": "Canadian Solar Investment Management Pty Ltd [Member]"
       }
      }
     },
     "localname": "CanadianSolarInvestmentManagementPtyLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarJapanKKMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Japan K.K.",
        "label": "Canadian Solar Japan K.K."
       }
      }
     },
     "localname": "CanadianSolarJapanKKMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingChangshuInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing (Changshu) Inc.",
        "label": "Canadian Solar Manufacturing (Changshu) Inc."
       }
      }
     },
     "localname": "CanadianSolarManufacturingChangshuInc.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingLuoyangIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing (Luoyang) Inc.",
        "label": "Canadian Solar Manufacturing (Luoyang) Inc."
       }
      }
     },
     "localname": "CanadianSolarManufacturingLuoyangIncMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingThailandCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing (Thailand) Co., Ltd.",
        "label": "Canadian Solar Manufacturing (Thailand) Co., Ltd."
       }
      }
     },
     "localname": "CanadianSolarManufacturingThailandCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingVietnamCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing Vietnam Co., Ltd.",
        "label": "Canadian Solar Manufacturing Vietnam Co., Ltd"
       }
      }
     },
     "localname": "CanadianSolarManufacturingVietnamCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar.",
        "label": "Canadian Solar"
       }
      }
     },
     "localname": "CanadianSolarMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarNetherlandCooperativeUaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar Netherland Cooperative Ua Member",
        "label": "Canadian Solar Netherlands Cooperative U.A."
       }
      }
     },
     "localname": "CanadianSolarNetherlandCooperativeUaMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar New Energy Holding Company Limited",
        "label": "Canadian Solar New Energy Holding Company Limited"
       }
      }
     },
     "localname": "CanadianSolarNewEnergyHoldingCompanyLimitedMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarOAndMOntarioIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar O&amp;M (Ontario) Inc., a subsidiary of the entity.",
        "label": "Canadian Solar O&amp;M (Ontario) Inc."
       }
      }
     },
     "localname": "CanadianSolarOAndMOntarioIncMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarProjectKKMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Project K.K.",
        "label": "Canadian Solar Project K.K."
       }
      }
     },
     "localname": "CanadianSolarProjectKKMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSolutionsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Solutions Inc.",
        "label": "Canadian Solar Solutions Inc."
       }
      }
     },
     "localname": "CanadianSolarSolutionsIncMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSouthEastAsiaPteLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar South East Asia Pte. Ltd., a subsidiary of the entity.",
        "label": "Canadian Solar South East Asia Pte., Ltd."
       }
      }
     },
     "localname": "CanadianSolarSouthEastAsiaPteLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSsesCanadaInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar SSES (CANADA) INC.",
        "label": "Canadian Solar SSES (Canada) Inc. [Member]"
       }
      }
     },
     "localname": "CanadianSolarSsesCanadaInc.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Sunenergy (Baotou) Co., Ltd.",
        "label": "Canadian Solar Sunenergy (Baotou) Co., Ltd."
       }
      }
     },
     "localname": "CanadianSolarSunenergyBaotouCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSunenergyJiaxingCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar Sunenergy (Jiaxing) Co. Ltd",
        "label": "Canadian Solar Sunenergy (Jiaxing) Co. Ltd"
       }
      }
     },
     "localname": "CanadianSolarSunenergyJiaxingCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarUSAIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar (USA) Inc.",
        "label": "Canadian Solar (USA) Inc."
       }
      }
     },
     "localname": "CanadianSolarUSAIncMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarUkLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar UK Ltd.",
        "label": "Canadian Solar UK Ltd."
       }
      }
     },
     "localname": "CanadianSolarUkLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarUkProjectsLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar UK Projects Ltd.",
        "label": "Canadian Solar UK Projects Ltd."
       }
      }
     },
     "localname": "CanadianSolarUkProjectsLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChangshuTlianCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Changshu Tlian Co., LTD.",
        "label": "Changshu Tlian Co., Ltd."
       }
      }
     },
     "localname": "ChangshuTlianCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Changsu Tegu New Material Technology Co., Ltd.",
        "label": "Changsu Tegu New Material Technology Co., Ltd."
       }
      }
     },
     "localname": "ChangsuTeguNewMaterialTechnologyCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to China energy/EPC (including electricity sales).",
        "label": "China Energy or Engineering, Procurement and Construction (includes Electricity Sales)"
       }
      }
     },
     "localname": "ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChineseCommercialBanksMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the Chinese Commercial Banks.",
        "label": "Chinese Commercial Banks"
       }
      }
     },
     "localname": "ChineseCommercialBanksMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ContractLiabilitiesOtherCurrentLiabilities": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other current liabilities relating to contract liabilities.",
        "label": "Contract Liabilities, Other Current Liabilities",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "ContractLiabilitiesOtherCurrentLiabilities",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ConvertibleNotesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "CONVERTIBLE NOTES"
       }
      }
     },
     "localname": "ConvertibleNotesDisclosureAbstract",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "xbrltype": "stringItemType"
    },
    "csiq_ConvertibleNotesDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder.",
        "label": "Convertible Notes Disclosure Text Block",
        "terseLabel": "CONVERTIBLE NOTES"
       }
      }
     },
     "localname": "ConvertibleNotesDisclosureTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_CsiCellsCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Cells Co., Ltd.",
        "label": "CSI Cells Co., Ltd."
       }
      }
     },
     "localname": "CsiCellsCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiCellsYanchangCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Cells (Yanchang) Co., Ltd.",
        "label": "CSI Cells (Yanchang) Co., Ltd."
       }
      }
     },
     "localname": "CsiCellsYanchangCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiElectricitySalesJiangsuCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "CSI Electricity Sales (JiangSu) Co., Ltd.",
        "label": "CSI Electricity Sales (JiangSu) Co., Ltd. [Member]"
       }
      }
     },
     "localname": "CsiElectricitySalesJiangsuCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiEnergyProjectTechnologySuzhouCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "CSI Energy Project Technology (SuZhou) Co., Ltd.",
        "label": "CSI Energy Project Technology (SuZhou) Co., Ltd. [Member]"
       }
      }
     },
     "localname": "CsiEnergyProjectTechnologySuzhouCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiModulesDafengCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Modules (DaFeng) Co., Ltd..",
        "label": "CSI Modules (DaFeng) Co., Ltd."
       }
      }
     },
     "localname": "CsiModulesDafengCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiModulesJiaxingCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to CSI Modules (JiaXing) Co., Ltd.",
        "label": "Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.)"
       }
      }
     },
     "localname": "CsiModulesJiaxingCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiNewEnergyHoldingCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI New Energy Holding Co., Ltd.",
        "label": "CSI New Energy Holding Co., Ltd."
       }
      }
     },
     "localname": "CsiNewEnergyHoldingCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc member.",
        "label": "CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc"
       }
      }
     },
     "localname": "CsiSolarCo.Ltd.AndCanadianSolarManufacturingChangshuIncMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiSolarManufacturingFuningCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solar Manufacturing (Funing) Co., Ltd . (formerly known as \"CSI&amp;GCL Solar Manufacturing (Yancheng) Inc.\").",
        "label": "CSI Solar Manufacturing (Funing) Co., Ltd . (formerly known as \"CSI&amp;GCL Solar Manufacturing (Yancheng) Inc.\")"
       }
      }
     },
     "localname": "CsiSolarManufacturingFuningCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiSolarPowerChinaInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solar Power (China) Inc.",
        "label": "CSI Solar Power Group Co., Ltd. (formerly named/known as \"CSI Solar Power (China) Inc.\")"
       }
      }
     },
     "localname": "CsiSolarPowerChinaInc.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiSolarSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solar segment.",
        "label": "CSI Solar Segment"
       }
      }
     },
     "localname": "CsiSolarSegmentMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiWaferLuoyangCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to CSI Wafer (LuoYang) Co., Ltd.",
        "label": "CSI Wafer (LuoYang) Co., Ltd."
       }
      }
     },
     "localname": "CsiWaferLuoyangCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CustomerOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the customer one, which has the largest accounts receivable balance.",
        "label": "Customer one"
       }
      }
     },
     "localname": "CustomerOneMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CustomerThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the customer three, which has the largest accounts receivable balance.",
        "label": "Customer three"
       }
      }
     },
     "localname": "CustomerThreeMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CustomerTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the customer two, which has the largest accounts receivable balance.",
        "label": "Customer two"
       }
      }
     },
     "localname": "CustomerTwoMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The period of option available to initial purchasers of convertible debt instruments for purchase of additional convertible debt instruments, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument Convertible Option Period For Additional Issuance",
        "terseLabel": "Period of option for additional issuance"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage price of original principal amount of debt plus accrued interest at which debt can be redeemed by the issuer following occurrence of certain tax related events.",
        "label": "Debt Instrument Convertible Redemption Price Percentage Of Outstanding Principal Amount Plus Accrued Interest Following Occurrence Of Certain Tax Related Events",
        "terseLabel": "Redemption prices as percentage of outstanding principal amount plus accrued and unpaid interest following occurrence of certain tax related events"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DebtInstrumentInterestRateFloatingPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual floating interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Floating Percentage",
        "terseLabel": "Floating interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateFloatingPercentage",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the borrowings secured by project assets and solar power systems.",
        "label": "Secured by project assets and solar power systems"
       }
      }
     },
     "localname": "DebtSecuredByProjectAssetsAndSolarPowerSystemsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DecreaseOfNetAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The decrease of net assets after tax equity transactions.",
        "label": "Decrease of Net Assets",
        "terseLabel": "Net assets derecognized"
       }
      }
     },
     "localname": "DecreaseOfNetAssets",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxAssetsFutureDeductibleExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowances, of deferred tax asset attributable to future deductible expenses.",
        "label": "Deferred Tax Assets, Future Deductible Expenses",
        "terseLabel": "Future deductible expenses"
       }
      }
     },
     "localname": "DeferredTaxAssetsFutureDeductibleExpenses",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxAssetsInterestLimitation": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as interest limitation.",
        "label": "Deferred Tax Assets, Interest Limitation",
        "terseLabel": "Interest limitation"
       }
      }
     },
     "localname": "DeferredTaxAssetsInterestLimitation",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the sale of project assets.",
        "label": "Deferred Tax Assets Related To Sale Of Project Assets",
        "terseLabel": "Government subsidies"
       }
      }
     },
     "localname": "DeferredTaxAssetsRelatedToSaleOfProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxLiabilitiesInsuranceRecoverable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from insurance recoverable.",
        "label": "Deferred Tax Liabilities Insurance Recoverable",
        "terseLabel": "Insurance recoverable"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesInsuranceRecoverable",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of contributions made by an employer to the medical insurance benefits, housing funds, unemployment and other statutory benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution Amount",
        "terseLabel": "Amount of contribution by the employer for medical insurance benefits, housing funds, unemployment and other statutory benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAmount",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the housing funds of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Housing Funds",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for housing funds"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the medical insurance benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Medical Insurance Benefits",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for medical insurance benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the other statutory benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Other Statutory Benefits",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for other statutory benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the unemployment benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Unemployment Benefits",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for unemployment benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of derecognition of commodity hedge and interest rate swap.",
        "label": "Derecognition of Commodity Hedge and Interest Rate Swap",
        "terseLabel": "Derecognition of interest rate swap"
       }
      }
     },
     "localname": "DerecognitionOfCommodityHedgeAndInterestRateSwap",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DerivativesAssetsCurrentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing current derivatives assets.",
        "label": "Derivative assets - current"
       }
      }
     },
     "localname": "DerivativesAssetsCurrentMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DerivativesLiabilitiesCurrentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing current derivatives liabilities.",
        "label": "Derivative liabilities - current"
       }
      }
     },
     "localname": "DerivativesLiabilitiesCurrentMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The \"statutory\" tax rate is the regular tax rate if there are alternative tax systems.",
        "label": "Effective Income Tax Rate Reconciliation at Federal and Provincial Income Tax Rate",
        "terseLabel": "Federal and provincial income tax rate (as a percent)",
        "verboseLabel": "Combined federal and provincial income tax rate (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to true-up adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Effect of True-up",
        "terseLabel": "Effect of true-up (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationEffectOfTrueUp",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent difference.",
        "label": "Effective Income Tax Rate Reconciliation, Permanent Difference, Percent",
        "terseLabel": "Effect of permanent difference (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EightyPercentInitialPowerCapacityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to 80% initial power capacity.",
        "label": "80% initial power capacity"
       }
      }
     },
     "localname": "EightyPercentInitialPowerCapacityMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EliminationsAndReconcilingItemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to eliminations and reconciling items.",
        "label": "Elimination and unallocated items"
       }
      }
     },
     "localname": "EliminationsAndReconcilingItemsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total compensation cost of unvested share-based awards, other than options, awarded to employees as compensation.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Total Compensation Costs, Share-based Awards Other than Options",
        "terseLabel": "Total compensation cost at the date of grant"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_EquityIncomeLossFromSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents the entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.",
        "label": "Equity Income (Loss) from Subsidiaries",
        "negatedTerseLabel": "Equity in earnings of subsidiaries",
        "terseLabel": "Equity in earnings of subsidiaries"
       }
      }
     },
     "localname": "EquityIncomeLossFromSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_EquityInterestHeldAsGeneralPartner": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of equity interest held as general partner.",
        "label": "Equity Interest Held as General Partner",
        "terseLabel": "Interest held as general partner"
       }
      }
     },
     "localname": "EquityInterestHeldAsGeneralPartner",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EquityInterestHeldAsLimitedPartner": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of equity interest held as limited partner.",
        "label": "Equity Interest Held As Limited Partner",
        "terseLabel": "Equity interest held as limited partner"
       }
      }
     },
     "localname": "EquityInterestHeldAsLimitedPartner",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EquityMethodInvestmentOwnershipPercentageSold": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment Ownership Percentage Sold",
        "terseLabel": "Interest sold (in percent)"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentageSold",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EtSolutionsSouthAfricaOnePtyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to ET Solutions South Africa 1 Pty.",
        "label": "ET Solutions South Africa 1 Pty"
       }
      }
     },
     "localname": "EtSolutionsSouthAfricaOnePtyMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FieldfareArgentinaS.r.l.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "FieldFare Argentina S.R.L.",
        "label": "FieldFare Argentina S.R.L. [Member]",
        "terseLabel": "FieldFare Argentina S.R.L."
       }
      }
     },
     "localname": "FieldfareArgentinaS.r.l.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FifthAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Fifth administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Fifth administrative review of Solar 1"
       }
      }
     },
     "localname": "FifthAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FinancingLiabilitiesNonCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of financing liabilities due after one year or beyond the normal operating cycle, if longer.",
        "label": "Financing Liabilities Non Current",
        "terseLabel": "Financing liabilities"
       }
      }
     },
     "localname": "FinancingLiabilitiesNonCurrent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_FinishedGoodsModules": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of finished goods includes modules.",
        "label": "Finished Goods, Modules",
        "terseLabel": "Amount of finished goods includes modules"
       }
      }
     },
     "localname": "FinishedGoodsModules",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year and after that year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five And Thereafter",
        "terseLabel": "2026 and thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_FirstAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to first administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "First administrative review of Solar 1"
       }
      }
     },
     "localname": "FirstAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ForeignCurrencyRiskPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for risk associated with converting the amounts denominated in the foreign currencies into reporting entity's reporting currency.",
        "label": "Foreign Currency Risk [Policy Text Block]",
        "terseLabel": "Foreign currency risk"
       }
      }
     },
     "localname": "ForeignCurrencyRiskPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_FourJapaneseSubsidiariesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Four Japanese Subsidiaries member\n.",
        "label": "Four Japanese Subsidiaries"
       }
      }
     },
     "localname": "FourJapaneseSubsidiariesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FourthAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Fourth administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Fourth administrative review of Solar 1"
       }
      }
     },
     "localname": "FourthAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FranciscoSaIRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Francisco SA I Renewable Energy S.A.",
        "label": "Francisco SA I Renewable Energy S.A."
       }
      }
     },
     "localname": "FranciscoSaIRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FranciscoSaIiRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Francisco SA II Renewable Energy S.A.",
        "label": "Francisco SA II Renewable Energy S.A."
       }
      }
     },
     "localname": "FranciscoSaIiRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FranciscoSaIiiRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Francisco SA III Renewable Energy S.A.",
        "label": "Francisco SA III Renewable Energy S.A."
       }
      }
     },
     "localname": "FranciscoSaIiiRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of solar power systems and other investments.",
        "label": "Gain (Loss) on disposal of solar power systems and other investments",
        "negatedLabel": "Gain on disposal of solar power systems"
       }
      }
     },
     "localname": "GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_GlobalEnergySegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to th global energy segment.",
        "label": "Global Energy Segment"
       }
      }
     },
     "localname": "GlobalEnergySegmentMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Horus Solar S.A. De Capital Variable (\"Horus\") and Recursos Solares PV De Mxico II S.A. De Capital Variable (\"Recursos\") [Member]",
        "label": "Horus Solar S.A. De Capital Variable (\"Horus\") and Recursos Solares PV De Mxico II S.A. De Capital Variable (\"Recursos\") [Member]",
        "terseLabel": "Horus and Recursos"
       }
      }
     },
     "localname": "HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_HorusSolarS.a.DeCapitalVariableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Horus Solar S.A. De Capital Variable.",
        "label": "Horus Solar S.A. De Capital Variable"
       }
      }
     },
     "localname": "HorusSolarS.a.DeCapitalVariableMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_IncomeTaxAdditionalDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Additional Disclosure [Abstract]",
        "terseLabel": "Additional disclosure"
       }
      }
     },
     "localname": "IncomeTaxAdditionalDisclosureAbstract",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncomeTaxHolidayAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Holiday [Abstract]",
        "terseLabel": "Aggregate amount and per share effect of the tax holiday"
       }
      }
     },
     "localname": "IncomeTaxHolidayAbstract",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the basic per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.",
        "label": "Income Tax Holiday Income Tax Benefits Per Share Basic",
        "terseLabel": "Per share effect - basic (in dollars per share)"
       }
      }
     },
     "localname": "IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the diluted per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.",
        "label": "Income Tax Holiday Income Tax Benefits Per Share Diluted",
        "terseLabel": "Per share effect - diluted (in dollars per share)"
       }
      }
     },
     "localname": "IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "csiq_IncomeTaxesForeignCorporateTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the corporate income tax rate in foreign jurisdiction.",
        "label": "Income Taxes Foreign Corporate Tax Rate",
        "terseLabel": "Income tax rate (as a percent)"
       }
      }
     },
     "localname": "IncomeTaxesForeignCorporateTaxRate",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_IncomeTaxesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes [Line Items]",
        "verboseLabel": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxesLineItems",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncomeTaxesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosures pertaining to income taxes.",
        "label": "Income Taxes [Table]"
       }
      }
     },
     "localname": "IncomeTaxesTable",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncreaseDecreaseInAdvanceToSuppliers": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 25.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in advances to suppliers.",
        "label": "Increase (Decrease) in Advance to Suppliers",
        "negatedLabel": "Advances to suppliers"
       }
      }
     },
     "localname": "IncreaseDecreaseInAdvanceToSuppliers",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInDepreciationExpense": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of increase Decrease in Depreciation Expense\n.",
        "label": "Increase Decrease in Depreciation Expense",
        "terseLabel": "Increase or decrease in depreciation expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInDepreciationExpense",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInGoodwill": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 37.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in goodwill.",
        "label": "Increase (Decrease) in Goodwill",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "IncreaseDecreaseInGoodwill",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 38.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of uncertainty liability in income taxes.",
        "label": "Increase (Decrease) in Liability for Uncertainty in Income Taxes",
        "terseLabel": "Liability for uncertain tax positions"
       }
      }
     },
     "localname": "IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInPrepaidLandUseRight": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 36.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for land use right that bring economic benefits for future periods.",
        "label": "Increase (Decrease) in Prepaid Land Use Right",
        "negatedLabel": "Prepaid land use rights"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidLandUseRight",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInProductWarrantyAccrual": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 35.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of obligations for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "Increase (Decrease) in Product Warranty Accrual",
        "terseLabel": "Accrued warranty costs"
       }
      }
     },
     "localname": "IncreaseDecreaseInProductWarrantyAccrual",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 26.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period of the amount of cost of uncompleted contracts in excess of related billings, or unbilled accounts receivable.",
        "label": "Increase (Decrease) in Project Assets",
        "negatedLabel": "Project assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInValueAddedTaxReceivable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 24.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities.",
        "label": "Increase (Decrease) in Value Added Tax Receivable",
        "negatedLabel": "Value added tax recoverable"
       }
      }
     },
     "localname": "IncreaseDecreaseInValueAddedTaxReceivable",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InsuranceClaimsOrWeatherRelatedProjectDamages": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of (insurance claims) or weather related project damages.",
        "label": "Insurance Claims or Weather Related Project Damages",
        "terseLabel": "(Insurance claims on) weather-related project damages"
       }
      }
     },
     "localname": "InsuranceClaimsOrWeatherRelatedProjectDamages",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InsurancePolicyTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the term of the insurance policy over which the insurance premium will be amortized.",
        "label": "Insurance Policy Term",
        "terseLabel": "Term of insurance policy over which the insurance premium will be amortized"
       }
      }
     },
     "localname": "InsurancePolicyTerm",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_InsurancePremiumUnamortizedAmountNoncurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the unamortized carrying amount of insurance premium.",
        "label": "Insurance Premium Unamortized Amount Noncurrent",
        "terseLabel": "Unamortized carrying amount of insurance premium"
       }
      }
     },
     "localname": "InsurancePremiumUnamortizedAmountNoncurrent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InterestCostsCapitalizedProjectAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest costs capitalized for project assets disclosed as an adjusting item to interest costs incurred.",
        "label": "Interest Costs Capitalized Project Assets",
        "terseLabel": "Interest capitalized - project assets"
       }
      }
     },
     "localname": "InterestCostsCapitalizedProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InterestCostsCapitalizedPropertyPlantAndEquipment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest costs capitalized for property, plant, and equipment disclosed as an adjusting item to interest costs incurred.",
        "label": "Interest Costs Capitalized Property, Plant and Equipment",
        "terseLabel": "Interest capitalized - property, plant, and equipment"
       }
      }
     },
     "localname": "InterestCostsCapitalizedPropertyPlantAndEquipment",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InvestmentInAffiliates": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in affiliates.",
        "label": "Investments in Affiliates.",
        "terseLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "InvestmentInAffiliates",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InvestmentInSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in subsidiaries.",
        "label": "Investment In Subsidiaries",
        "terseLabel": "Investment in subsidiaries"
       }
      }
     },
     "localname": "InvestmentInSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_Jaba4EnergiasRenovveisS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Jaba 4 Energias Renovveis S.A.",
        "label": "Jaba 4 Energias Renovveis S.A."
       }
      }
     },
     "localname": "Jaba4EnergiasRenovveisS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_Jaiba3RenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Jaiba 3 Renewable Energy S.A.",
        "label": "Jaiba 3 Renewable Energy S.A."
       }
      }
     },
     "localname": "Jaiba3RenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_Jaiba9RenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Jaiba 9 Renewable Energy S.A.",
        "label": "Jaiba 9 Renewable Energy S.A."
       }
      }
     },
     "localname": "Jaiba9RenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_JushengSuzhouSolarTechCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to JuSheng (Suzhou) Solar Tech Co., Ltd.",
        "label": "JuSheng (Suzhou) Solar Tech Co., Ltd"
       }
      }
     },
     "localname": "JushengSuzhouSolarTechCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasISolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras I Solar Renewable Energy S.A.",
        "label": "Lavras I Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasISolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasIiSolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras II Solar Renewable Energy S.A.",
        "label": "Lavras II Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasIiSolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasIiiSolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras III Solar Renewable Energy S.A.",
        "label": "Lavras III Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasIiiSolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasIvSolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras IV Solar Renewable Energy S.A.",
        "label": "Lavras IV Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasIvSolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasSolarHoldingS.aMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Lavras Solar Holding S.A",
        "label": "Lavras Solar Holding S.A"
       }
      }
     },
     "localname": "LavrasSolarHoldingS.aMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasVSolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras V Solar Renewable Energy S.A.",
        "label": "Lavras V Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasVSolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Leading institutional investors and strategic partners.",
        "label": "Third-Party Investors"
       }
      }
     },
     "localname": "LeadingInstitutionalInvestorsAndStrategicPartnersMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of components of leases that are recognized on the Balance Sheets.",
        "label": "Lease Components Of Leases That Are Recognized On Balance Sheets [Table Text Block]",
        "terseLabel": "Schedule of other supplemental information:"
       }
      }
     },
     "localname": "LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_LeaseLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Liability",
        "label": "Lease Liability",
        "terseLabel": "NPV for future minimum lease payments",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "LeaseLiability",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeaseLiabilityCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 1.0,
       "parentTag": "csiq_LeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Liability, Current",
        "label": "Lease Liability, Current",
        "terseLabel": "Short-term"
       }
      }
     },
     "localname": "LeaseLiabilityCurrent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeaseLiabilityNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 2.0,
       "parentTag": "csiq_LeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Liability, Noncurrent",
        "label": "Lease Liability, Noncurrent",
        "terseLabel": "Long-term"
       }
      }
     },
     "localname": "LeaseLiabilityNoncurrent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDue": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum lease payments for leases.",
        "label": "Leases Future Minimum Lease Payments Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDue",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in tweleve months",
        "label": "Leases Future Minimum Lease Payments Due Current",
        "terseLabel": "2019"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueCurrent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the fifth fiscal year following the latest fiscal year.",
        "label": "Leases Future Minimum Lease Payments Due in Five Years",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueInFiveYears",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the fourth fiscal year following the latest fiscal year",
        "label": "Leases Future Minimum Lease Payments Due in Four Years",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueInFourYears",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the third fiscal year following the latest fiscal year.",
        "label": "Leases Future Minimum Lease Payments Due in Three Years",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueInThreeYears",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the second fiscal year following the latest fiscal year.",
        "label": "Leases Future Minimum Lease Payments Due in Two Years",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueInTwoYears",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueThereAfter": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 6.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due after fifth fiscal year.",
        "label": "Leases Future Minimum Lease Payments Due There After",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueThereAfter",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount necessary to reduce net minimum lease payments to present value for leases.",
        "label": "Leases, Future Minimum Payments, Interest Included in Payments",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LeasesFutureMinimumPaymentsInterestIncludedInPayments",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of minimum lease payments for leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and taxes.",
        "label": "Leases, Future Minimum Payments, Present Value of Net Minimum Payments",
        "terseLabel": "NPV for future minimum lease payments"
       }
      }
     },
     "localname": "LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDue": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due",
        "label": "Lessee, Liability, Payments, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDue",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 6.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due after Year Five",
        "label": "Lessee, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Next Twelve Months",
        "label": "Lessee, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Five",
        "label": "Lessee, Liability, Payments, Due Year Five",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearFive",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Four",
        "label": "Lessee, Liability, Payments, Due Year Four",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearFour",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearThree": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Three",
        "label": "Lessee, Liability, Payments, Due Year Three",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearThree",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearTwo": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Two",
        "label": "Lessee, Liability, Payments, Due Year Two",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearTwo",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityUndiscountedExcessAmount": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Undiscounted Excess Amount",
        "label": "Lessee, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LesseeLiabilityUndiscountedExcessAmount",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LongTermBorrowingsOnProjectAssetsCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DebtCurrent",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount represents long-borrowings associated with certain solar power projects that are expected to be sold within one year.",
        "label": "Long-term borrowings on project assets - current",
        "terseLabel": "Long-term borrowings on project assets - current"
       }
      }
     },
     "localname": "LongTermBorrowingsOnProjectAssetsCurrent",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable on project assets, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long Term Debt On Project Assets, Maturities Repayments Of Principal In Next Twelve Months",
        "terseLabel": "Future principal repayment of long-term borrowings on project assets - current"
       }
      }
     },
     "localname": "LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the cash deposit rate for anti-dumping duty on CSPV cells imported from China on or after a specified date.",
        "label": "Loss Contingency Cash Deposit Rate Anti Dumping Duty on CSPV Cells Imported from China On or After Specific Date",
        "terseLabel": "Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)"
       }
      }
     },
     "localname": "LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the cash deposit rate for countervailing duty on CSPV cells imported from China on or after a specified date.",
        "label": "Loss Contingency Cash Deposit Rate Countervailing Duty on CSPV Cells Imported from China On or After Specific Date",
        "terseLabel": "Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)"
       }
      }
     },
     "localname": "LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the duty rate for anti-dumping duty on CSPV cells imported from Taiwan on or after a specified date.",
        "label": "Loss Contingency Duty Rate Anti Dumping Duty on CSPV Cells Imported from Taiwan On or After Specific Date",
        "terseLabel": "Duty rate for anti-dumping duty on CSPV cells imported from Taiwan (as a percent)"
       }
      }
     },
     "localname": "LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member pertaining to Luoyang Jiwa New Material Technology Co., Ltd.",
        "label": "Luoyang Jiwa New Material Technology Co., Ltd [Member]"
       }
      }
     },
     "localname": "LuoyangJiwaNewMaterialTechnologyCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_MajorCustomersDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "MAJOR CUSTOMERS"
       }
      }
     },
     "localname": "MajorCustomersDisclosureAbstract",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "xbrltype": "stringItemType"
    },
    "csiq_MajorCustomersDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of major customers from which the entity receives substantial of its revenue. Due to the competitive nature of the industry in which the entity belongs, the entity may not believe that the loss of any particular customer would have material adverse impact on the entity.",
        "label": "Major Customers Disclosure [Text Block]",
        "terseLabel": "MAJOR CUSTOMERS"
       }
      }
     },
     "localname": "MajorCustomersDisclosureTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomers"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_MajorSubsidiariesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "Appendix 1 - Major Subsidiaries of CSI"
       }
      }
     },
     "localname": "MajorSubsidiariesDisclosuresAbstract",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "xbrltype": "stringItemType"
    },
    "csiq_MaterialAndWorkmanShipMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to material and workmanship.",
        "label": "Material and workmanship"
       }
      }
     },
     "localname": "MaterialAndWorkmanShipMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the maximum useful life of project to be transferred to an offtaker.",
        "label": "Maximum Useful Life of Projects to be Transferred to an Offtaker",
        "terseLabel": "Maximum useful life of transferred to an offtaker"
       }
      }
     },
     "localname": "MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the minimum percentage of after tax profit required to be appropriated to the general reserve under PRC GAAP.",
        "label": "Minimum Appropriation of after Tax Profit to General Reserve Required Percentage",
        "terseLabel": "Minimum percentage of the profit after tax to be appropriated to the general reserve"
       }
      }
     },
     "localname": "MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net loss on disposal of property, plant and equipment included in other operating expense.",
        "label": "Net Loss Disposal Property Plant Equipment Other Operating Expense",
        "terseLabel": "Net (gain) loss on disposal of property, plant and equipment"
       }
      }
     },
     "localname": "NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_NinetySevenPercentInitialPowerCapacityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to 97% of initial capacity.",
        "label": "97 % initial power capacity"
       }
      }
     },
     "localname": "NinetySevenPercentInitialPowerCapacityMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NinetyThreeInitialPowerCapacityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to 93% of initial capacity.",
        "label": "93% initial power capacity"
       }
      }
     },
     "localname": "NinetyThreeInitialPowerCapacityMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NonBindingLineOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents a non-binding contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.",
        "label": "Non-binding bank credit facilities"
       }
      }
     },
     "localname": "NonBindingLineOfCreditMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NonCashOperatingLeaseExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of non-cash operating lease expenses.",
        "label": "Non-cash Operating lease expenses",
        "terseLabel": "Non-cash operating lease expenses"
       }
      }
     },
     "localname": "NonCashOperatingLeaseExpenses",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of board of investment certificates for tax exemption.",
        "label": "Number of Board of Investment Certificates, Tax Exemption",
        "terseLabel": "Number of Board of Investment certificates for tax exemption"
       }
      }
     },
     "localname": "NumberOfBoardOfInvestmentCertificatesTaxExemption",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfCustomers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of major customers.",
        "label": "Number of Customers",
        "terseLabel": "Number of customers with the largest receivable balances"
       }
      }
     },
     "localname": "NumberOfCustomers",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfLineOfCreditFacility": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to number of Line Of Credit Facility",
        "label": "Number of Line Of Credit Facility",
        "terseLabel": "Number of credit facilities"
       }
      }
     },
     "localname": "NumberOfLineOfCreditFacility",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfOtherParticipatingFinancialInstitutions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of participating financial institutions.",
        "label": "Number of Other Participating Financial Institutions",
        "terseLabel": "Number of participating financial institutions"
       }
      }
     },
     "localname": "NumberOfOtherParticipatingFinancialInstitutions",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfUnitsPurchased": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of units purchased during period.",
        "label": "Number of Units Purchased"
       }
      }
     },
     "localname": "NumberOfUnitsPurchased",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "csiq_OMServiceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to O &amp; M service.",
        "label": "O &amp; M Service"
       }
      }
     },
     "localname": "OMServiceMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OmAndAssetManagementServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to O&amp;M and asset management services.",
        "label": "O&amp;M and asset management services"
       }
      }
     },
     "localname": "OmAndAssetManagementServicesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OperatingLossCarryforwardsSubjectToExpiration": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of operating loss carryforwards available to reduce future taxable income, which are subject to expiration dates.",
        "label": "Operating Loss Carryforwards Subject to Expiration",
        "terseLabel": "Accumulated net operating losses subject to expiration between 2021 and 2040"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsSubjectToExpiration",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount represents De-recognition of commodity hedge and interest rate swap",
        "label": "Other Comprehensive Income Loss De-Recognition of Commodity Hedge and Interest Rate Swap",
        "terseLabel": "De-recognition of interest rate swap",
        "verboseLabel": "De-recognition of derivatives"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - interest rate swap, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).",
        "label": "Other Comprehensive Income Loss Derivatives Qualifying as Hedges, Interest Rate Swap Net of Tax",
        "terseLabel": "Gain (loss) on interest rate swap"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherCountriesAmericaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to other countries in America.",
        "label": "Other Countries America [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCountriesAmericaMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherCountriesAsiaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other regions in Asia.",
        "label": "Other Countries Asia [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCountriesAsiaMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherCountriesEuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other countries in Europe.",
        "label": "Other Countries Europe [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCountriesEuropeMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherCsiSolarProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the other CSI Solar products.",
        "label": "Other Csi Solar Products [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCsiSolarProductsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherEquityMethodInvesteesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the other equity method investees.",
        "label": "Other Equity Method Investees [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherEquityMethodInvesteesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to other global energy products (includes electricity sales).",
        "label": "Other Global Energy Products (includes Electricity Sales) [Member]",
        "terseLabel": "Others (includes electricity sales)"
       }
      }
     },
     "localname": "OtherGlobalEnergyProductsIncludesElectricitySalesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherJurisdictionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to other jurisdictions where the entity has operations.",
        "label": "Other"
       }
      }
     },
     "localname": "OtherJurisdictionsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherNoncurrentAssetsAdjustment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current assets.",
        "label": "Other Noncurrent Assets Adjustment",
        "terseLabel": "Downward adjustment of other non-current assets"
       }
      }
     },
     "localname": "OtherNoncurrentAssetsAdjustment",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for other operating income and other operating expense items.",
        "label": "Other Operating Income (Expense), Policy [Policy Text Block]",
        "terseLabel": "Other operating income, net"
       }
      }
     },
     "localname": "OtherOperatingIncomeExpensePolicyPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_OtherPayablesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other payables.",
        "label": "Other Payables [Member]"
       }
      }
     },
     "localname": "OtherPayablesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_PaymentsForFinancingCashFlowsFromFinanceLease": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of finance lease payments during the year.",
        "label": "Payments for Financing Cash Flows from Finance Lease",
        "terseLabel": "Financing cash outflows from finance lease"
       }
      }
     },
     "localname": "PaymentsForFinancingCashFlowsFromFinanceLease",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsForProceedsFromLoansToSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount paid or received by the reporting entity associated with the loans to subsidiaries.",
        "label": "Payments for (Proceeds from) Loans to Subsidiaries",
        "negatedLabel": "Funding of loans to subsidiaries"
       }
      }
     },
     "localname": "PaymentsForProceedsFromLoansToSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsOfDistributionsToTaxEquityInvestors": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow in the form of distributions provided to tax equity investors.",
        "label": "Payments of Distributions to Tax Equity Investors",
        "negatedLabel": "Distributions to tax equity investors"
       }
      }
     },
     "localname": "PaymentsOfDistributionsToTaxEquityInvestors",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquireAffiliates": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of payments to acquire affiliates.",
        "label": "Payments to Acquire Affiliates",
        "negatedLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "PaymentsToAcquireAffiliates",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets and Intangible assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments To Acquire Property Plant And Equipment And Intangible Assets",
        "negatedLabel": "Purchase of property, plant and equipment and intangible assets"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquireSolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of solar power systems that are used in the normal conduct of business to produce solar power.",
        "label": "Payments to Acquire Solar Power Systems",
        "negatedLabel": "Purchase of solar power systems"
       }
      }
     },
     "localname": "PaymentsToAcquireSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquireSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Payments to Acquire Subsidiaries.",
        "label": "Payments to Acquire Subsidiaries",
        "negatedTerseLabel": "Investments in subsidiaries"
       }
      }
     },
     "localname": "PaymentsToAcquireSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PercentageOfDiscountOnIssueOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of discount on issue of shares.",
        "label": "Percentage of discount on Issue of Shares"
       }
      }
     },
     "localname": "PercentageOfDiscountOnIssueOfShares",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_PeriodOfSunsetReviews": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period covered by the sunset reviews conducted by USDOC and USITC, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Period of Sunset Reviews",
        "terseLabel": "Period of sunset reviews"
       }
      }
     },
     "localname": "PeriodOfSunsetReviews",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount as of the date of the latest financial statement presented of accounts receivable which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Assets, Not Separately Reported, Accounts Receivable",
        "terseLabel": "Carrying value of accounts receivable that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedAccountsReceivable",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedInventory": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of inventory, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets Not Separately Reported Inventory",
        "terseLabel": "Carrying value of inventories that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedInventory",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of prepaid 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 Prepaid Land Use Right",
        "terseLabel": "Carrying value of prepaid land use rights that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of property, plant and equipment, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets Not Separately Reported Property, Plant and Equipment",
        "terseLabel": "Carrying value of property, plant and equipment that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of restricted cash owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement, and for which the transferee is not permitted to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Assets, Not Separately Reported, Restricted Cash",
        "terseLabel": "Carrying value of restricted cash that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedRestrictedCash",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of project assets and 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, Project Assets And Solar Power Systems",
        "terseLabel": "Carrying value of project assets and solar power systems that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsProjectAssetsAndSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedEquityNotSeparatelyReported": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount as of the date of the latest financial statement presented of equity which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Equity, Not Separately Reported",
        "terseLabel": "Carrying value of equity that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedEquityNotSeparatelyReported",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PreferentialWithholdingTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the preferential withholding tax rate.",
        "label": "Preferential Withholding Tax Rate",
        "terseLabel": "Preferential withholding tax rate (as a percent)"
       }
      }
     },
     "localname": "PreferentialWithholdingTaxRate",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_PremiumDiscountOnIssueOfShares": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of premium or discount on issue of shares.",
        "label": "Premium (Discount) on Issue of Shares"
       }
      }
     },
     "localname": "PremiumDiscountOnIssueOfShares",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PrepaymentForLandUseRightPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for prepayment for land use rights which may include the basis of such assets, depreciation methods used and estimated useful lives.",
        "label": "Prepayment for Land Use Right [Policy Text Block]",
        "terseLabel": "Prepaid land use rights"
       }
      }
     },
     "localname": "PrepaymentForLandUseRightPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ProceedsFromConvertibleDebtAdditionalIssuance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Proceeds From Convertible Debt Additional Issuance",
        "terseLabel": "Proceeds from additional issuance of convertible notes"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebtAdditionalIssuance",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromConvertibleDebtInitialIssuance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the initial issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Proceeds From Convertible Debt Initial Issuance",
        "terseLabel": "Proceeds from initial issuance of convertible notes"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebtInitialIssuance",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Proceeds from long term borrowings.",
        "label": "Proceeds from Issuance of Long-term Debt Other than Convertible Debt",
        "terseLabel": "Proceeds from long-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromLoansFromSubsidiaries": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with loans from subsidiaries.",
        "label": "Proceeds From Loans from Subsidiaries",
        "terseLabel": "Funding of loans from a subsidiary"
       }
      }
     },
     "localname": "ProceedsFromLoansFromSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromPaymentsToMinorityShareHolder": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents to Proceeds From Payments To Minority Share holder.",
        "label": "Proceeds From Payments To Minority Share holder",
        "terseLabel": "Repayment to non-controlling interests"
       }
      }
     },
     "localname": "ProceedsFromPaymentsToMinorityShareHolder",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the proceeds from the sale or disposal of solar power systems.",
        "label": "Proceeds from Sale or Disposal of Solar Power Systems",
        "terseLabel": "Proceeds from disposal of solar power systems"
       }
      }
     },
     "localname": "ProceedsFromSaleOrDisposalOfSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromSubscriptionAdvances": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash inflow from subscription advances.",
        "label": "Proceeds from Subscription Advances",
        "verboseLabel": "Proceeds from subscription of employee stock ownership plan"
       }
      }
     },
     "localname": "ProceedsFromSubscriptionAdvances",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromThirdPartyFinancingLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from financing liabilities of third parties.",
        "label": "Proceeds from Third Party Financing Liabilities",
        "terseLabel": "Proceeds from third party financing liabilities"
       }
      }
     },
     "localname": "ProceedsFromThirdPartyFinancingLiabilities",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProductWarrantyAccrualRateForSalesOfSolarModules": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of revenue which the entity uses as an estimate of warranty expense for sales of solar modules, which is included in cost of revenues.",
        "label": "Product Warranty Accrual Rate for Sales of Solar Modules",
        "terseLabel": "Warranty accrual rate for sales of solar modules as a percentage of revenue"
       }
      }
     },
     "localname": "ProductWarrantyAccrualRateForSalesOfSolarModules",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_ProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects.",
        "label": "Project Assets.",
        "terseLabel": "Project assets"
       }
      }
     },
     "localname": "ProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "PROJECT ASSETS"
       }
      }
     },
     "localname": "ProjectAssetsAbstract",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "xbrltype": "stringItemType"
    },
    "csiq_ProjectAssetsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information relating to project assets.",
        "label": "Project Assets Disclosure [Text Block]",
        "terseLabel": "PROJECT ASSETS"
       }
      }
     },
     "localname": "ProjectAssetsDisclosureTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ProjectAssetsImpairmentCharge": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the impairment charges and write-off for investments in solar power projects.",
        "label": "Project Assets Impairment Charge",
        "terseLabel": "Impairment loss of project assets"
       }
      }
     },
     "localname": "ProjectAssetsImpairmentCharge",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLand": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects.",
        "label": "Project Assets Plants and Land",
        "totalLabel": "Total project assets"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLand",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "order": 1.0,
       "parentTag": "csiq_ProjectAssetsPlantsAndLand",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of capitalized acquisition cost related to investments in solar power projects.",
        "label": "Project Assets Plants and Land Capitalized Acquisition Cost",
        "terseLabel": "Project assets - Acquisition cost"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "order": 2.0,
       "parentTag": "csiq_ProjectAssetsPlantsAndLand",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of capitalized EPC and other cost related to investments in solar power projects.",
        "label": "Project Assets Plants and Land Capitalized EPC and Other Cost",
        "terseLabel": "Project assets - EPC and other cost"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandCurrentPortion": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.",
        "label": "Project assets, Current",
        "terseLabel": "Project assets",
        "verboseLabel": "Current portion"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandCurrentPortion",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandNonCurrentPortion": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.",
        "label": "Project assets, Non Current",
        "terseLabel": "Project assets",
        "verboseLabel": "Non-current portion"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandNonCurrentPortion",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining project asset costs.",
        "label": "Project Assets [Policy Text Block]",
        "terseLabel": "Project assets"
       }
      }
     },
     "localname": "ProjectAssetsPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_PropertyAndEquipmentPurchaseCommitmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchase arrangement in which the entity has agreed to expend funds to procure property and equipment.",
        "label": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyAndEquipmentPurchaseCommitmentMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the net amount of long-lived physical assets, excluding construction in process, used in the normal conduct of business and not intended for resale.",
        "label": "Property Plant and Equipment Excluding Construction in Progress Net",
        "totalLabel": "Property, plant and equipment, excluding construction in process, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of provision for withholding tax on dividends distributed by foreign investment entities.",
        "label": "Provision for Withholding Tax on Dividend Distributed by Foreign Investment Entities",
        "terseLabel": "Provision for withholding income tax on dividend"
       }
      }
     },
     "localname": "ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PurchaseOfUnitsPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of units purchased.",
        "label": "Purchase Of Units Percentage",
        "terseLabel": "Percent of units purchased"
       }
      }
     },
     "localname": "PurchaseOfUnitsPercentage",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_ReCrimsonHoldingsLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "RE Crimson Holdings LLC.",
        "label": "RE Crimson Holdings LLC"
       }
      }
     },
     "localname": "ReCrimsonHoldingsLlcMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ReRoserockHoldingsLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to RE Roserock Holdings LLC.",
        "label": "RE Roserock Holdings LLC (\"Roserock\")"
       }
      }
     },
     "localname": "ReRoserockHoldingsLlcMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_RecurrentEnergyLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Recurrent Energy, LLC.",
        "label": "Recurrent Energy, LLC"
       }
      }
     },
     "localname": "RecurrentEnergyLlcMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Recursos Solares PV De Mxico II S.A. De Capital Variable.",
        "label": "Recourses Solares PV De Mexico II S.A. De Capital Variable"
       }
      }
     },
     "localname": "RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the reduced Foreign statutory income tax rate on account of tax exemptions.",
        "label": "Reduced Foreign Income Tax Rate on Account of Tax Exemptions",
        "terseLabel": "Reduced income tax rate from 2020 to 2028 (as a percent)"
       }
      }
     },
     "localname": "ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset disposed through early termination of operating leases in non-cash transaction",
        "label": "Right Of Use Assets Disposed Through Early Termination Of Operating Leases In Non-Cash Transaction",
        "terseLabel": "ROU assets disposed through early termination of operating leases in non-cash transaction"
       }
      }
     },
     "localname": "RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SaleLeasebackTransactionProceedsFinancingActivities": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow received by a seller-lessee in a sale-leaseback recognized in financing activities.",
        "label": "Sale Leaseback Transaction, Proceeds, Financing Activities",
        "terseLabel": "Proceeds from sales-leaseback arrangement"
       }
      }
     },
     "localname": "SaleLeasebackTransactionProceedsFinancingActivities",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SalesRevenueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "Net revenues:"
       }
      }
     },
     "localname": "SalesRevenueAbstract",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_SalgueiroIRenewableEnergyS.aMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Salgueiro I Renewable Energy S.A",
        "label": "Salgueiro I Renewable Energy S.A"
       }
      }
     },
     "localname": "SalgueiroIRenewableEnergyS.aMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SalgueiroIiRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Salgueiro II Renewable Energy S.A.",
        "label": "Salgueiro II Renewable Energy S.A."
       }
      }
     },
     "localname": "SalgueiroIiRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SalgueiroIiiRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Salgueiro III Renewable Energy S.A.",
        "label": "Salgueiro III Renewable Energy S.A."
       }
      }
     },
     "localname": "SalgueiroIiiRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of carrying value and amortization of finite-lived intangible assets by major class.",
        "label": "Schedule of Carrying Value of Finite Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of intangible assets"
       }
      }
     },
     "localname": "ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfEffectiveInterestRatesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of average effective interest rates on borrowings.",
        "label": "Schedule Of Effective Interest Rates [Table Text Block]",
        "terseLabel": "Schedule of average effective interest rates on borrowings"
       }
      }
     },
     "localname": "ScheduleOfEffectiveInterestRatesTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfElectricityRevenueTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of Schedule of Electricity Revenue",
        "label": "Schedule of Electricity Revenue [Table Text Block]",
        "terseLabel": "Schedule of company's electricity revenue"
       }
      }
     },
     "localname": "ScheduleOfElectricityRevenueTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfInterestExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of interest expenses related to borrowings.",
        "label": "Schedule of Interest Expense [Table Text Block]",
        "terseLabel": "Schedule of interest incurred"
       }
      }
     },
     "localname": "ScheduleOfInterestExpenseTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of accounting policy for other operating income and other operating expense items.",
        "label": "Schedule of Other Operating Income (Expense) [Table Text Block]",
        "terseLabel": "Summary of the Company's other operating income, net"
       }
      }
     },
     "localname": "ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the extent of the entity's reliance on its major suppliers, if prepayments with a single supplier amount to 10 percent or more of entity prepayments, including the disclosure of that fact, the total amount of prepayments from each such supplier.",
        "label": "Schedule of Prepayments by Major Suppliers [Table Text Block]",
        "terseLabel": "Schedule of gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers"
       }
      }
     },
     "localname": "ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfProjectAssetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of components of project assets.",
        "label": "Schedule of Project Assets [Table Text Block]",
        "terseLabel": "Schedule of project assets"
       }
      }
     },
     "localname": "ScheduleOfProjectAssetsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of property, plant and equipment.",
        "label": "Schedule of Property Plant and Equipment Components [Table Text Block]",
        "terseLabel": "Schedule of property, plant and equipment, net"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Schedule of Property Plant and Equipment Useful Life [Table Text Block]",
        "terseLabel": "Schedule of expected useful lives of property and equipment"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of solar power systems.",
        "label": "Schedule of Solar Power Systems Components [Table Text Block]",
        "terseLabel": "Schedule of solar power systems, net"
       }
      }
     },
     "localname": "ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SecondAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Second administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Second administrative review of Solar 1"
       }
      }
     },
     "localname": "SecondAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SecuredShortTermDebt": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the carrying amount of short-term borrowings secured by assets.",
        "label": "Secured Short Term Debt",
        "terseLabel": "Short-term borrowings"
       }
      }
     },
     "localname": "SecuredShortTermDebt",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SeriesOfIndividuallyImmaterialCountriesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the aggregation and reporting of combined amounts of individually immaterial countries.",
        "label": "Series Of Individually Immaterial Countries [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "SeriesOfIndividuallyImmaterialCountriesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ServiceRevenueFromRelatedParty": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue from providing services earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.",
        "label": "Service Revenue from Related Party",
        "terseLabel": "Revenue from providing development services"
       }
      }
     },
     "localname": "ServiceRevenueFromRelatedParty",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SeventhAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Seventh administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Seventh administrative review of Solar 1"
       }
      }
     },
     "localname": "SeventhAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of awards that may be granted under the share incentive plan after the expiration date of May 8, 2021.",
        "label": "Share Based Compensation Arrangement by Share Based Payment Award Options Grants after Expiration of Specified Date",
        "terseLabel": "Number of shares to be granted after expiration"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the expiry term of share options from the date of grant, granted under the share incentive plan.",
        "label": "Share Based Compensation Arrangement by Share Based Payment Award, Plan Expiration Term",
        "terseLabel": "Expiry term of share options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_SharePurchaseProceedsFromThirdPartyInvestors": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-controlling interest portion attributable to proceeds received from third-party investors for share purchases.",
        "label": "Share Purchase Proceeds From Third Party Investors",
        "terseLabel": "Proceeds from share purchases of third-party investors"
       }
      }
     },
     "localname": "SharePurchaseProceedsFromThirdPartyInvestors",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.",
        "label": "Shippings and Handling Cost, Policy [Policy Text Block]",
        "terseLabel": "Shipping and handling"
       }
      }
     },
     "localname": "ShippingsAndHandlingCostPolicyPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ShortTermNotePayableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents of Short term note payable.",
        "label": "Short Term Note Payable"
       }
      }
     },
     "localname": "ShortTermNotePayableMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ShortTermNotesPayable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowings classified s short term notes payable.",
        "label": "Short term notes payable",
        "terseLabel": "Short-term notes payable"
       }
      }
     },
     "localname": "ShortTermNotesPayable",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ShortTermNotesPayableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about the notes issued by banks to vendors of the company, which effectively serve to extend the payment date of the associated accounts payables of the company.",
        "label": "Short Term Notes Payable [Text Block]",
        "terseLabel": "SHORT-TERM NOTES PAYABLE"
       }
      }
     },
     "localname": "ShortTermNotesPayableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SixthAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Solar 1.",
        "label": "Sixth administrative review of Solar 1"
       }
      }
     },
     "localname": "SixthAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarModulesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar modules.",
        "label": "Solar modules"
       }
      }
     },
     "localname": "SolarModulesMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a ten year period.",
        "label": "Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Ten Year Warranty",
        "terseLabel": "Minimum percentage of decline in initial minimum power generation capacity for 10 years"
       }
      }
     },
     "localname": "SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a 25 year period.",
        "label": "Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Twenty Five Year Warranty",
        "terseLabel": "Minimum percentage of decline in initial minimum power generation capacity for 25 years"
       }
      }
     },
     "localname": "SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the warranty period of solar modules for decline of more than 10 percent of the initial minimum power generation capacity.",
        "label": "Solar Modules Warranty Period Against Decline of More than Ten Percent of Power Generation Capacity",
        "terseLabel": "Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity"
       }
      }
     },
     "localname": "SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the warranty period of solar modules for decline of more than 20 percent of the initial minimum power generation capacity.",
        "label": "Solar Modules Warranty Period Against Decline of More than Twenty Percent of Power Generation Capacity",
        "terseLabel": "Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity"
       }
      }
     },
     "localname": "SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to U.S. Antidumping, Countervailing Duty and Safeguard Proceedings, Solar 1.",
        "label": "Solar 1"
       }
      }
     },
     "localname": "SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerProjectMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to solar power projects.",
        "label": "Solar Power Project"
       }
      }
     },
     "localname": "SolarPowerProjectMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerProjectsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar power projects  the product of the entity.",
        "label": "Solar and battery storage power projects"
       }
      }
     },
     "localname": "SolarPowerProjectsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.",
        "label": "Solar Power Systems.",
        "terseLabel": "Solar power systems, net",
        "totalLabel": "Solar power systems, net"
       }
      }
     },
     "localname": "SolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SolarPowerSystemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "SOLAR POWER SYSTEMS, NET"
       }
      }
     },
     "localname": "SolarPowerSystemsAbstract",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "xbrltype": "stringItemType"
    },
    "csiq_SolarPowerSystemsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for solar power system used in the normal conduct of business and not intended for resale.",
        "label": "Solar Power Systems, Policy [Policy Text Block]",
        "terseLabel": "Solar power systems"
       }
      }
     },
     "localname": "SolarPowerSystemsPolicyPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SolarPowerSystemsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for solar power systems used in the normal conduct of business. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense.",
        "label": "Solar Power Systems [Text Block]",
        "terseLabel": "SOLAR POWER SYSTEMS, NET"
       }
      }
     },
     "localname": "SolarPowerSystemsTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SolarSystemKitsProductMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar system kits, the product of the entity.",
        "label": "Solar system kits"
       }
      }
     },
     "localname": "SolarSystemKitsProductMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to U.S. Antidumping, Countervailing Duty and Safeguard Proceedings, Solar 2.",
        "label": "Solar 2"
       }
      }
     },
     "localname": "SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SonoranWestSolarHoldings2LlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Sonoran West Solar Holdings 2, LLC.",
        "label": "Sonoran West Solar Holdings 2, LLC"
       }
      }
     },
     "localname": "SonoranWestSolarHoldings2LlcMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SonoranWestSolarHoldingsLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Sonoran West Solar Holdings, LLC.",
        "label": "Sonoran West Solar Holdings, LLC"
       }
      }
     },
     "localname": "SonoranWestSolarHoldingsLlcMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_StandardProductWarrantyPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the period of time over which the entity guarantees against defects in materials and workmanship.",
        "label": "Standard Product Warranty Period",
        "terseLabel": "Guarantee of solar modules for defects in materials and engineering design, installation and construction"
       }
      }
     },
     "localname": "StandardProductWarrantyPeriod",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_StandardSolarModuleMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Standard Solar module.",
        "label": "Standard solar modules"
       }
      }
     },
     "localname": "StandardSolarModuleMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_StockOptionsAndRestrictedStockUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the share options and restricted share units.",
        "label": "Share options and RSUs"
       }
      }
     },
     "localname": "StockOptionsAndRestrictedStockUnitsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SubscriptionAdvances": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of subscription advances were fully received and recorded as other payables on the consolidated balance sheets.",
        "label": "Subscription Advances",
        "terseLabel": "Subscription advances"
       }
      }
     },
     "localname": "SubscriptionAdvances",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd member.",
        "label": "Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd"
       }
      }
     },
     "localname": "SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SupplierBMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Supplier B.",
        "label": "Supplier B"
       }
      }
     },
     "localname": "SupplierBMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SupplierCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Supplier C.",
        "label": "Supplier C"
       }
      }
     },
     "localname": "SupplierCMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SupplierMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Supplier A.",
        "label": "Supplier A"
       }
      }
     },
     "localname": "SupplierMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouFinancialLeasingCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou Financial Leasing Co., Ltd.",
        "label": "Suzhou Financial Leasing Co., Ltd."
       }
      }
     },
     "localname": "SuzhouFinancialLeasingCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouIsilverMaterialsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou iSilver Materials Co.",
        "label": "Suzhou iSilver Materials Co"
       }
      }
     },
     "localname": "SuzhouIsilverMaterialsMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouKzoneEquipmentTechnologyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou Kzone Equipment Technology Co,. Ltd.",
        "label": "Suzhou Kzone Equipment Technology Co., Ltd"
       }
      }
     },
     "localname": "SuzhouKzoneEquipmentTechnologyMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou Sanysolar Materials Technology Co., Ltd., a subsidiary of the entity.",
        "label": "Suzhou Sanysolar Materials Technology Co., Ltd."
       }
      }
     },
     "localname": "SuzhouSanysolarMaterialsTechnologyCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_TaxEquityTransactionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Tax equity transactions [Line Items]",
        "terseLabel": "Tax equity transactions"
       }
      }
     },
     "localname": "TaxEquityTransactionsLineItems",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_TechnologyCsiNewEnergyZhejiangCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Technology CSI New Energy (ZheJiang) Co Ltd [Member]",
        "label": "Technology CSI New Energy (ZheJiang) Co., Ltd [Member]"
       }
      }
     },
     "localname": "TechnologyCsiNewEnergyZhejiangCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ThirdAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Third administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Third administrative review of Solar 1"
       }
      }
     },
     "localname": "ThirdAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries.",
        "label": "Threshold Percentage of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries",
        "terseLabel": "Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries"
       }
      }
     },
     "localname": "ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_TotalAmountOfMatures": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of total amount of matures.",
        "label": "Total Amount Of Matures"
       }
      }
     },
     "localname": "TotalAmountOfMatures",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_UnrealizedGainLossFromSalesToInvestees": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents amount of unrealized gain, (loss) from sales to investees.",
        "label": "Unrealized Gain, (Loss) from Sales to Investees",
        "negatedLabel": "Unrealized gain (loss) from sales to affiliates"
       }
      }
     },
     "localname": "UnrealizedGainLossFromSalesToInvestees",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_UnrecognizedTaxStatueOfLimitationsExpirations": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents adjustments related to status of limitations expirations.",
        "label": "Unrecognized Tax statue of limitations expirations",
        "terseLabel": "Statue of limitations expirations"
       }
      }
     },
     "localname": "UnrecognizedTaxStatueOfLimitationsExpirations",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_UnusualOrInfrequentItemPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire policy related to unusual and/or infrequent items.",
        "label": "Unusual Or Infrequent Item [Policy Text Block]",
        "terseLabel": "Risks and uncertainties related to the COVID-19 pandemic"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.",
        "label": "Valuation Allowances and Reserves Charged to Cost and Expense and Recoveries Net",
        "terseLabel": "Allowances made (reversed) during the year, net",
        "verboseLabel": "Additions (Reversals)"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ValuationAllowancesAndReservesForeignExchangeEffect": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the foreign exchange effects in a given period to allowances or reserves.",
        "label": "Valuation Allowances and Reserves Foreign Exchange Effect",
        "terseLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesForeignExchangeEffect",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the withholding tax rate on dividends distributed by foreign investment entities.",
        "label": "Withholding Tax Rate on Dividend Distributed by Foreign Investment Entities",
        "terseLabel": "Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent)"
       }
      }
     },
     "localname": "WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_WorkingCapitalFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to working capital facility.",
        "label": "Working Capital Facility"
       }
      }
     },
     "localname": "WorkingCapitalFacilityMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Yancheng Jiwa New Material Technology Co., Ltd.",
        "label": "Yancheng Jiwa New Material Technology Co., Ltd"
       }
      }
     },
     "localname": "YanchengJiwaNewMaterialTechnologyCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20211231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AdditionalSecurities462b": {
     "auth_ref": [
      "r897"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities. 462(b)"
       }
      }
     },
     "localname": "AdditionalSecurities462b",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AdditionalSecurities462bFileNumber": {
     "auth_ref": [
      "r897"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities, 462(b), File Number"
       }
      }
     },
     "localname": "AdditionalSecurities462bFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_AdditionalSecuritiesEffective413b": {
     "auth_ref": [
      "r896"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities Effective, 413(b)"
       }
      }
     },
     "localname": "AdditionalSecuritiesEffective413b",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AddressTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An entity may have several addresses for different purposes and this domain represents all such types.",
        "label": "Address Type [Domain]"
       }
      }
     },
     "localname": "AddressTypeDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_ApproximateDateOfCommencementOfProposedSaleToThePublic": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The approximate date of a commencement of a proposed sale of securities to the public. This element is disclosed in S-1, S-3, S-4, S-11, F-1, F-3 and F-10 filings.",
        "label": "Approximate Date of Commencement of Proposed Sale to Public"
       }
      }
     },
     "localname": "ApproximateDateOfCommencementOfProposedSaleToThePublic",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "dateOrAsapItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r882",
      "r883",
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r882",
      "r883",
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r882",
      "r883",
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_BusinessContactMember": {
     "auth_ref": [
      "r883",
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business contact for the entity",
        "label": "Business Contact [Member]"
       }
      }
     },
     "localname": "BusinessContactMember",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_ContactPersonnelName": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of contact personnel",
        "label": "Contact Personnel Name"
       }
      }
     },
     "localname": "ContactPersonnelName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DelayedOrContinuousOffering": {
     "auth_ref": [
      "r885",
      "r886",
      "r890"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Delayed or Continuous Offering"
       }
      }
     },
     "localname": "DelayedOrContinuousOffering",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DividendOrInterestReinvestmentPlanOnly": {
     "auth_ref": [
      "r885",
      "r886",
      "r890"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend or Interest Reinvestment Plan Only"
       }
      }
     },
     "localname": "DividendOrInterestReinvestmentPlanOnly",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r883"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.",
        "label": "Document Accounting Standard"
       }
      }
     },
     "localname": "DocumentAccountingStandard",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r882",
      "r883",
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r878"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a registration statement.",
        "label": "Document Registration Statement"
       }
      }
     },
     "localname": "DocumentRegistrationStatement",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r883"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.",
        "label": "Document Shell Company Report"
       }
      }
     },
     "localname": "DocumentShellCompanyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r891"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EffectiveAfter60Days486a": {
     "auth_ref": [
      "r901"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective after 60 Days, 486(a)"
       }
      }
     },
     "localname": "EffectiveAfter60Days486a",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EffectiveOnDate486a": {
     "auth_ref": [
      "r901"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Date, 486(a)"
       }
      }
     },
     "localname": "EffectiveOnDate486a",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_EffectiveOnDate486b": {
     "auth_ref": [
      "r902"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Date, 486(b)"
       }
      }
     },
     "localname": "EffectiveOnDate486b",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_EffectiveOnSetDate486a": {
     "auth_ref": [
      "r901"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Set Date, 486(a)"
       }
      }
     },
     "localname": "EffectiveOnSetDate486a",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EffectiveOnSetDate486b": {
     "auth_ref": [
      "r902"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Set Date, 486(b)"
       }
      }
     },
     "localname": "EffectiveOnSetDate486b",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EffectiveUponFiling462e": {
     "auth_ref": [
      "r900"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Upon Filing, 462(e)"
       }
      }
     },
     "localname": "EffectiveUponFiling462e",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EffectiveUponFiling486b": {
     "auth_ref": [
      "r902"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective upon Filing, 486(b)"
       }
      }
     },
     "localname": "EffectiveUponFiling486b",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EffectiveWhenDeclaredSection8c": {
     "auth_ref": [
      "r904"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective when Declared, Section 8(c)"
       }
      }
     },
     "localname": "EffectiveWhenDeclaredSection8c",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine3": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 3 such as an Office Park",
        "label": "Entity Address, Address Line Three"
       }
      }
     },
     "localname": "EntityAddressAddressLine3",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCountry": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ISO 3166-1 alpha-2 country code.",
        "label": "Entity Address, Country",
        "terseLabel": "Entity Address, Country"
       }
      }
     },
     "localname": "EntityAddressCountry",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "countryCodeItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityAddressesAddressTypeAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table.",
        "label": "Entity Addresses, Address Type [Axis]"
       }
      }
     },
     "localname": "EntityAddressesAddressTypeAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r880"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r880"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r903"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.",
        "label": "Entity Ex Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Securities Act File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r880"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r894"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityInvCompanyType": {
     "auth_ref": [
      "r893"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One of: N-1A (Mutual Fund), N-1 (Open-End Separate Account with No Variable Annuities), N-2 (Closed-End Investment Company), N-3 (Separate Account Registered as Open-End Management Investment Company), N-4 (Variable Annuity UIT Separate Account), N-5 (Small Business Investment Company), N-6 (Variable Life UIT Separate Account), S-1 or S-3 (Face Amount Certificate Company), S-6 (UIT, Non-Insurance Product).",
        "label": "Entity Inv Company Type"
       }
      }
     },
     "localname": "EntityInvCompanyType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "invCompanyType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r880"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r880"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r895"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_ExhibitsOnly462d": {
     "auth_ref": [
      "r899"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exhibits Only, 462(d)"
       }
      }
     },
     "localname": "ExhibitsOnly462d",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_ExhibitsOnly462dFileNumber": {
     "auth_ref": [
      "r899"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exhibits Only, 462(d), File Number"
       }
      }
     },
     "localname": "ExhibitsOnly462dFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r882",
      "r883",
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_InvestmentCompanyActFileNumber": {
     "auth_ref": [
      "r886",
      "r887",
      "r888",
      "r889"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Act File Number"
       }
      }
     },
     "localname": "InvestmentCompanyActFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_InvestmentCompanyActRegistration": {
     "auth_ref": [
      "r892"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Act Registration"
       }
      }
     },
     "localname": "InvestmentCompanyActRegistration",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_InvestmentCompanyRegistrationAmendment": {
     "auth_ref": [
      "r892"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Registration Amendment"
       }
      }
     },
     "localname": "InvestmentCompanyRegistrationAmendment",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_InvestmentCompanyRegistrationAmendmentNumber": {
     "auth_ref": [
      "r892"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Registration Amendment Number"
       }
      }
     },
     "localname": "InvestmentCompanyRegistrationAmendmentNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "sequenceNumberItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_NewEffectiveDateForPreviousFiling": {
     "auth_ref": [
      "r886",
      "r887",
      "r888",
      "r889"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Effective Date for Previous Filing"
       }
      }
     },
     "localname": "NewEffectiveDateForPreviousFiling",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_NoSubstantiveChanges462c": {
     "auth_ref": [
      "r898"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Substantive Changes, 462(c)"
       }
      }
     },
     "localname": "NoSubstantiveChanges462c",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_NoSubstantiveChanges462cFileNumber": {
     "auth_ref": [
      "r898"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Substantive Changes, 462(c), File Number"
       }
      }
     },
     "localname": "NoSubstantiveChanges462cFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_PostEffectiveAmendment": {
     "auth_ref": [
      "r878"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Post-Effective Amendment"
       }
      }
     },
     "localname": "PostEffectiveAmendment",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PostEffectiveAmendmentNumber": {
     "auth_ref": [
      "r878"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment number to registration statement under the Securities Act of 1933 after the registration becomes effective.",
        "label": "Post-Effective Amendment Number"
       }
      }
     },
     "localname": "PostEffectiveAmendmentNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "sequenceNumberItemType"
    },
    "dei_PreEffectiveAmendment": {
     "auth_ref": [
      "r878"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-Effective Amendment"
       }
      }
     },
     "localname": "PreEffectiveAmendment",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreEffectiveAmendmentNumber": {
     "auth_ref": [
      "r878"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment number to registration statement under the Securities Act of 1933 before the registration becomes effective.",
        "label": "Pre-Effective Amendment Number"
       }
      }
     },
     "localname": "PreEffectiveAmendmentNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://xbrl.sec.gov/cef/role/N2"
     ],
     "xbrltype": "sequenceNumberItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r879"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r881"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_AffiliatedEntityMember": {
     "auth_ref": [
      "r466",
      "r733",
      "r734",
      "r736",
      "r874"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Affiliated Entity [Member]",
        "terseLabel": "Various affiliates"
       }
      }
     },
     "localname": "AffiliatedEntityMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_AsiaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia and other regions"
       }
      }
     },
     "localname": "AsiaMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ChiefExecutiveOfficerMember": {
     "auth_ref": [
      "r257"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dr. Shawn Qu"
       }
      }
     },
     "localname": "ChiefExecutiveOfficerMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Information - Financial Statement Schedule I"
       }
      }
     },
     "localname": "CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract",
     "nsuri": "http://fasb.org/srt/2022",
     "xbrltype": "stringItemType"
    },
    "srt_CondensedFinancialStatementsCaptionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Statements, Captions [Line Items]",
        "terseLabel": "Condensed Financial Statements"
       }
      }
     },
     "localname": "CondensedFinancialStatementsCaptionsLineItems",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidatedEntitiesAxis": {
     "auth_ref": [
      "r156",
      "r373",
      "r378",
      "r386",
      "r600",
      "r601",
      "r608",
      "r609",
      "r739",
      "r874"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Axis]"
       }
      }
     },
     "localname": "ConsolidatedEntitiesAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidatedEntitiesDomain": {
     "auth_ref": [
      "r156",
      "r373",
      "r378",
      "r386",
      "r600",
      "r601",
      "r608",
      "r609",
      "r739",
      "r874"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Domain]"
       }
      }
     },
     "localname": "ConsolidatedEntitiesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r156",
      "r224",
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r244",
      "r248",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r380",
      "r381",
      "r383",
      "r385",
      "r386"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r156",
      "r224",
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r244",
      "r248",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r380",
      "r381",
      "r383",
      "r385",
      "r386"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r72",
      "r74",
      "r153",
      "r154",
      "r393",
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember": {
     "auth_ref": [
      "r2",
      "r166",
      "r174",
      "r180",
      "r279",
      "r523",
      "r524",
      "r525",
      "r565",
      "r566",
      "r646",
      "r649",
      "r651",
      "r652",
      "r728"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative effect, adjustment"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAdjustmentMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionAxis": {
     "auth_ref": [
      "r2",
      "r166",
      "r174",
      "r180",
      "r279",
      "r523",
      "r524",
      "r525",
      "r565",
      "r566",
      "r646",
      "r649",
      "r651",
      "r652",
      "r728"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption [Axis]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionDomain": {
     "auth_ref": [
      "r2",
      "r166",
      "r174",
      "r180",
      "r279",
      "r523",
      "r524",
      "r525",
      "r565",
      "r566",
      "r646",
      "r649",
      "r651",
      "r652",
      "r728"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption [Domain]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Domain]"
       }
      }
     },
     "localname": "EquityMethodInvesteeNameDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_LitigationCaseAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Case [Axis]"
       }
      }
     },
     "localname": "LitigationCaseAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_LitigationCaseTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Case [Domain]"
       }
      }
     },
     "localname": "LitigationCaseTypeDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r255",
      "r450",
      "r455",
      "r834"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r353",
      "r355",
      "r356",
      "r357",
      "r392",
      "r425",
      "r476",
      "r478",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r753",
      "r831",
      "r835",
      "r875",
      "r876"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "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/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r353",
      "r355",
      "r356",
      "r357",
      "r392",
      "r425",
      "r476",
      "r478",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r753",
      "r831",
      "r835",
      "r875",
      "r876"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "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/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r255",
      "r450",
      "r455",
      "r834"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_OwnershipAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "localname": "OwnershipAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_OwnershipDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Domain]"
       }
      }
     },
     "localname": "OwnershipDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ParentCompanyMember": {
     "auth_ref": [
      "r156"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent Company"
       }
      }
     },
     "localname": "ParentCompanyMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r250",
      "r355",
      "r356",
      "r450",
      "r453",
      "r757",
      "r830",
      "r832"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r250",
      "r355",
      "r356",
      "r450",
      "r453",
      "r757",
      "r830",
      "r832"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r341",
      "r353",
      "r355",
      "r356",
      "r357",
      "r392",
      "r425",
      "r461",
      "r476",
      "r478",
      "r511",
      "r512",
      "r513",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r753",
      "r831",
      "r835",
      "r875",
      "r876"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "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/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r341",
      "r353",
      "r355",
      "r356",
      "r357",
      "r392",
      "r425",
      "r461",
      "r476",
      "r478",
      "r511",
      "r512",
      "r513",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r753",
      "r831",
      "r835",
      "r875",
      "r876"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "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/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ReportableLegalEntitiesMember": {
     "auth_ref": [
      "r156",
      "r373",
      "r378",
      "r386"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reportable Legal Entities [Member]"
       }
      }
     },
     "localname": "ReportableLegalEntitiesMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [
      "r73",
      "r74",
      "r153",
      "r154",
      "r393",
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioForecastMember": {
     "auth_ref": [
      "r175",
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forecast"
       }
      }
     },
     "localname": "ScenarioForecastMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r175",
      "r180",
      "r351",
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario, Unspecified [Domain]"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfCondensedFinancialStatementsTable": {
     "auth_ref": [
      "r156",
      "r592"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Statements [Table]"
       }
      }
     },
     "localname": "ScheduleOfCondensedFinancialStatementsTable",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "auth_ref": [
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r251",
      "r252",
      "r450",
      "r454",
      "r833",
      "r865",
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r251",
      "r252",
      "r450",
      "r454",
      "r833",
      "r856",
      "r865",
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r175",
      "r180",
      "r351",
      "r477",
      "r743"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_SubsidiariesMember": {
     "auth_ref": [
      "r466",
      "r733",
      "r734",
      "r736"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CSI Solar Co"
       }
      }
     },
     "localname": "SubsidiariesMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Line Items]",
        "terseLabel": "ALLOWANCE FOR DOUBTFUL ACCOUNTS"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "auth_ref": [
      "r157",
      "r158",
      "r159",
      "r160",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Table]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingStandardsUpdate202004Member": {
     "auth_ref": [
      "r725"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2020-04 Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.",
        "label": "Accounting Standards Update 2020-04 [Member]"
       }
      }
     },
     "localname": "AccountingStandardsUpdate202004Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsNotesAndLoansReceivableLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]"
       }
      }
     },
     "localname": "AccountsNotesAndLoansReceivableLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableOtherCurrent": {
     "auth_ref": [
      "r55"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligations incurred classified as other, payable within one year or the normal operating cycle, if longer.",
        "label": "Accounts Payable, Other, Current",
        "verboseLabel": "Other payables"
       }
      }
     },
     "localname": "AccountsPayableOtherCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableTradeCurrent": {
     "auth_ref": [
      "r14",
      "r55"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable",
        "verboseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableTradeCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "auth_ref": [
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Schedule of allowances for credit losses"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "auth_ref": [
      "r10",
      "r34",
      "r258",
      "r259"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "terseLabel": "Receivable, gross"
       }
      }
     },
     "localname": "AccountsReceivableGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r859"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNet": {
     "auth_ref": [
      "r805",
      "r858"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.",
        "label": "Accounts Receivable, Net",
        "terseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r258",
      "r259"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts receivable trade",
        "totalLabel": "Receivable, Net",
        "verboseLabel": "Accounts receivable trade, net of allowance of $40,293 and $47,126 as of December 31, 2020 and 2021, respectively"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableRelatedParties": {
     "auth_ref": [
      "r37",
      "r152",
      "r734",
      "r736",
      "r817"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an unclassified balance sheet, amount of receivables arising from transactions with related parties.",
        "label": "Accounts Receivable, Related Parties",
        "terseLabel": "Trade receivable from affiliate"
       }
      }
     },
     "localname": "AccountsReceivableRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccretionExpense": {
     "auth_ref": [
      "r342",
      "r343"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations.",
        "label": "Fair Value Assumptions, Exercise Price",
        "verboseLabel": "Accretion of convertible notes"
       }
      }
     },
     "localname": "AccretionExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r19",
      "r334"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 3.0,
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r40",
      "r79",
      "r81",
      "r82",
      "r813",
      "r843",
      "r847"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r78",
      "r82",
      "r89",
      "r90",
      "r91",
      "r163",
      "r164",
      "r165",
      "r607",
      "r730",
      "r838",
      "r839"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "Accumulated Other Comprehensive Income"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r163",
      "r164",
      "r165",
      "r523",
      "r524",
      "r525",
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r0",
      "r1",
      "r2",
      "r3",
      "r4",
      "r167",
      "r168",
      "r169",
      "r170",
      "r180",
      "r263",
      "r264",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r523",
      "r524",
      "r525",
      "r563",
      "r564",
      "r565",
      "r566",
      "r586",
      "r587",
      "r588",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r690",
      "r691",
      "r700",
      "r701",
      "r702",
      "r703",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r759",
      "r760",
      "r761",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by amendment to accounting standards.",
        "label": "Accounting Standards Update [Axis]"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by (used in) operating activities:",
        "verboseLabel": "Adjustments to reconcile net income to net cash provided by (used in) operating activities:"
       }
      }
     },
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r481",
      "r527",
      "r528"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdvancesOnInventoryPurchases": {
     "auth_ref": [
      "r52"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of capitalized payments made in advance for inventory that is expected to be received within one year or the normal operating cycle, if longer.",
        "label": "Advances to suppliers",
        "netLabel": "Advances to suppliers",
        "verboseLabel": "Advances to suppliers, net of allowance of $5,845 and $5,822 as of December 31, 2020 and 2021, respectively"
       }
      }
     },
     "localname": "AdvancesOnInventoryPurchases",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r516"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Allocated Share-based Compensation Expense",
        "verboseLabel": "Total recognized compensation cost"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "auth_ref": [
      "r157",
      "r158",
      "r159",
      "r160",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Allowances for accounts receivable"
       }
      }
     },
     "localname": "AllowanceForCreditLossMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r260",
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on financing receivable.",
        "label": "Allowance for Credit Losses on Financing Receivables [Table Text Block]",
        "terseLabel": "Schedule of allowances"
       }
      }
     },
     "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllowanceForCreditLossesTextBlock": {
     "auth_ref": [
      "r265"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for allowance for credit losses.",
        "label": "Allowance for Credit Losses [Text Block]",
        "terseLabel": "ALLOWANCE FOR CREDIT LOSSES"
       }
      }
     },
     "localname": "AllowanceForCreditLossesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r44",
      "r261",
      "r285",
      "r288",
      "r290"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r44",
      "r261",
      "r285"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Allowance for Doubtful Accounts Receivable, Current",
        "negatedLabel": "Allowance for credit losses",
        "periodEndLabel": "Closing balance",
        "periodStartLabel": "Beginning of the year",
        "terseLabel": "Accounts receivable trade, allowance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r102",
      "r133",
      "r412",
      "r697"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Financing Costs",
        "terseLabel": "Amortization of financing costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r133",
      "r320",
      "r326"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization expense"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries": {
     "auth_ref": [
      "r146"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed fiscal year.",
        "label": "Amount of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries",
        "terseLabel": "Restricted net assets of the entity's consolidated and unconsolidated subsidiaries not available for distribution",
        "verboseLabel": "Restricted net assets"
       }
      }
     },
     "localname": "AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails",
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r195"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Anti-dilutive shares excluded from the computation of diluted earnings per share, total"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r195"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Anti-dilutive shares excluded from the computation of diluted earnings per share"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r195"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetImpairmentCharges": {
     "auth_ref": [
      "r133",
      "r331"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.",
        "label": "Asset Impairment Charges",
        "terseLabel": "Impairment charges for property, plant and equipment",
        "verboseLabel": "Impairment loss of property, plant and equipment"
       }
      }
     },
     "localname": "AssetImpairmentCharges",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetPledgedAsCollateralWithoutRightMember": {
     "auth_ref": [
      "r600",
      "r750",
      "r752"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset pledged as collateral for which secured party (transferee) does not have right to sell or repledge by contract or custom.",
        "label": "Asset Pledged as Collateral without Right [Member]"
       }
      }
     },
     "localname": "AssetPledgedAsCollateralWithoutRightMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetRetirementObligationsPolicy": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for legal obligation associated with retirement of long-lived asset that results from acquisition, construction, or development or from normal operation of long-lived asset. Excludes environmental remediation liability from improper or other-than-normal operation of long-lived asset, obligation arising in connection with leased property that meets definition of lease payments or variable lease payments and from plan to sell or otherwise dispose of a long-lived asset.",
        "label": "Asset Retirement Obligations, Policy [Policy Text Block]",
        "terseLabel": "Assets retirement obligation"
       }
      }
     },
     "localname": "AssetRetirementObligationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AssetUnderConstructionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset in process of being built.",
        "label": "Solar power systems under construction"
       }
      }
     },
     "localname": "AssetUnderConstructionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r22",
      "r148",
      "r232",
      "r239",
      "r246",
      "r273",
      "r373",
      "r374",
      "r375",
      "r377",
      "r378",
      "r379",
      "r380",
      "r382",
      "r384",
      "r386",
      "r387",
      "r600",
      "r608",
      "r666",
      "r740",
      "r742",
      "r778",
      "r807"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total assets",
        "totalLabel": "TOTAL ASSETS"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets and Liabilities, Lessee [Abstract]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "AssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r12",
      "r53",
      "r148",
      "r273",
      "r373",
      "r374",
      "r375",
      "r377",
      "r378",
      "r379",
      "r380",
      "r382",
      "r384",
      "r386",
      "r387",
      "r600",
      "r608",
      "r666",
      "r740",
      "r742"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total current assets",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r485",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r626",
      "r629"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingMember": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities.",
        "label": "Buildings"
       }
      }
     },
     "localname": "BuildingMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r589",
      "r590",
      "r591"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business Combination, Consideration Transferred"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "auth_ref": [
      "r589",
      "r590"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.",
        "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "auth_ref": [
      "r582"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.",
        "label": "Business Combinations Policy [Policy Text Block]",
        "terseLabel": "Business combination"
       }
      }
     },
     "localname": "BusinessCombinationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [
      "r138",
      "r139",
      "r140"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Property, plant and equipment costs included in other payables"
       }
      }
     },
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r16",
      "r742",
      "r850",
      "r851"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r8",
      "r16",
      "r135"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and cash equivalents",
        "terseLabel": "Cash and cash equivalents",
        "verboseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "auth_ref": [
      "r136",
      "r776"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash and cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r129",
      "r135",
      "r141"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash, cash equivalents and restricted cash at the end of the year",
        "periodStartLabel": "Cash, cash equivalents and restricted cash at the beginning of the year",
        "totalLabel": "Total cash and cash equivalents, and restricted cash shown in the statements of cash flows"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r129",
      "r681"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents, Period Increase (Decrease)",
        "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowHedgingMember": {
     "auth_ref": [
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk.",
        "label": "Cash flow hedge"
       }
      }
     },
     "localname": "CashFlowHedgingMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ChangeInAccountingEstimateByTypeAxis": {
     "auth_ref": [
      "r175",
      "r201"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of change in accounting estimate.",
        "label": "Change in Accounting Estimate by Type [Axis]"
       }
      }
     },
     "localname": "ChangeInAccountingEstimateByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ChangeInAccountingEstimateTypeDomain": {
     "auth_ref": [
      "r175",
      "r201"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the accounting estimate that was changed that had the effect of adjusting the carrying amount of an existing asset or liability, or that will alter the subsequent accounting for existing or future assets or liabilities.",
        "label": "Change in Accounting Estimate, Type [Domain]"
       }
      }
     },
     "localname": "ChangeInAccountingEstimateTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r65",
      "r786",
      "r819"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies.",
        "terseLabel": "Commitments and contingencies (Note 21)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r347",
      "r348",
      "r349",
      "r359",
      "r860"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "auth_ref": [
      "r367",
      "r861"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.",
        "label": "Commitments and Contingencies, Policy [Policy Text Block]",
        "terseLabel": "Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommodityContractMember": {
     "auth_ref": [
      "r462",
      "r635"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument whose primary underlying risk is tied to commodity prices.",
        "label": "Commodity hedge"
       }
      }
     },
     "localname": "CommodityContractMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r163",
      "r164",
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Shares"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r33"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common share, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r33"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "terseLabel": "Common shares, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r33",
      "r427"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common shares, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r33",
      "r742"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common shares - no par value: unlimited authorized shares, 59,820,384 and 64,022,678 shares issued and outstanding at December 31, 2020 and 2021, respectively",
        "verboseLabel": "Common shares - no par value: unlimited authorized shares, 59,820,384 and 64,022,678 shares issued and outstanding at December 31, 2020 and 2021, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "EMPLOYEE BENEFIT PLANS"
       }
      }
     },
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Assets and Liabilities [Abstract]",
        "terseLabel": "Principal components of deferred income tax assets"
       }
      }
     },
     "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Total income tax expense"
       }
      }
     },
     "localname": "ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r84",
      "r86",
      "r87",
      "r99",
      "r794",
      "r824"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income attributable to Canadian Solar Inc."
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r84",
      "r86",
      "r98",
      "r596",
      "r597",
      "r617",
      "r793",
      "r823"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest",
        "terseLabel": "Less: comprehensive income (loss) attributable to non-controlling interests"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r84",
      "r86",
      "r97",
      "r595",
      "r617",
      "r792",
      "r822"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "totalLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for comprehensive income.",
        "label": "Comprehensive Income, Policy [Policy Text Block]",
        "terseLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "auth_ref": [
      "r321",
      "r324",
      "r584"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.",
        "label": "Computer software"
       }
      }
     },
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r212",
      "r213",
      "r255",
      "r663",
      "r664",
      "r859"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r212",
      "r213",
      "r255",
      "r663",
      "r664",
      "r849",
      "r859"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r212",
      "r213",
      "r255",
      "r663",
      "r664",
      "r849",
      "r859"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r207",
      "r802"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of credit risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "Concentration of credit risk"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r212",
      "r213",
      "r255",
      "r663",
      "r664"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk (as a percent)"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r210",
      "r212",
      "r213",
      "r214",
      "r663",
      "r665",
      "r859"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r212",
      "r213",
      "r255",
      "r663",
      "r664",
      "r859"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock": {
     "auth_ref": [
      "r5",
      "r156",
      "r592"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for condensed financial information, including the financial position, cash flows, and the results of operations of the registrant (parent company) as of the same dates or for the same periods for which audited consolidated financial statements are being presented. Alternatively, the details of this disclosure can be reported by the specific parent company taxonomy elements, indicating the appropriate date and period contexts in an instance document.",
        "label": "Condensed Financial Information of Parent Company Only Disclosure [Text Block]",
        "terseLabel": "Additional Information - Financial Statement Schedule I"
       }
      }
     },
     "localname": "CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r142",
      "r602"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Basis of consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConstructionInProgressGross": {
     "auth_ref": [
      "r333"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress, Gross",
        "terseLabel": "Construction in process"
       }
      }
     },
     "localname": "ConstructionInProgressGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r439"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.",
        "label": "Contract with Customer, Asset and Liability [Table Text Block]",
        "terseLabel": "Schedule of contract assets and contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset, Net [Abstract]",
        "terseLabel": "Contract Assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r437",
      "r438",
      "r451"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "terseLabel": "Contract liability"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability [Abstract]",
        "terseLabel": "Contract Liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r437",
      "r438",
      "r451"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract With Customer Liability, Current",
        "terseLabel": "Advances from customers"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r452"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Revenue recognized from beginning balance of contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleDebtMember": {
     "auth_ref": [
      "r388",
      "r389",
      "r390",
      "r392",
      "r402",
      "r403",
      "r404",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r420",
      "r421",
      "r422",
      "r423"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.",
        "label": "Convertible Debt"
       }
      }
     },
     "localname": "ConvertibleDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConvertibleLongTermNotesPayable": {
     "auth_ref": [
      "r63"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.",
        "label": "Convertible Notes Payable, Noncurrent",
        "terseLabel": "Convertible notes"
       }
      }
     },
     "localname": "ConvertibleLongTermNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleNotesPayable": {
     "auth_ref": [
      "r28",
      "r781",
      "r809",
      "r852"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Including the current and noncurrent portions, carrying value as of the balance sheet date of a written promise to pay a note, initially due after one year or beyond the operating cycle if longer, which can be exchanged for a specified amount of one or more securities (typically common stock), at the option of the issuer or the holder.",
        "label": "Convertible Notes Payable",
        "terseLabel": "Convertible notes"
       }
      }
     },
     "localname": "ConvertibleNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleNotesPayableCurrent": {
     "auth_ref": [
      "r59"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.",
        "label": "Convertible Notes Payable, Current",
        "verboseLabel": "Carrying value of convertible notes"
       }
      }
     },
     "localname": "ConvertibleNotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r108",
      "r757"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of revenues"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSoldAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Goods and Services Sold [Abstract]",
        "verboseLabel": "Cost of revenues:"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSoldAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CostsAndExpensesRelatedParty": {
     "auth_ref": [
      "r109"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Costs of sales and operating expenses for the period incurred from transactions with related parties.",
        "label": "Costs and Expenses, Related Party",
        "terseLabel": "Purchase cost incurred from related party"
       }
      }
     },
     "localname": "CostsAndExpensesRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CreditConcentrationRiskMember": {
     "auth_ref": [
      "r665"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that a specified receivable or amount at risk from a counterparty under a contractual arrangement is to a specified benchmark, such as total receivables, net revenues, pretax results. Risk is the materially adverse effects of loss attributable to (a) the failure to collect a significant receivable from a major customer or group of homogeneous accounts, or (b) a failure by a counterparty to perform under terms of a contractual arrangement.",
        "label": "Accounts receivable balances"
       }
      }
     },
     "localname": "CreditConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "auth_ref": [
      "r282",
      "r283",
      "r284",
      "r286",
      "r287",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.",
        "label": "Credit Loss, Financial Instrument [Policy Text Block]",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r149",
      "r559",
      "r569",
      "r571"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense (Benefit)",
        "terseLabel": "Current tax expense (benefit)"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current tax"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtCurrent": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of debt and lease obligation, classified as current.",
        "label": "Debt, Current",
        "totalLabel": "Subtotal for short-term borrowings"
       }
      }
     },
     "localname": "DebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "BORROWINGS"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r145",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r406",
      "r413",
      "r414",
      "r416",
      "r424"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "BORROWINGS"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowings"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAnnualPrincipalPayment": {
     "auth_ref": [
      "r28"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the total principal payments made during the annual reporting period.",
        "label": "Debt Instrument, Annual Principal Payment",
        "verboseLabel": "Conversion rate initial principal amount"
       }
      }
     },
     "localname": "DebtInstrumentAnnualPrincipalPayment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "auth_ref": [
      "r391",
      "r418"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The price per share of the conversion feature embedded in the debt instrument.",
        "label": "Debt Instrument, Convertible, Conversion Price",
        "verboseLabel": "Conversion price (in dollars per share)"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionRatio1": {
     "auth_ref": [
      "r62",
      "r391",
      "r428",
      "r429",
      "r431"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.",
        "label": "Debt Instrument, Convertible, Conversion Ratio",
        "verboseLabel": "Conversion rate"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionRatio1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.",
        "label": "Debt Instrument, Convertible, Threshold Consecutive Trading Days",
        "terseLabel": "Period of consecutive trading days that the threshold of trading days must fall within for trigger of redemption at Company's option"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.",
        "label": "Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger",
        "terseLabel": "Sales price of common stock as percentage of conversion price for redemption at Company's option"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.",
        "label": "Debt Instrument, Convertible, Threshold Trading Days",
        "terseLabel": "Number of trading days that threshold percentage exceeds stock price for trigger of redemption at Company's option"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdTradingDays",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r389",
      "r420",
      "r421",
      "r696",
      "r698",
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Amount of loan facility"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r61",
      "r419",
      "r696",
      "r698"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Effective interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r61",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "BORROWINGS",
        "verboseLabel": "CONVERTIBLE NOTES"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r63",
      "r147",
      "r156",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r396",
      "r402",
      "r403",
      "r404",
      "r405",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r415",
      "r420",
      "r421",
      "r422",
      "r423",
      "r428",
      "r430",
      "r431",
      "r432",
      "r695",
      "r696",
      "r698",
      "r699",
      "r800"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument, Term",
        "terseLabel": "Term of facility (in years)"
       }
      }
     },
     "localname": "DebtInstrumentTerm",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_DebtLongtermAndShorttermCombinedAmount": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt.",
        "label": "Debt, Long-term and Short-term, Combined Amount",
        "terseLabel": "Outstanding balance",
        "totalLabel": "Total",
        "verboseLabel": "Debt"
       }
      }
     },
     "localname": "DebtLongtermAndShorttermCombinedAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt, Long-term and Short-term, Combined Amount [Abstract]",
        "terseLabel": "BANK BORROWINGS"
       }
      }
     },
     "localname": "DebtLongtermAndShorttermCombinedAmountAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "auth_ref": [
      "r697"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Deferred Finance Costs, Gross",
        "terseLabel": "Unamortized issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r536",
      "r537"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred tax assets",
        "verboseLabel": "Deferred tax assets, net"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r133",
      "r149",
      "r560",
      "r569",
      "r570",
      "r571"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred tax expense (benefit)"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Deferred tax"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r30",
      "r31",
      "r550",
      "r780",
      "r803"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred Tax Liabilities, Gross",
        "totalLabel": "Total deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r536",
      "r537"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "negatedLabel": "Deferred tax liabilities",
        "terseLabel": "Deferred tax liabilities",
        "verboseLabel": "Deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r551"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets, gross"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "localname": "DeferredTaxAssetsGrossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.",
        "label": "Deferred Tax Assets, Inventory",
        "terseLabel": "Inventory write-down"
       }
      }
     },
     "localname": "DeferredTaxAssetsInventory",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r553"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.",
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Net deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r553"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Total deferred tax assets, net of valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating losses carry-forward"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Deferred Tax Assets, Other",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Assets, Property, Plant and Equipment",
        "terseLabel": "Depreciation and impairment difference of property, plant and equipment and solar power systems"
       }
      }
     },
     "localname": "DeferredTaxAssetsPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities",
        "terseLabel": "Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts",
        "terseLabel": "Bad debt allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves",
        "terseLabel": "Accrued warranty costs"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from unrealized losses on foreign currency transactions.",
        "label": "Deferred Tax Assets, Unrealized Currency Losses",
        "terseLabel": "Unrealized foreign exchange loss and capital loss"
       }
      }
     },
     "localname": "DeferredTaxAssetsUnrealizedCurrencyLosses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r552"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowance",
        "periodEndLabel": "End of the year",
        "periodStartLabel": "Beginning of the year"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross [Abstract]",
        "terseLabel": "Analysis as:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesDerivatives": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from derivatives.",
        "label": "Deferred Tax Liabilities, Derivatives",
        "terseLabel": "Derivative assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesDerivatives",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Net [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.",
        "label": "Deferred Tax Liabilities, Other",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "terseLabel": "Depreciation difference of property, plant and equipment"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains on foreign currency transactions.",
        "label": "Deferred Tax Liabilities, Unrealized Currency Transaction Gains",
        "verboseLabel": "Unrealized foreign exchange gain"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries": {
     "auth_ref": [
      "r580"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability not recognized because of the exceptions to comprehensive recognition of deferred taxes related to undistributed earnings of foreign subsidiaries.",
        "label": "Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Unrecognized deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "auth_ref": [
      "r475"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost for defined contribution plan.",
        "label": "Defined Contribution Plan, Cost Recognized",
        "terseLabel": "Defined contributions schemes expense"
       }
      }
     },
     "localname": "DefinedContributionPlanCostRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay",
        "terseLabel": "Employer's contribution (as a percent)"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r133",
      "r332"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation expense"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r133",
      "r227"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetsCurrent": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Asset, Current",
        "terseLabel": "Derivative assets"
       }
      }
     },
     "localname": "DerivativeAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.",
        "label": "Derivative Contract [Domain]"
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral": {
     "auth_ref": [
      "r70",
      "r71",
      "r75",
      "r640"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after offset of derivative liability, of financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, before offset against an obligation to return collateral under a master netting arrangement. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.",
        "label": "Derivative Asset, Fair Value, Amount Not Offset Against Collateral",
        "terseLabel": "Total derivatives asset"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral": {
     "auth_ref": [
      "r70",
      "r71",
      "r75",
      "r640"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after offset of derivative asset, of financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, elected not to be and before offset against a right to receive collateral under a master netting arrangement. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.",
        "label": "Derivative Liability, Fair Value, Amount Not Offset Against Collateral",
        "terseLabel": "Total derivatives liability"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r74",
      "r627",
      "r628",
      "r632",
      "r637"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": {
     "auth_ref": [
      "r624",
      "r627",
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of hedging relationship.",
        "label": "Hedging Relationship [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": {
     "auth_ref": [
      "r624",
      "r627",
      "r632",
      "r637",
      "r638",
      "r641",
      "r642"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.",
        "label": "Derivative Instruments, Gain (Loss) [Table]"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivative Instruments, Gain (Loss) [Line Items]",
        "terseLabel": "Effect of derivative instruments on consolidated statements of operations"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet": {
     "auth_ref": [
      "r631",
      "r633"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments.",
        "label": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net",
        "verboseLabel": "Gain (loss) on change in fair value of derivatives"
       }
      }
     },
     "localname": "DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLiabilitiesCurrent": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Liability, Current",
        "terseLabel": "Derivative liabilities"
       }
      }
     },
     "localname": "DerivativeLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeNotionalAmount": {
     "auth_ref": [
      "r620",
      "r622"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payment on derivative.",
        "label": "Derivative, Notional Amount",
        "terseLabel": "Total notional"
       }
      }
     },
     "localname": "DerivativeNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivatives, Fair Value [Line Items]",
        "terseLabel": "Effect of fair value of derivative instruments on the consolidated balance sheets"
       }
      }
     },
     "localname": "DerivativesFairValueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativesPolicyTextBlock": {
     "auth_ref": [
      "r155",
      "r619",
      "r621",
      "r624",
      "r625",
      "r639"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities.",
        "label": "Derivatives, Policy [Policy Text Block]",
        "terseLabel": "Derivatives instruments and hedging activity"
       }
      }
     },
     "localname": "DerivativesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DesignatedAsHedgingInstrumentMember": {
     "auth_ref": [
      "r624"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).",
        "label": "Designated as hedging instruments"
       }
      }
     },
     "localname": "DesignatedAsHedgingInstrumentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "auth_ref": [
      "r585"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.",
        "label": "Technical know-how"
       }
      }
     },
     "localname": "DevelopedTechnologyRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) to net income used for calculating diluted earnings per share (EPS), resulting from the assumed exercise of dilutive convertible securities excluding adjustments related to ESOP convertible preferred stock, stock options, and restrictive stock units.",
        "label": "Dilutive Securities, Effect on Basic Earnings Per Share, Dilutive Convertible Securities",
        "terseLabel": "Dilutive effect of interest expense of convertible notes"
       }
      }
     },
     "localname": "DilutiveSecuritiesEffectOnBasicEarningsPerShareOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Revenue recognition:"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r450",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of disaggregation of revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r484",
      "r485",
      "r517",
      "r518",
      "r520",
      "r530"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "terseLabel": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Country [Member]",
        "terseLabel": "Canada"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DueFromRelatedPartiesCurrent": {
     "auth_ref": [
      "r11",
      "r35",
      "r152",
      "r376",
      "r378",
      "r379",
      "r385",
      "r386",
      "r387",
      "r734"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).",
        "label": "Due from Related Parties, Current",
        "positiveLabel": "Amounts due from subsidiaries, net",
        "terseLabel": "Amounts due from related parties",
        "verboseLabel": "Amount due from related party"
       }
      }
     },
     "localname": "DueFromRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueToRelatedPartiesCurrent": {
     "auth_ref": [
      "r55",
      "r152",
      "r376",
      "r378",
      "r379",
      "r385",
      "r386",
      "r387",
      "r734"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Due to Related Parties, Current",
        "terseLabel": "Amounts due to related parties",
        "verboseLabel": "Amounts due to subsidiaries, net"
       }
      }
     },
     "localname": "DueToRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "EARNINGS PER SHARE"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r100",
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r182",
      "r185",
      "r192",
      "r193",
      "r194",
      "r198",
      "r199",
      "r652",
      "r653",
      "r795",
      "r825"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Earnings per share - basic",
        "verboseLabel": "Basic earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r100",
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r185",
      "r192",
      "r193",
      "r194",
      "r198",
      "r199",
      "r652",
      "r653",
      "r795",
      "r825"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Earnings per share - diluted",
        "verboseLabel": "Diluted earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r195",
      "r196"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Earnings per share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r195",
      "r196",
      "r197",
      "r200"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "EARNINGS PER SHARE"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r681"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "terseLabel": "Effect of exchange rate changes"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r539"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Actual income tax rate (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "terseLabel": "Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r539",
      "r572"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Change in valuation allowance (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "auth_ref": [
      "r539",
      "r572"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent",
        "terseLabel": "Effect of change in tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "auth_ref": [
      "r539",
      "r572"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Effect of different tax rate on earnings in other jurisdictions (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r539",
      "r572"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "terseLabel": "Others (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": {
     "auth_ref": [
      "r539",
      "r572"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent",
        "terseLabel": "Unrecognized tax provision (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": {
     "auth_ref": [
      "r539",
      "r572"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent",
        "verboseLabel": "Federal Investment Tax Credit (as a percentage)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays": {
     "auth_ref": [
      "r539",
      "r572"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income exempt from income tax because of a tax holiday.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Holiday, Percent",
        "negatedLabel": "Effect of tax holiday (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxHolidays",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ElectricGenerationEquipmentMember": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used for the primary purpose of generating electricity to be distributed to the consumer.",
        "label": "Solar power systems"
       }
      }
     },
     "localname": "ElectricGenerationEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ElectricityMember": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generation, transmission and distribution of electric energy.",
        "label": "Electricity"
       }
      }
     },
     "localname": "ElectricityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Weighted-average period of recognition of compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r519"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options",
        "terseLabel": "Total unrecognized share-based compensation costs"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Options"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue from External Customer [Line Items]",
        "terseLabel": "Revenues generated from each product"
       }
      }
     },
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EntityWideRevenueMajorCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue, Major Customer [Line Items]",
        "terseLabel": "Major Customers"
       }
      }
     },
     "localname": "EntityWideRevenueMajorCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r2",
      "r89",
      "r90",
      "r91",
      "r163",
      "r164",
      "r165",
      "r168",
      "r177",
      "r179",
      "r203",
      "r279",
      "r427",
      "r433",
      "r523",
      "r524",
      "r525",
      "r565",
      "r566",
      "r651",
      "r683",
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r730",
      "r838",
      "r839",
      "r840"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment, Ownership Percentage",
        "terseLabel": "Ownership percentage"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "auth_ref": [
      "r103",
      "r104",
      "r133"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment.",
        "label": "Equity Method Investment, Realized Gain (Loss) on Disposal",
        "negatedLabel": "Gain on disposal of investment in affiliates",
        "terseLabel": "Gain on sale of interest in affiliates",
        "verboseLabel": "Gain on disposal of investment in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestments": {
     "auth_ref": [
      "r17",
      "r233",
      "r269"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.",
        "label": "Equity Method Investments",
        "terseLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "auth_ref": [
      "r275"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.",
        "label": "Equity Method Investments and Joint Ventures Disclosure [Text Block]",
        "terseLabel": "INVESTMENTS IN AFFILIATES"
       }
      }
     },
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "auth_ref": [
      "r128",
      "r271",
      "r666"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.",
        "label": "Equity Method Investments, Policy [Policy Text Block]",
        "terseLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestmentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "auth_ref": [
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information.",
        "label": "Equity Method Investments [Table Text Block]",
        "terseLabel": "Schedule of investments in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestmentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquitySecuritiesFVNINoncurrent": {
     "auth_ref": [
      "r661"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), classified as noncurrent.",
        "label": "Equity Securities, FV-NI, Noncurrent",
        "terseLabel": "Amount of shares carried at fair value"
       }
      }
     },
     "localname": "EquitySecuritiesFVNINoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementListedEquitySecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent": {
     "auth_ref": [
      "r25",
      "r661"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).",
        "label": "Equity Securities, FV-NI",
        "terseLabel": "Amount of shares received"
       }
      }
     },
     "localname": "EquitySecuritiesFvNiCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementListedEquitySecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss": {
     "auth_ref": [
      "r268",
      "r827"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrealized gain (loss) on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).",
        "label": "Equity Securities, FV-NI, Unrealized Gain (Loss)",
        "terseLabel": "Unrealized gains"
       }
      }
     },
     "localname": "EquitySecuritiesFvNiUnrealizedGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementListedEquitySecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "terseLabel": "Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r655",
      "r656",
      "r659"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "FAIR VALUE MEASUREMENT"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r658"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "FAIR VALUE MEASUREMENT"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurement"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss": {
     "auth_ref": [
      "r657"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.",
        "label": "Gain (Loss) on Derivative Instruments, Net, Pretax",
        "negatedLabel": "Loss (gain) on change in fair value of derivatives, net",
        "negatedTerseLabel": "Loss (gain) on change in fair value of derivatives",
        "positiveLabel": "Gain (loss) on change in fair value of derivatives, net",
        "verboseLabel": "Gain (loss) on change in fair value of derivatives, net"
       }
      }
     },
     "localname": "FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "auth_ref": [
      "r660",
      "r662"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.",
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "terseLabel": "Fair value of financial instruments"
       }
      }
     },
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "auth_ref": [
      "r626",
      "r630",
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]"
       }
      }
     },
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "auth_ref": [
      "r707",
      "r714",
      "r723"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest expense on finance lease liability.",
        "label": "Finance Lease, Interest Expense",
        "terseLabel": "Interest on lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "auth_ref": [
      "r709",
      "r717"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest paid on finance lease liability.",
        "label": "Finance Lease, Interest Payment on Liability",
        "negatedLabel": "Operating cash outflows from finance leases"
       }
      }
     },
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Maturities of finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r705",
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Finance Lease, Liability",
        "totalLabel": "Total Finance lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r705"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Finance Lease, Liability, Current",
        "verboseLabel": "Finance lease liabilities, current"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r706"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current finance lease liability.",
        "label": "Finance Lease, Liability, Current, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r705"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.",
        "label": "Finance Lease, Liability, Noncurrent",
        "verboseLabel": "Finance lease liabilities, noncurrent"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r706"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes noncurrent finance lease liability.",
        "label": "Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, Payment, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r708",
      "r717"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "Finance Lease, Principal Payments",
        "negatedLabel": "Repayment of finance lease obligation"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "auth_ref": [
      "r707",
      "r714",
      "r723"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, Amortization",
        "terseLabel": "Amortization of right-of-use assets"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r720",
      "r723"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for finance lease calculated at point in time.",
        "label": "Finance Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate - operating lease"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r719",
      "r723"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average term - operating lease"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Amortization period"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r20",
      "r325"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r327"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r327"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r327"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r327"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r327"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r321",
      "r322",
      "r325",
      "r328",
      "r758",
      "r762"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Expected amortization expense of intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r325",
      "r762"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Amount"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "INTANGIBLE ASSETS, NET",
        "verboseLabel": "Intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r321",
      "r324"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r325",
      "r758"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Intangible assets, net",
        "totalLabel": "Total intangible assets, net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "INTANGIBLE ASSETS, NET"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r675",
      "r677",
      "r679",
      "r680"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "terseLabel": "Foreign exchange gain (loss)"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r689"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign currency translation"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ForeignExchangeForwardMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.",
        "label": "Foreign exchange forward contracts"
       }
      }
     },
     "localname": "ForeignExchangeForwardMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignExchangeOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An option that allows the holder to buy (if call) or sell (if put) an underlying currency at a fixed exercise rate, expressed as an exchange, during a specified period (an American option) or at a specified date (a European option).",
        "label": "Foreign exchange option contracts"
       }
      }
     },
     "localname": "ForeignExchangeOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.",
        "label": "Furniture, fixtures and equipment"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Gain Contingencies [Line Items]",
        "terseLabel": "Principal accounting policies:"
       }
      }
     },
     "localname": "GainContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GainContingenciesTable": {
     "auth_ref": [
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sets forth the existing conditions, situations, or sets of circumstances involving uncertainties as of the balance sheet date (or before issuance of the financial statements) that might result in a gain, typically reflecting care to avoid misleading implications as to the likelihood of realization, and previously disclosed contingent gains that were recognized as income in the period.",
        "label": "Gain Contingencies [Table]"
       }
      }
     },
     "localname": "GainContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GainLossOnInvestments": {
     "auth_ref": [
      "r112",
      "r133",
      "r267"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 5.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized and unrealized gain (loss) on investment.",
        "label": "Gain (Loss) on Investments",
        "terseLabel": "Investment income (loss)",
        "verboseLabel": "Investment (loss) gain"
       }
      }
     },
     "localname": "GainLossOnInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfDerivatives": {
     "auth_ref": [
      "r133",
      "r796"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 40.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.",
        "label": "Gain (Loss) on Sale of Derivatives",
        "negatedLabel": "Net settlement of derivatives",
        "negatedTerseLabel": "Net settlement of derivatives"
       }
      }
     },
     "localname": "GainLossOnSaleOfDerivatives",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r133"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedLabel": "Loss (gain) on disposal of property, plant and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee": {
     "auth_ref": [
      "r103",
      "r104",
      "r133",
      "r789",
      "r826"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of equity in securities of subsidiaries or equity method investee.",
        "label": "Gain (Loss) on Disposition of Stock in Subsidiary or Equity Method Investee",
        "negatedLabel": "Disposal of subsidiaries"
       }
      }
     },
     "localname": "GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainOrLossOnSaleOfStockInSubsidiary": {
     "auth_ref": [
      "r103",
      "r104",
      "r133",
      "r789",
      "r826"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of equity in securities of subsidiaries.",
        "label": "Gain (Loss) on Disposition of Stock in Subsidiary",
        "negatedLabel": "Loss on disposal of subsidiaries"
       }
      }
     },
     "localname": "GainOrLossOnSaleOfStockInSubsidiary",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r110"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative expenses"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": {
     "auth_ref": [
      "r323"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.",
        "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GrantMember": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award of money not required to be repaid.",
        "label": "Government grants"
       }
      }
     },
     "localname": "GrantMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GranteeStatusAxis": {
     "auth_ref": [
      "r480",
      "r482",
      "r485",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by status of recipient to whom award is granted.",
        "label": "Grantee Status [Axis]"
       }
      }
     },
     "localname": "GranteeStatusAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GranteeStatusDomain": {
     "auth_ref": [
      "r480",
      "r482",
      "r485",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Status of recipient to whom award is granted.",
        "label": "Grantee Status [Domain]"
       }
      }
     },
     "localname": "GranteeStatusDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r107",
      "r148",
      "r232",
      "r238",
      "r242",
      "r245",
      "r248",
      "r273",
      "r373",
      "r374",
      "r375",
      "r378",
      "r379",
      "r380",
      "r382",
      "r384",
      "r386",
      "r387",
      "r666"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "terseLabel": "Gross profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GuaranteeObligationsByNatureAxis": {
     "auth_ref": [
      "r363"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by nature of guarantee.",
        "label": "Guarantor Obligations, Nature [Axis]"
       }
      }
     },
     "localname": "GuaranteeObligationsByNatureAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GuaranteeObligationsNatureDomain": {
     "auth_ref": [
      "r362"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents a description of the nature of the guarantee or each group of similar guarantees.",
        "label": "Guarantor Obligations, Nature [Domain]"
       }
      }
     },
     "localname": "GuaranteeObligationsNatureDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_HedgingDesignationAxis": {
     "auth_ref": [
      "r624",
      "r638"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Axis]"
       }
      }
     },
     "localname": "HedgingDesignationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_HedgingDesignationDomain": {
     "auth_ref": [
      "r624"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Domain]"
       }
      }
     },
     "localname": "HedgingDesignationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_HedgingRelationshipDomain": {
     "auth_ref": [
      "r624"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nature or intent of a hedge.",
        "label": "Hedging Relationship [Domain]"
       }
      }
     },
     "localname": "HedgingRelationshipDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IPOMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First sale of stock by a private company to the public.",
        "label": "Initial public offer"
       }
      }
     },
     "localname": "IPOMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ImpairmentOfInvestments": {
     "auth_ref": [
      "r266"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.",
        "label": "Other than Temporary Impairment Losses, Investments",
        "terseLabel": "Impairment charges on investments",
        "verboseLabel": "Impairment loss of investment"
       }
      }
     },
     "localname": "ImpairmentOfInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "auth_ref": [
      "r330",
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "terseLabel": "Impairment of long-lived assets"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r94",
      "r232",
      "r238",
      "r242",
      "r245",
      "r248",
      "r775",
      "r790",
      "r798",
      "r828"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "terseLabel": "Income (loss) before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest [Abstract]",
        "terseLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r232",
      "r238",
      "r242",
      "r245",
      "r248"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.",
        "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "terseLabel": "Income (loss) before income taxes and equity in earnings of subsidiaries",
        "totalLabel": "Income before income taxes and equity in earnings of unconsolidated investees"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r95",
      "r133",
      "r229",
      "r269",
      "r788",
      "r820"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss).",
        "label": "Income (Loss) from Equity Method Investments",
        "negatedTerseLabel": "Equity in earnings of unconsolidated investees",
        "terseLabel": "Equity in earnings (loss) of unconsolidated investees"
       }
      }
     },
     "localname": "IncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r336",
      "r344"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r344"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r542"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Income Tax Contingency [Line Items]",
        "terseLabel": "Income taxes:"
       }
      }
     },
     "localname": "IncomeTaxContingencyLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "auth_ref": [
      "r543",
      "r547",
      "r549",
      "r562"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.",
        "label": "Income Tax Contingency [Table]"
       }
      }
     },
     "localname": "IncomeTaxContingencyTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r150",
      "r540",
      "r548",
      "r555",
      "r567",
      "r573",
      "r577",
      "r578",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r151",
      "r178",
      "r179",
      "r230",
      "r538",
      "r568",
      "r575",
      "r829"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "negatedLabel": "Income tax benefit (expense)",
        "negatedTerseLabel": "Income tax benefit (expense)",
        "totalLabel": "Total income tax expense (benefit)"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Provision for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxHolidayAggregateDollarAmount": {
     "auth_ref": [
      "r573"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of income taxes from which a reporting entity is exempt or for which it will receive a reduction in income taxes as a result of the income tax holiday granted by the taxing jurisdiction.",
        "label": "Income Tax Holiday, Aggregate Dollar Amount",
        "terseLabel": "The aggregate amount (in dollars)"
       }
      }
     },
     "localname": "IncomeTaxHolidayAggregateDollarAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r88",
      "r534",
      "r535",
      "r548",
      "r549",
      "r554",
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r137"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Income taxes paid, net of tax refund"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableTrade": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 29.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Payable, Trade",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableTrade",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 21.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable trade"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Accounts receivable, unbilled"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r132",
      "r754"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 33.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Customer Advances",
        "terseLabel": "Advances from customers"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 39.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "negatedLabel": "Deferred taxes",
        "negatedTerseLabel": "Net deferred tax assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 22.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate increase (decrease) during the reporting period in the amount due from the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.",
        "label": "Increase (Decrease) in Due from Related Parties, Current",
        "negatedLabel": "Amounts due from related parties",
        "negatedTerseLabel": "Amounts due from subsidiaries"
       }
      }
     },
     "localname": "IncreaseDecreaseInDueFromRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 31.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.",
        "label": "Increase (Decrease) in Due to Related Parties, Current",
        "terseLabel": "Amounts due to subsidiaries"
       }
      }
     },
     "localname": "IncreaseDecreaseInDueToRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 23.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInNotesPayableCurrent": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 30.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in current portion (due within one year or one business cycle) of obligations evidenced by formal promissory notes.",
        "label": "Increase (Decrease) in Notes Payable, Current",
        "terseLabel": "Short-term notes payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInNotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "auth_ref": [
      "r132",
      "r717"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 20.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation for operating lease.",
        "label": "Increase (Decrease) in Operating Lease Liability",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccountsPayable": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 32.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligations classified as other, payable within one year or the normal operating cycle, if longer.",
        "label": "Increase (Decrease) in Other Accounts Payable",
        "terseLabel": "Other payables"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current liabilities classified as other.",
        "label": "Increase (Decrease) in Other Current Liabilities",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 28.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "negatedLabel": "Other non-current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 34.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 27.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities": {
     "auth_ref": [
      "r189",
      "r190",
      "r194"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible debt securities using the if-converted method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Conversion of Debt Securities",
        "terseLabel": "Dilutive effects of share number from convertible notes"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToConversionOfDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r186",
      "r187",
      "r188",
      "r194",
      "r483"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Diluted effects of share number from share options and RSUs"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_InsuranceSettlementsReceivableNoncurrent": {
     "auth_ref": [
      "r21"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount due after one year of the balance sheet date (or one operating cycle, if longer) of amount due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy.",
        "label": "Insurance Settlements Receivable, Noncurrent",
        "terseLabel": "Insurance receivable"
       }
      }
     },
     "localname": "InsuranceSettlementsReceivableNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r329"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Intangible Assets Disclosure [Text Block]",
        "terseLabel": "INTANGIBLE ASSETS, NET"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestCapitalizationPolicyPolicyTextBlock": {
     "auth_ref": [
      "r694"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for interest capitalization.",
        "label": "Interest Capitalization, Policy [Policy Text Block]",
        "terseLabel": "Interest capitalization"
       }
      }
     },
     "localname": "InterestCapitalizationPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestCostsIncurred": {
     "auth_ref": [
      "r693"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total interest costs incurred during the period and either capitalized or charged against earnings.",
        "label": "Interest Costs Incurred",
        "terseLabel": "Total interest incurred"
       }
      }
     },
     "localname": "InterestCostsIncurred",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestCostsIncurredAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Costs Incurred [Abstract]",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestCostsIncurredAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r92",
      "r226",
      "r692",
      "r697",
      "r797"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseDebtExcludingAmortization": {
     "auth_ref": [
      "r114",
      "r411",
      "r422",
      "r423"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.",
        "label": "Interest Expense, Debt, Excluding Amortization",
        "verboseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpenseDebtExcludingAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r126",
      "r130",
      "r137"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Net",
        "terseLabel": "Interest paid (net of amounts capitalized)",
        "verboseLabel": "Interest paid (net of amounts capitalized)"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPayableCurrent": {
     "auth_ref": [
      "r59"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Interest Payable, Current",
        "terseLabel": "Interest not paid recorded in other payables"
       }
      }
     },
     "localname": "InterestPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestRateSwapMember": {
     "auth_ref": [
      "r634"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.",
        "label": "Interest rate swap"
       }
      }
     },
     "localname": "InterestRateSwapMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVENTORIES"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r309"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "INVENTORIES"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r45",
      "r308"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r9",
      "r51",
      "r742"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories",
        "totalLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net, Items Net of Reserve Alternative [Abstract]",
        "terseLabel": "INVENTORIES"
       }
      }
     },
     "localname": "InventoryNetItemsNetOfReserveAlternativeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r15",
      "r49",
      "r143",
      "r202",
      "r305",
      "r307",
      "r309",
      "r755"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r47",
      "r308"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.",
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r46",
      "r308"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r306"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Write-down",
        "terseLabel": "Write-down of inventories",
        "verboseLabel": "Inventory written down"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeInterest": {
     "auth_ref": [
      "r111",
      "r225"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.",
        "label": "Investment Income, Interest",
        "terseLabel": "Interest income"
       }
      }
     },
     "localname": "InvestmentIncomeInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Investments in and Advances to Affiliates [Line Items]",
        "terseLabel": "Major Subsidiaries of CSI"
       }
      }
     },
     "localname": "InvestmentsInAndAdvancesToAffiliatesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVESTMENTS IN AFFILIATES"
       }
      }
     },
     "localname": "InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock": {
     "auth_ref": [
      "r855"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the information summarizing investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates. It reflects specified information about ownership, financial results from, and financial position in such entities.",
        "label": "Investments in and Advances to Affiliates, Schedule of Investments [Text Block]",
        "terseLabel": "APPENDIX 1 - Major Subsidiaries of CSI"
       }
      }
     },
     "localname": "InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesTable": {
     "auth_ref": [
      "r854"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of investments in affiliates and investments that are advances to affiliates.",
        "label": "Investments in and Advances to Affiliates [Table]"
       }
      }
     },
     "localname": "InvestmentsInAndAdvancesToAffiliatesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r721",
      "r723"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "totalLabel": "Total lease cost"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost [Abstract]",
        "verboseLabel": "Finance lease cost:"
       }
      }
     },
     "localname": "LeaseCostAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r721"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Schedule of leases"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "LEASE"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Lessee, Lease, Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r713"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "auth_ref": [
      "r711"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.",
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeLeasesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r722"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of lease maturities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r722"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r712"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Lease term"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r724"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "LEASE"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLease"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r58",
      "r148",
      "r240",
      "r273",
      "r373",
      "r374",
      "r375",
      "r378",
      "r379",
      "r380",
      "r382",
      "r384",
      "r386",
      "r387",
      "r601",
      "r608",
      "r609",
      "r666",
      "r740",
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Total liabilities",
        "totalLabel": "TOTAL LIABILITIES"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r43",
      "r148",
      "r273",
      "r666",
      "r742",
      "r784",
      "r816"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "TOTAL LIABILITIES AND EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES, REDEEMABLE NON-CONTROLLING INTERESTS AND EQUITY",
        "verboseLabel": "LIABILITIES AND EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r13",
      "r60",
      "r148",
      "r273",
      "r373",
      "r374",
      "r375",
      "r378",
      "r379",
      "r380",
      "r382",
      "r384",
      "r386",
      "r387",
      "r601",
      "r608",
      "r609",
      "r666",
      "r740",
      "r741",
      "r742"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Total current liabilities",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": {
     "auth_ref": [
      "r64"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent.",
        "label": "Liability for Uncertain Tax Positions, Noncurrent",
        "terseLabel": "Liability for uncertain tax positions"
       }
      }
     },
     "localname": "LiabilityForUncertainTaxPositionsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r28",
      "r781",
      "r804"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Line of Credit Facility, Amount Outstanding",
        "positiveLabel": "Amounts drawn down",
        "terseLabel": "Outstanding balance",
        "verboseLabel": "Amount drawn of bank credit facilities granted"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "auth_ref": [
      "r56",
      "r147"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.",
        "label": "Lender Name [Axis]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "auth_ref": [
      "r56",
      "r147"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility.",
        "label": "Line of Credit Facility, Lender [Domain]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLenderDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r56"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "verboseLabel": "Maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r56"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Available amount of credit facilities"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.",
        "label": "Credit facility"
       }
      }
     },
     "localname": "LineOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LoansAndLeasesReceivableRelatedParties": {
     "auth_ref": [
      "r734",
      "r787"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an unclassified balance sheet, reflects the carrying amount of unpaid loan amounts due from related parties at the balance sheet date.",
        "label": "Loans and Leases Receivable, Related Parties",
        "terseLabel": "Shareholder loans due from related parties"
       }
      }
     },
     "localname": "LoansAndLeasesReceivableRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansPayableCurrent": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of portion of long-term loans payable due within one year or the operating cycle if longer.",
        "label": "Loans Payable, Current",
        "negatedLabel": "Less: future principal repayment related to long-term borrowings, current portion"
       }
      }
     },
     "localname": "LoansPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r253"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.",
        "label": "Long-lived Assets by Geographic Areas [Table Text Block]",
        "terseLabel": "Schedule of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets by geographic region"
       }
      }
     },
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r28",
      "r403",
      "r417",
      "r420",
      "r421",
      "r781",
      "r810"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "Long-term Debt",
        "totalLabel": "Total",
        "verboseLabel": "Long-term borrowings"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtByMaturityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Future principal repayment on the long-term borrowings loans"
       }
      }
     },
     "localname": "LongTermDebtByMaturityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r57"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Current Maturities",
        "terseLabel": "Long-term borrowings, current portion"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive": {
     "auth_ref": [
      "r156",
      "r371",
      "r408"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [
      "r156",
      "r371",
      "r408"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": {
     "auth_ref": [
      "r156",
      "r371",
      "r408"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Five",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": {
     "auth_ref": [
      "r156",
      "r371",
      "r408"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "auth_ref": [
      "r156",
      "r371",
      "r408"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "auth_ref": [
      "r156",
      "r371",
      "r408"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtWeightedAverageInterestRateOverTime": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average interest rate of long-term debt outstanding calculated over time.",
        "label": "Long-term Debt, Weighted Average Interest Rate, over Time",
        "terseLabel": "Average interest rate on long-term borrowings (as a percent)"
       }
      }
     },
     "localname": "LongTermDebtWeightedAverageInterestRateOverTime",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LongTermNotesAndLoans": {
     "auth_ref": [
      "r63"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.",
        "label": "Notes and Loans, Noncurrent",
        "positiveLabel": "Total long-term portion",
        "terseLabel": "Long-term borrowings",
        "verboseLabel": "Carrying value of long-term borrowings"
       }
      }
     },
     "localname": "LongTermNotesAndLoans",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of key provisions of an arrangement under which the entity has agreed to purchase goods or services over a period of time greater than one year or the normal operating cycle, if longer, including the item for which expenditures will be made, minimum quantities, milestones, time period and committed amount.",
        "label": "Long-term Purchase Commitment [Table Text Block]",
        "terseLabel": "Schedule of payment for commitments"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r63"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r63",
      "r372"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Loss Contingencies [Line Items]",
        "terseLabel": "Contingencies"
       }
      }
     },
     "localname": "LossContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesTable": {
     "auth_ref": [
      "r350",
      "r352",
      "r353",
      "r354",
      "r355",
      "r360",
      "r361"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.",
        "label": "Loss Contingencies [Table]"
       }
      }
     },
     "localname": "LossContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyAccrualAtCarryingValue": {
     "auth_ref": [
      "r350",
      "r351"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss contingency liability.",
        "label": "Loss Contingency Accrual",
        "terseLabel": "Loss contingency accruals"
       }
      }
     },
     "localname": "LossContingencyAccrualAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r69",
      "r148",
      "r273",
      "r373",
      "r378",
      "r379",
      "r380",
      "r386",
      "r387",
      "r666",
      "r783",
      "r815"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).",
        "label": "Stockholders' Equity Attributable to Noncontrolling Interest",
        "terseLabel": "Non-controlling interests in subsidiaries"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDecreaseFromRedemptions": {
     "auth_ref": [
      "r433",
      "r598",
      "r599"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Decrease in noncontrolling interest (for example, but not limited to, redeeming or purchasing the interests of noncontrolling shareholders, issuance of shares (interests) by the non-wholly owned subsidiary to the parent entity for other than cash, and a buyback of shares (interest) by the non-wholly owned subsidiary from the noncontrolling interests).",
        "label": "Noncontrolling Interest, Decrease from Redemptions or Purchase of Interests",
        "negatedLabel": "Acquisition of non-controlling interest's ownership"
       }
      }
     },
     "localname": "MinorityInterestDecreaseFromRedemptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.",
        "label": "Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners",
        "terseLabel": "Ownership Percentage by Noncontrolling Owners"
       }
      }
     },
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]",
        "terseLabel": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MovementInValuationAllowancesAndReservesRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Valuation Allowances and Reserves [Roll Forward]",
        "terseLabel": "Movement of allowances"
       }
      }
     },
     "localname": "MovementInValuationAllowancesAndReservesRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r204",
      "r218"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "ORGANIZATION AND PRINCIPAL ACTIVITIES"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations",
        "totalLabel": "Net cash provided by (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations",
        "terseLabel": "Net cash used in investing activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r129",
      "r131",
      "r134"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]",
        "terseLabel": "Operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r83",
      "r85",
      "r91",
      "r178",
      "r179",
      "r604",
      "r616"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.",
        "label": "Net Income (Loss) Attributable to Noncontrolling Interest",
        "terseLabel": "Less: net income (loss) attributable to non-controlling interests"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAttributableToParentDiluted": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions.",
        "label": "Net Income (Loss) Attributable to Parent, Diluted",
        "terseLabel": "Net income attributable to Canadian Solar Inc. - diluted"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToParentDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "auth_ref": [
      "r172",
      "r173",
      "r174",
      "r175",
      "r182",
      "r183",
      "r191",
      "r194",
      "r232",
      "r238",
      "r242",
      "r245",
      "r248"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "terseLabel": "Net income attributable to Canadian Solar Inc. - basic",
        "totalLabel": "Net income attributable to Canadian Solar Inc."
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]",
        "terseLabel": "Recently issued accounting pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": {
     "auth_ref": [
      "r0",
      "r1",
      "r2",
      "r3",
      "r4",
      "r166",
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r174",
      "r180",
      "r198",
      "r263",
      "r264",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r523",
      "r524",
      "r525",
      "r563",
      "r564",
      "r565",
      "r566",
      "r586",
      "r587",
      "r588",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r690",
      "r691",
      "r700",
      "r701",
      "r702",
      "r703",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r759",
      "r760",
      "r761",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of the changes in an accounting principle or a new accounting pronouncement, including the line items affected by the change and the financial effects of the change on those particular line items.",
        "label": "Accounting Standards Update and Change in Accounting Principle [Table]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recently issued accounting pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Supplemental schedule of non-cash activities:"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest": {
     "auth_ref": [
      "r434",
      "r598",
      "r606"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from sale of a portion of the parent's controlling interest.",
        "label": "Noncontrolling Interest, Increase from Sale of Parent Equity Interest",
        "terseLabel": "Proceeds from non-controlling interests"
       }
      }
     },
     "localname": "NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance": {
     "auth_ref": [
      "r434",
      "r598",
      "r606"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders.",
        "label": "Noncontrolling Interest, Increase from Subsidiary Equity Issuance",
        "terseLabel": "Capital raised",
        "verboseLabel": "Transfer of equity interest in subsidiaries to non-controlling shareholders"
       }
      }
     },
     "localname": "NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r163",
      "r164",
      "r165",
      "r433",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.",
        "label": "Non-Controlling Interest"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncurrentAssets": {
     "auth_ref": [
      "r252"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.",
        "label": "Long-Lived Assets",
        "terseLabel": "Total long-lived assets"
       }
      }
     },
     "localname": "NoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NondesignatedMember": {
     "auth_ref": [
      "r624"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).",
        "label": "Not designated as hedging instruments"
       }
      }
     },
     "localname": "NondesignatedMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Other expenses, net",
        "verboseLabel": "Other income (expenses), net:"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other income (expenses):"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NonrecourseMember": {
     "auth_ref": [
      "r601",
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability for which creditor does not have recourse to debtor but rather has recourse only to property used for collateral in transaction or other specific property.",
        "label": "Nonrecourse [Member]"
       }
      }
     },
     "localname": "NonrecourseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NotesPayableAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SHORT-TERM NOTES PAYABLE"
       }
      }
     },
     "localname": "NotesPayableAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r220"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of principal reportable business segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses",
        "terseLabel": "Total operating expenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r232",
      "r238",
      "r242",
      "r245",
      "r248"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "terseLabel": "Income from operations",
        "totalLabel": "Income from operations",
        "verboseLabel": "Loss from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r715",
      "r723"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease Liabilities, Gross Difference, Amount [Abstract]",
        "terseLabel": "Operating leases, gross difference"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Maturities of operating leases",
        "verboseLabel": "Year Ending December 31:"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r705"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Lease liabilities",
        "totalLabel": "Total operating lease liabilities",
        "verboseLabel": "NPV for future minimum lease payments"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r705"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating lease liabilities, current"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r705"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating lease liabilities, noncurrent"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r710",
      "r717"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "negatedLabel": "Operating cash outflows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r704"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 12.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r720",
      "r723"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate - finance lease"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r719",
      "r723"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average term - finance leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r556"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Accumulated net operating losses"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Operating segment"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ORGANIZATION AND PRINCIPAL ACTIVITIES"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r162",
      "r181",
      "r218",
      "r618"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.",
        "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]",
        "terseLabel": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES"
       }
      }
     },
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssets": {
     "auth_ref": [
      "r21",
      "r777",
      "r806"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets classified as other.",
        "label": "Other Assets",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r21"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other non-current assets",
        "terseLabel": "Other non-current assets",
        "verboseLabel": "Other non-current assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r76",
      "r79",
      "r676",
      "r678",
      "r682"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax",
        "terseLabel": "Foreign currency translation adjustment",
        "verboseLabel": "Other comprehensive income (loss) (net of tax of nil)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": {
     "auth_ref": [
      "r77",
      "r79"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.",
        "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax",
        "terseLabel": "Fair value change on derivatives"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income, Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive income (loss) (net of tax of nil):"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossTax": {
     "auth_ref": [
      "r80",
      "r89",
      "r96",
      "r538",
      "r574",
      "r576",
      "r683",
      "r686",
      "r688",
      "r791",
      "r821"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss).",
        "label": "Other Comprehensive Income (Loss), Tax",
        "terseLabel": "Other comprehensive income tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncomeParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilities": {
     "auth_ref": [
      "r785"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other.",
        "label": "Other Liabilities",
        "verboseLabel": "Other liabilities"
       }
      }
     },
     "localname": "OtherLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r59",
      "r742"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other current liabilities",
        "terseLabel": "Other current liabilities",
        "verboseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r64"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other non-current liabilities",
        "terseLabel": "Other non-current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLongTermDebtCurrent": {
     "auth_ref": [
      "r24",
      "r26"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt classified as other, payable within one year or the operating cycle, if longer.",
        "label": "Other Long-term Debt, Current",
        "terseLabel": "Long-term borrowings, current"
       }
      }
     },
     "localname": "OtherLongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncurrentAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other noncurrent assets.",
        "label": "Other non-current assets."
       }
      }
     },
     "localname": "OtherNoncurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 41.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).",
        "label": "Other Operating Activities, Cash Flow Statement",
        "terseLabel": "Loss contingency accruals"
       }
      }
     },
     "localname": "OtherOperatingActivitiesCashFlowStatement",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherOperatingIncomeExpenseNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.",
        "label": "Other Operating Income (Expense), Net",
        "negatedLabel": "Other operating income, net",
        "negatedTerseLabel": "Other operating income, net",
        "negatedTotalLabel": "Other operating income, net"
       }
      }
     },
     "localname": "OtherOperatingIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherShortTermBorrowings": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowings classified as other, maturing within one year or the normal operating cycle, if longer.",
        "label": "Other Short-term Borrowings",
        "terseLabel": "Short-term borrowings"
       }
      }
     },
     "localname": "OtherShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ParentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests.",
        "label": "Equity (Deficits) Attribute to Canadian Solar Inc."
       }
      }
     },
     "localname": "ParentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r122"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Payments for repurchase of common shares",
        "negatedTerseLabel": "Payments for repurchase of common shares"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "auth_ref": [
      "r124"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.",
        "label": "Payments of Debt Issuance Costs",
        "negatedLabel": "Issuance cost paid on convertible notes",
        "negatedTerseLabel": "Payments for repurchase of convertible notes"
       }
      }
     },
     "localname": "PaymentsOfDebtIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "auth_ref": [
      "r125"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.",
        "label": "Payments of Stock Issuance Costs",
        "terseLabel": "Commissions and offering expenses"
       }
      }
     },
     "localname": "PaymentsOfStockIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireEquityMethodInvestments": {
     "auth_ref": [
      "r118"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.",
        "label": "Payments to Acquire Equity Method Investments",
        "negatedLabel": "Investments in affiliates",
        "terseLabel": "Subscription amount"
       }
      }
     },
     "localname": "PaymentsToAcquireEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "auth_ref": [
      "r125"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.",
        "label": "Payments to Noncontrolling Interests",
        "negatedTerseLabel": "Acquisition of non-controlling interest"
       }
      }
     },
     "localname": "PaymentsToMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r461",
      "r463",
      "r464",
      "r465",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for retirement benefits.",
        "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]",
        "terseLabel": "EMPLOYEE BENEFIT PLANS"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PledgedStatusAxis": {
     "auth_ref": [
      "r600",
      "r608"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by pledged or not pledged status of asset owned by entity.",
        "label": "Pledged Status [Axis]"
       }
      }
     },
     "localname": "PledgedStatusAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PledgedStatusDomain": {
     "auth_ref": [
      "r600",
      "r608"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Pledged or not pledged status of asset owned by entity.",
        "label": "Pledged Status [Domain]"
       }
      }
     },
     "localname": "PledgedStatusDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r53"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid expenses and other current assets",
        "terseLabel": "Prepaid expenses and other current assets",
        "verboseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseNoncurrent": {
     "auth_ref": [
      "r21"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of amounts paid in advance for expenses which will be charged against earnings in periods after one year or beyond the operating cycle, if longer.",
        "label": "Prepaid land use rights",
        "verboseLabel": "Prepaid land use rights"
       }
      }
     },
     "localname": "PrepaidExpenseNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.",
        "label": "Prepaid Expenses And Other Current Assets [Member]",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpensesAndOtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts.",
        "label": "Private placement"
       }
      }
     },
     "localname": "PrivatePlacementMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromConvertibleDebt": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Proceeds from Convertible Debt",
        "terseLabel": "Net proceeds from issuance of convertible notes"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital": {
     "auth_ref": [
      "r116",
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of distribution received from equity method investee for return of investment, classified as investing activities. Excludes distribution for return on investment, classified as operating activities.",
        "label": "Proceeds from Equity Method Investment, Dividends or Distributions, Return of Capital",
        "terseLabel": "Return of investment from affiliates"
       }
      }
     },
     "localname": "ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r119"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from issuance of common stock",
        "verboseLabel": "Net proceeds from issuance of common shares"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfDebt": {
     "auth_ref": [
      "r120"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.",
        "label": "Proceeds from Issuance of Debt",
        "terseLabel": "Amount drawn"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r120",
      "r147"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Proceeds from Lines of Credit",
        "terseLabel": "Amount drawn"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMinorityShareholders": {
     "auth_ref": [
      "r121"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.",
        "label": "Proceeds from Noncontrolling Interests",
        "netLabel": "Capital raised",
        "terseLabel": "Proceeds from changes in ownership interests in subsidiaries without change of control",
        "verboseLabel": "Proceeds from non-controlling interests"
       }
      }
     },
     "localname": "ProceedsFromMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromNotesPayable": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a borrowing supported by a written promise to pay an obligation.",
        "label": "Proceeds from Notes Payable",
        "terseLabel": "Proceeds from short-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromRepaymentsOfNotesPayable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from long-term debt supported by a written promise to pay an obligation.",
        "label": "Proceeds from (Repayments of) Notes Payable",
        "verboseLabel": "Proceeds long-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromRepaymentsOfNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "auth_ref": [
      "r116"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.",
        "label": "Proceeds from Sale of Equity Method Investments",
        "terseLabel": "Proceeds from disposal of investment in affiliates"
       }
      }
     },
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r117"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "terseLabel": "Proceeds from disposal of property, plant and equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r119",
      "r522"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyAccrualNoncurrent": {
     "auth_ref": [
      "r64"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "Product Warranty Accrual, Noncurrent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "terseLabel": "Accrued warranty costs"
       }
      }
     },
     "localname": "ProductWarrantyAccrualNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r364"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.",
        "label": "Product Warranty Accrual, Payments",
        "negatedLabel": "Warranty costs incurred"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r366"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.",
        "label": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Warranty provision"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r370"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.",
        "label": "Product Warranty Disclosure [Text Block]",
        "terseLabel": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "localname": "ProductWarrantyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProductWarrantyExpense": {
     "auth_ref": [
      "r132",
      "r365"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers.",
        "label": "Product Warranty Expense",
        "terseLabel": "Warranty costs (net effect of adjustment) included in cost of revenues"
       }
      }
     },
     "localname": "ProductWarrantyExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Product Warranty Liability [Line Items]",
        "terseLabel": "Warranty cost"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties.",
        "label": "Product Warranty Liability [Table]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r7",
      "r83",
      "r85",
      "r91",
      "r127",
      "r148",
      "r167",
      "r178",
      "r179",
      "r232",
      "r238",
      "r242",
      "r245",
      "r248",
      "r273",
      "r373",
      "r374",
      "r375",
      "r378",
      "r379",
      "r380",
      "r382",
      "r384",
      "r386",
      "r387",
      "r595",
      "r603",
      "r605",
      "r616",
      "r617",
      "r653",
      "r666",
      "r798"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net Income (loss)"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "PROPERTY, PLANT AND EQUIPMENT, NET"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r339",
      "r862",
      "r863",
      "r864"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r18",
      "r333"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 1.0,
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Property, plant and equipment, gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET",
        "verboseLabel": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r335",
      "r742",
      "r799",
      "r818"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net.",
        "totalLabel": "Property, plant and equipment, net",
        "verboseLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r335",
      "r862",
      "r863"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Estimated useful lives"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r101",
      "r289"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Provision for Doubtful Accounts",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis": {
     "auth_ref": [
      "r29",
      "r782",
      "r811"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by arrangement, in which the entity has agreed to expend funds to procure goods or services from one or more suppliers.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Axis]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain": {
     "auth_ref": [
      "r29",
      "r782",
      "r811"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item is intended to be populated, by the entity, with Members identifying each purchase commitment about which information required or determined to be disclosed is being provided. If only one such commitment exists, this item may be used to capture such information; if multiple commitments exist, this item is the dimensional default, which will aggregate such information, as appropriate.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Domain]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Line Items]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable": {
     "auth_ref": [
      "r29",
      "r782",
      "r811"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of information required or determined to be disclosed about arrangements in which the entity has agreed to expend funds to procure goods or services from one or more suppliers. Such disclosure may include identification of the goods or services to be purchased, identity of the seller, pricing, effects on pricing for failing to reach minimum quantities required to be purchased (such as penalties), cancellation rights, and termination provisions.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Table]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": {
     "auth_ref": [
      "r29",
      "r782",
      "r811"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.",
        "label": "Purchase Commitment, Remaining Minimum Amount Committed",
        "terseLabel": "Commitments"
       }
      }
     },
     "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.",
        "label": "Purchase Obligation",
        "terseLabel": "Total"
       }
      }
     },
     "localname": "PurchaseObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligationDueInNextTwelveMonths": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of purchase arrangement to be paid in next fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Purchase Obligation, Due in Next Twelve Months",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "PurchaseObligationDueInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligationDueInSecondYear": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of purchase arrangement to be paid in second fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Purchase Obligation, Due in Second Year",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "PurchaseObligationDueInSecondYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligationDueInThirdYear": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of purchase arrangement to be paid in third fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Purchase Obligation, Due in Third Year",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "PurchaseObligationDueInThirdYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivablesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ALLOWANCE FOR CREDIT LOSSES"
       }
      }
     },
     "localname": "ReceivablesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]",
        "terseLabel": "Changes to the company's liabilities for uncertain tax positions"
       }
      }
     },
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r466",
      "r733",
      "r734"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Domain]"
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "auth_ref": [
      "r466",
      "r733",
      "r734",
      "r736"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party transaction.",
        "label": "Related Party Transaction [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "auth_ref": [
      "r466"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction between related party.",
        "label": "Related Party Transaction [Domain]"
       }
      }
     },
     "localname": "RelatedPartyTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "localname": "RelatedPartyTransactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.",
        "label": "Related Party Transaction, Purchases from Related Party",
        "verboseLabel": "Purchase from related party"
       }
      }
     },
     "localname": "RelatedPartyTransactionPurchasesFromRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r466",
      "r733",
      "r736",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r731",
      "r732",
      "r734",
      "r737",
      "r738"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentOfNotesReceivableFromRelatedParties": {
     "auth_ref": [
      "r115"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a loan, supported by a promissory note, granted to related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth.",
        "label": "Repayment of Notes Receivable from Related Parties",
        "terseLabel": "Repayment of loans from interest receivables"
       }
      }
     },
     "localname": "RepaymentOfNotesReceivableFromRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfConvertibleDebt": {
     "auth_ref": [
      "r123"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Repayments of Convertible Debt",
        "negatedLabel": "Net proceeds from issuance of convertible notes",
        "negatedTerseLabel": "Payments for repurchase of convertible notes"
       }
      }
     },
     "localname": "RepaymentsOfConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfNotesPayable": {
     "auth_ref": [
      "r123"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.",
        "label": "Repayments of Notes Payable",
        "negatedLabel": "Repayment of short-term borrowings"
       }
      }
     },
     "localname": "RepaymentsOfNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r531",
      "r756",
      "r877"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development expenses"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "terseLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedAssetsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for assets that are restricted in their use, generally by contractual agreements or regulatory requirements. This would include, but not limited to, a description of the restricted assets and the terms of the restriction.",
        "label": "Restricted Assets Disclosure [Text Block]",
        "terseLabel": "RESTRICTED NET ASSETS"
       }
      }
     },
     "localname": "RestrictedAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalents": {
     "auth_ref": [
      "r16",
      "r135",
      "r141",
      "r776",
      "r812"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 12.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents",
        "terseLabel": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r16",
      "r135",
      "r141"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents, Current",
        "terseLabel": "Restricted cash",
        "verboseLabel": "Restricted cash - current"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": {
     "auth_ref": [
      "r135",
      "r141",
      "r857"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents, Noncurrent",
        "terseLabel": "Restricted cash",
        "verboseLabel": "Restricted cash - non-current"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "RSUs"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "RESTRICTED NET ASSETS"
       }
      }
     },
     "localname": "RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r39",
      "r433",
      "r742",
      "r814",
      "r842",
      "r847"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit).",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r2",
      "r163",
      "r164",
      "r165",
      "r168",
      "r177",
      "r179",
      "r279",
      "r523",
      "r524",
      "r525",
      "r565",
      "r566",
      "r651",
      "r838",
      "r840"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r223",
      "r224",
      "r237",
      "r243",
      "r244",
      "r250",
      "r251",
      "r255",
      "r449",
      "r450",
      "r757"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.",
        "label": "Total electricity revenue",
        "terseLabel": "Net revenues",
        "totalLabel": "Total net revenues",
        "verboseLabel": "Net revenues"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r144",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "terseLabel": "Revenue recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromRelatedParties": {
     "auth_ref": [
      "r105",
      "r376",
      "r378",
      "r379",
      "r385",
      "r386",
      "r387",
      "r853"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.",
        "label": "Revenue from Related Parties",
        "verboseLabel": "Revenue from sale of solar products"
       }
      }
     },
     "localname": "RevenueFromRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r440"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Contract liabilities expected to be recognized"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "terseLabel": "Revenues generated by geographic location of customers' headquarter"
       }
      }
     },
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "auth_ref": [
      "r718",
      "r723"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability",
        "terseLabel": "ROU assets obtained in exchange of new operating leases"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r718",
      "r723"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "ROU assets obtained in exchange of new finance lease liabilities"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.",
        "label": "Sale of Stock [Domain]"
       }
      }
     },
     "localname": "SaleOfStockNameOfTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of subsidiary's or equity investee's stock owned by parent company after stock transaction.",
        "label": "Sale of Stock, Percentage of Ownership after Transaction",
        "terseLabel": "Percentage of ownership after sale transaction"
       }
      }
     },
     "localname": "SaleOfStockPercentageOfOwnershipAfterTransaction",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SalesMember": {
     "auth_ref": [
      "r636"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business.",
        "label": "Revenue"
       }
      }
     },
     "localname": "SalesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": {
     "auth_ref": [
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r195"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "auth_ref": [
      "r195"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "terseLabel": "Schedule of anti-dilutive shares excluded from the computation of diluted earnings per share"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of provision for income taxes"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]",
        "terseLabel": "Schedule of bank borrowings"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r553"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of components of the deferred tax assets and liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "auth_ref": [
      "r627",
      "r632",
      "r638"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.",
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "terseLabel": "Schedule of effect of derivative instruments on consolidated statements of operations"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "auth_ref": [
      "r630"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]",
        "terseLabel": "Schedule of fair value of derivative instruments on the consolidated balance sheets"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r194"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of computation of basic and diluted earnings per share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r539"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "auth_ref": [
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "auth_ref": [
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table Text Block]",
        "terseLabel": "Summary of the Company's revenues generated from each product or service"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Schedule of Equity Method Investments [Line Items]",
        "terseLabel": "Other investments"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "auth_ref": [
      "r7",
      "r148",
      "r272",
      "r273",
      "r666"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of information required and determined to be disclosed concerning equity method investments in common stock. The summarized information includes: (a) the name of each investee or group of investees for which combined disclosure is appropriate, (2) the percentage ownership of common stock, (3) the difference, if any, between the carrying amount of an investment and the value of the underlying equity in the net assets and the accounting treatment of difference, if any, and (4) the aggregate value of each identified investment based on its quoted market price, if available.",
        "label": "Schedule of Equity Method Investments [Table]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r321",
      "r324",
      "r758"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r321",
      "r324"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of useful life intangible assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r15",
      "r48",
      "r49",
      "r50"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of inventories"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r371"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.",
        "label": "Schedule of Maturities of Long-term Debt [Table Text Block]",
        "terseLabel": "Schedule of future principal repayments on the long-term borrowings"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r369"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Summary of the Company's warranty activity"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "auth_ref": [
      "r735",
      "r736"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Schedule of Related Party Transactions, by Related Party [Table]"
       }
      }
     },
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "auth_ref": [
      "r106",
      "r251"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]",
        "terseLabel": "Summary of the Company's net revenues generated from different geographic locations"
       }
      }
     },
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "auth_ref": [
      "r93",
      "r254"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r232",
      "r235",
      "r241",
      "r318"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r232",
      "r235",
      "r241",
      "r318"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Summary of Company's revenues and gross profit and income from operations generated from each segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r480",
      "r482",
      "r485",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "auth_ref": [
      "r489"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]",
        "terseLabel": "Schedule of the RSU activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "auth_ref": [
      "r547",
      "r562"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits.",
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of movement and balance of the Company's liability for uncertain tax positions (excluding interest and penalties)"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfVariableInterestEntitiesTable": {
     "auth_ref": [
      "r600",
      "r601",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r750",
      "r751",
      "r752"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of qualitative and quantitative information related to variable interests the entity holds, whether or not such variable interest entity (VIE) is included in the reporting entity's consolidated financial statements. Includes, but is not limited to, description of the significant judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a tabular comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.",
        "label": "Schedule of Variable Interest Entities [Table]"
       }
      }
     },
     "localname": "ScheduleOfVariableInterestEntitiesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfVariableInterestEntitiesTextBlock": {
     "auth_ref": [
      "r610",
      "r611",
      "r612",
      "r613",
      "r614"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.",
        "label": "Schedule of Variable Interest Entities [Table Text Block]",
        "terseLabel": "Schedule of carrying amounts and classifications of consolidated VIE's assets and liabilities, excluding intercompany balances"
       }
      }
     },
     "localname": "ScheduleOfVariableInterestEntitiesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecuredDebt": {
     "auth_ref": [
      "r28",
      "r781",
      "r810"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.",
        "label": "Secured Debt",
        "terseLabel": "Secured borrowings"
       }
      }
     },
     "localname": "SecuredDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SecuredDebtCurrent": {
     "auth_ref": [
      "r24",
      "r779",
      "r808"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the portion of long-term, collateralized debt obligations due within one year or the operating cycle, if longer. Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.",
        "label": "Secured Debt, Current",
        "terseLabel": "Long-term borrowings on project assets - current"
       }
      }
     },
     "localname": "SecuredDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SecuredLongTermDebt": {
     "auth_ref": [
      "r63"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets.",
        "label": "Secured Long-term Debt, Noncurrent",
        "terseLabel": "Long-term borrowings"
       }
      }
     },
     "localname": "SecuredLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r219",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r248",
      "r255",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r345",
      "r346",
      "r830"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENT INFORMATION"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r219",
      "r221",
      "r222",
      "r232",
      "r236",
      "r242",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r254",
      "r255",
      "r256"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "SEGMENT INFORMATION"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "SEGMENT INFORMATION"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingInformationProfitLossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information, Profit (Loss) [Abstract]",
        "terseLabel": "Revenues and gross profit generated from each segment"
       }
      }
     },
     "localname": "SegmentReportingInformationProfitLossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Selling and Marketing Expense",
        "terseLabel": "Selling and distribution expenses"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingExpense": {
     "auth_ref": [
      "r110"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services.",
        "label": "Selling Expense",
        "terseLabel": "Selling and distribution expenses"
       }
      }
     },
     "localname": "SellingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ServiceLifeMember": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A revision in the estimated economic useful life of a long-lived tangible asset (the period of time over which the asset is projected to benefit operations).",
        "label": "Depreciation life"
       }
      }
     },
     "localname": "ServiceLifeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r132"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Compensation.",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "verboseLabel": "Grant period (in years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Shares granted to employees",
        "verboseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted (in dollars per share)",
        "verboseLabel": "Weighted average grant date fair value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Unvested at the end of the period (in shares)",
        "periodStartLabel": "Unvested at the beginning of the period (in shares)",
        "terseLabel": "Number of unvested awards outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Number of Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Unvested at the end of the period (in dollars per share)",
        "periodStartLabel": "Unvested at the beginning of the period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted Average Grant-Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "auth_ref": [
      "r505"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value",
        "terseLabel": "Total fair value of shares vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Maximum aggregate number of shares to be issued"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r505"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "verboseLabel": "Total intrinsic value of options exercised (in dollars)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r521"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "verboseLabel": "Intrinsic value of outstanding options (in dollars)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r490",
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "terseLabel": "Options outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r490",
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Weighted average exercise price of options outstanding (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r485",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Tranche one"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Tranche two"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r488",
      "r508",
      "r509",
      "r510",
      "r511",
      "r514",
      "r526",
      "r530"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.",
        "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by supplier.",
        "label": "Supplier [Axis]"
       }
      }
     },
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Specific identification or general nature of (for example, a construction contractor, a consulting firm) the party from whom the goods or services were or are to be received.",
        "label": "Supplier [Domain]"
       }
      }
     },
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedPaymentArrangementEmployeeMember": {
     "auth_ref": [
      "r482",
      "r485",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor exercises or has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Includes, but is not limited to, nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires.",
        "label": "Employees"
       }
      }
     },
     "localname": "ShareBasedPaymentArrangementEmployeeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Price of a single share of a number of saleable stocks of a company.",
        "label": "Share Price",
        "terseLabel": "Investment price per unit"
       }
      }
     },
     "localname": "SharePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "auth_ref": [
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of vesting of award under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage",
        "verboseLabel": "Vesting percentage"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1": {
     "auth_ref": [
      "r515"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost expensed and capitalized for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount",
        "terseLabel": "Compensation cost"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted average remaining contract terms of options outstanding (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShippingAndHandlingMember": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Packing and transport of product.",
        "label": "Shipping and Handling"
       }
      }
     },
     "localname": "ShippingAndHandlingMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShortTermBorrowings": {
     "auth_ref": [
      "r23",
      "r742",
      "r779",
      "r808"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.",
        "label": "Short-term Debt",
        "terseLabel": "Short-term borrowings, including long-term borrowings - current portion",
        "verboseLabel": "Short-term borrowings"
       }
      }
     },
     "localname": "ShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermLeaseCost": {
     "auth_ref": [
      "r716",
      "r723"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.",
        "label": "Short-term Lease, Cost",
        "terseLabel": "Short term lease cost"
       }
      }
     },
     "localname": "ShortTermLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r368"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual.",
        "label": "Product Warranty Accrual, Currency Translation, Increase (Decrease)",
        "terseLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r366"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Warranty adjustment"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r367"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Warranty cost"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r6",
      "r219",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r237",
      "r238",
      "r239",
      "r240",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r248",
      "r255",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r337",
      "r345",
      "r346",
      "r830"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r2",
      "r66",
      "r89",
      "r90",
      "r91",
      "r163",
      "r164",
      "r165",
      "r168",
      "r177",
      "r179",
      "r203",
      "r279",
      "r427",
      "r433",
      "r523",
      "r524",
      "r525",
      "r565",
      "r566",
      "r651",
      "r683",
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r730",
      "r838",
      "r839",
      "r840"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement",
        "verboseLabel": "RESTRICTED NET ASSETS"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r163",
      "r164",
      "r165",
      "r203",
      "r757"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r32",
      "r33",
      "r427",
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Issuance of ordinary shares, net of issuance costs (in shares)",
        "verboseLabel": "Number of shares sold at-the-market"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r32",
      "r33",
      "r427",
      "r433",
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "terseLabel": "Exercise of share options and RSUs (in shares)",
        "verboseLabel": "Option exercised"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan": {
     "auth_ref": [
      "r32",
      "r33",
      "r427",
      "r433",
      "r529"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate value of stock issued during the period as a result of employee stock ownership plan (ESOP).",
        "label": "Stock Issued During Period, Value, Employee Stock Ownership Plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r32",
      "r33",
      "r427",
      "r433"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Issuance of ordinary shares, net of issuance costs"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r66",
      "r427",
      "r433"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Exercise of share options and RSUs"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r32",
      "r33",
      "r427",
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Shares",
        "terseLabel": "Number of shares repurchased",
        "verboseLabel": "Repurchase of common shares (in shares)"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r32",
      "r33",
      "r427",
      "r433"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Value",
        "negatedLabel": "Repurchase of common shares",
        "verboseLabel": "Total cost of share repurchases"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r33",
      "r41",
      "r42",
      "r148",
      "r262",
      "r273",
      "r666",
      "r742"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "totalLabel": "Total Canadian Solar Inc. shareholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r2",
      "r3",
      "r90",
      "r148",
      "r163",
      "r164",
      "r165",
      "r168",
      "r177",
      "r273",
      "r279",
      "r433",
      "r523",
      "r524",
      "r525",
      "r565",
      "r566",
      "r593",
      "r594",
      "r615",
      "r651",
      "r666",
      "r683",
      "r684",
      "r688",
      "r730",
      "r839",
      "r840"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.",
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "TOTAL EQUITY"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]",
        "terseLabel": "Equity:"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of subsidiary's or equity method investee's stock owned by parent immediately after all stock transactions.",
        "label": "Subsidiary or Equity Method Investee, Cumulative Percentage Ownership after All Transactions",
        "terseLabel": "Attributable Equity Interest Held (as a percent)"
       }
      }
     },
     "localname": "SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of sale of the entity's stock.",
        "label": "Sale of Stock [Axis]"
       }
      }
     },
     "localname": "SubsidiarySaleOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SummaryOfIncomeTaxHolidayTextBlock": {
     "auth_ref": [
      "r573"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the income tax exemptions and reductions which have been granted by taxing authorities for a specified period, applicable term of the exemptions and reductions, estimated dollar value of tax benefits, and per share benefits.",
        "label": "Summary of Income Tax Holiday [Table Text Block]",
        "terseLabel": "Schedule of aggregate amount and per share effect of the tax holiday"
       }
      }
     },
     "localname": "SummaryOfIncomeTaxHolidayTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SummaryOfValuationAllowanceTextBlock": {
     "auth_ref": [
      "r552"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.",
        "label": "Summary of Valuation Allowance [Table Text Block]",
        "terseLabel": "Schedule of movement of the valuation allowance"
       }
      }
     },
     "localname": "SummaryOfValuationAllowanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplierConcentrationRiskMember": {
     "auth_ref": [
      "r211"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that purchases in the period from one or more significant suppliers is to cost of goods or services, as defined by the entity, such as total cost of sales or services, product line cost of sales or services, segment cost of sales or services. Risk is the materially adverse effects of loss of a material supplier or a supplier of critically needed goods or services.",
        "label": "Supplier"
       }
      }
     },
     "localname": "SupplierConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "auth_ref": [
      "r450",
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by timing of transfer of good or service to customer.",
        "label": "Timing of Transfer of Good or Service [Axis]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "auth_ref": [
      "r450",
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.",
        "label": "Timing of Transfer of Good or Service [Domain]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy": {
     "auth_ref": [
      "r265"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for treatment of receivables that are billable but have not been billed as of the balance sheet date.",
        "label": "Trade and Other Accounts Receivable, Unbilled Receivables, Policy [Policy Text Block]",
        "terseLabel": "Accounts receivable, unbilled"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "auth_ref": [
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred at point in time.",
        "label": "Recognized at a point in time"
       }
      }
     },
     "localname": "TransferredAtPointInTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredOverTimeMember": {
     "auth_ref": [
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred over time.",
        "label": "Recognized over time"
       }
      }
     },
     "localname": "TransferredOverTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonMember": {
     "auth_ref": [
      "r435"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockCommonMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonShares": {
     "auth_ref": [
      "r435"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common, Shares",
        "periodEndLabel": "Treasury stock, balance (in shares)",
        "periodStartLabel": "Treasury stock, balance (in shares)",
        "terseLabel": "Treasury stock, shares issued (in shares)"
       }
      }
     },
     "localname": "TreasuryStockCommonShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockCommonValue": {
     "auth_ref": [
      "r68",
      "r435",
      "r436"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common, Value",
        "negatedLabel": "Treasury stock, at cost, 609,516 and nil common shares as of December 31, 2020 and 2021, respectively",
        "negatedPeriodEndLabel": "Treasury stock, balance",
        "negatedPeriodStartLabel": "Treasury stock, balance",
        "negatedTerseLabel": "Treasury stock, at cost, 609,516 and nil common shares as of December 31, 2019 and 2020, respectively"
       }
      }
     },
     "localname": "TreasuryStockCommonValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockRetiredCostMethodAmount": {
     "auth_ref": [
      "r33",
      "r427",
      "r434"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease of par value, additional paid in capital (APIC) and retained earnings of common and preferred stock retired from treasury when treasury stock is accounted for under the cost method.",
        "label": "Treasury Stock, Retired, Cost Method, Amount",
        "verboseLabel": "Retirement of treasury stock"
       }
      }
     },
     "localname": "TreasuryStockRetiredCostMethodAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockSharesRetired": {
     "auth_ref": [
      "r33",
      "r427",
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common and preferred stock retired from treasury during the period.",
        "label": "Treasury Stock, Shares, Retired",
        "verboseLabel": "Retirement of treasury stock (in shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesRetired",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [
      "r0",
      "r1",
      "r2",
      "r3",
      "r4",
      "r167",
      "r168",
      "r169",
      "r170",
      "r180",
      "r263",
      "r264",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r523",
      "r524",
      "r525",
      "r563",
      "r564",
      "r565",
      "r566",
      "r586",
      "r587",
      "r588",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r690",
      "r691",
      "r700",
      "r701",
      "r702",
      "r703",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r759",
      "r760",
      "r761",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment to accounting standards.",
        "label": "Accounting Standards Update [Domain]"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.",
        "label": "Unbilled Receivables, Current",
        "terseLabel": "Accounts receivable, unbilled",
        "verboseLabel": "Accounts receivables, unbilled"
       }
      }
     },
     "localname": "UnbilledReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UndistributedEarningsOfForeignSubsidiaries": {
     "auth_ref": [
      "r532",
      "r579",
      "r801",
      "r848"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.",
        "label": "Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested"
       }
      }
     },
     "localname": "UndistributedEarningsOfForeignSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r533",
      "r544"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation": {
     "auth_ref": [
      "r544"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Foreign Currency Translation",
        "negatedLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r545"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Unrecognized Tax Benefits Decreases Resulting from Prior Period Tax Positions and or Lapse of Applicable Statute of Limitations",
        "negatedLabel": "Reductions for tax positions from prior years/Statute of limitations expirations"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "auth_ref": [
      "r541"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Amount of interest and penalties accrued related to unrecognized tax benefits"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "auth_ref": [
      "r546"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "terseLabel": "Addition for tax positions related to the current year"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation": {
     "auth_ref": [
      "r544"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Foreign Currency Translation",
        "terseLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnsecuredDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt obligation not collateralized by pledge of, mortgage of or other lien on the entity's assets.",
        "label": "Unsecured"
       }
      }
     },
     "localname": "UnsecuredDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r205",
      "r206",
      "r208",
      "r209",
      "r215",
      "r216",
      "r217"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_UseRightsMember": {
     "auth_ref": [
      "r583"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Legal right to use or benefit from the use of natural resources or access. Examples include, but are not limited to, drilling rights, water rights, air rights, timber cutting rights and route authorities.",
        "label": "Land use rights"
       }
      }
     },
     "localname": "UseRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": {
     "auth_ref": [
      "r157",
      "r158",
      "r159",
      "r160",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward.",
        "label": "Allowance"
       }
      }
     },
     "localname": "ValuationAllowanceOfDeferredTaxAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "auth_ref": [
      "r160"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves, Deductions",
        "negatedLabel": "Accounts written-off against allowances"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDeductions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "auth_ref": [
      "r157",
      "r158",
      "r159",
      "r160",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves [Domain]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "auth_ref": [
      "r157",
      "r158",
      "r159",
      "r160",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves Type [Axis]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ValueAddedTaxReceivableCurrent": {
     "auth_ref": [
      "r36"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.",
        "label": "Value added tax",
        "terseLabel": "Value added tax recoverable"
       }
      }
     },
     "localname": "ValueAddedTaxReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableInterestEntityDisclosureTextBlock": {
     "auth_ref": [
      "r618"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a variable interest entity (VIE), including but not limited to, judgments and assumptions in determining whether to consolidate and in identifying the primary beneficiary, gain (loss) recognized on the initial consolidation of the VIE, terms of arrangements, amounts and classification of the VIE's assets and liabilities, and the entity's maximum exposure to loss.",
        "label": "Variable Interest Entity Disclosure [Text Block]",
        "terseLabel": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "localname": "VariableInterestEntityDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_VariableInterestEntityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Variable Interest Entity [Line Items]",
        "terseLabel": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "localname": "VariableInterestEntityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "localname": "VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableInterestEntityPrimaryBeneficiaryMember": {
     "auth_ref": [
      "r600",
      "r601",
      "r608",
      "r609",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Variable Interest Entities (VIE) in which the entity has a controlling financial interest (as defined) and of which it is therefore the primary beneficiary. A controlling financial interest is determined based on both: (a) the entity's power to direct activities of the VIE that most significantly impact the VIE's economic performance and (b) the entity's obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. VIEs of which the entity is the primary beneficiary are included in the consolidated financial statements of the entity.",
        "label": "Variable Interest Entity"
       }
      }
     },
     "localname": "VariableInterestEntityPrimaryBeneficiaryMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VehiclesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used primarily for road transportation.",
        "label": "Motor vehicles"
       }
      }
     },
     "localname": "VehiclesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r485",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Axis]"
       }
      }
     },
     "localname": "VestingAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r485",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Domain]"
       }
      }
     },
     "localname": "VestingDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r184",
      "r194"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Shares used in computation - diluted",
        "totalLabel": "Denominator for diluted calculation - weighted average number of common shares - diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r182",
      "r194"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Shares used in computation - basic",
        "verboseLabel": "Denominator for basic calculation - weighted average number of common shares - basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 15
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(7)(c))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(9)(a))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1(e))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(c),9(a))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "8",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=SL94080555-108585"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4273-108586"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4332-108586"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(3)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(n))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21728-107793"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(10))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "https://asc.fasb.org/topic&trid=2122394"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1377-109256"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1930-109256"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2029-109256"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e777-108305"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e543-108305"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "b",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org/topic&trid=2134510"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "310",
   "URI": "https://asc.fasb.org/topic&trid=2196771"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=SL6284422-111562"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27405-111563"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117546-209714"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=109237563&loc=d3e33749-111570"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(21))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(b)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "323",
   "URI": "https://asc.fasb.org/topic&trid=2196965"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124256539&loc=SL120269210-210444"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124256539&loc=SL120254536-210444"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124266218&loc=SL120267834-210445"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL120267845-210446"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(25))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919260-210447"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919272-210447"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL120267966-210447"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL120267969-210447"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 6.M.Q4)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122651532&loc=SL122037091-237805"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124268681&loc=SL120267897-210452"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=125515542&loc=SL120267917-210453"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=125515542&loc=SL120269220-210453"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL120267853-210455"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL120267859-210455"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL120267862-210455"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/subtopic&trid=2144471"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2420-110228"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org/topic&trid=2155823"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "410",
   "URI": "https://asc.fasb.org/subtopic&trid=2175671"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394232&loc=d3e17558-110866"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=6397426&loc=d3e17499-108355"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12069-110248"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12069-110248"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3,4))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(4))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "460",
   "URI": "https://asc.fasb.org/topic&trid=2155896"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=d3e1835-112601"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466302&loc=d3e4852-112606"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031898-161870"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6036836-161870"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130561-203045"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130564-203045"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(l)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(o)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(p)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "https://asc.fasb.org/topic&trid=2235017"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-04(Schedule I))",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=126898705&loc=d3e5864-122674"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "40",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=109244457&loc=d3e16649-113920"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126928070&loc=d3e28200-109314"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a)(7))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126976462&loc=d3e36027-109320"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e39076-109324"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5419-128473"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6578-128477"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6613-128477"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=d3e5283-111683"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568447-111683"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568740-111683"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4613674-111683"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569655-111683"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4616395-111683"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5728-111685"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=SL6759159-111685"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5747-111685"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=SL6228884-111685"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4590271-111686"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "https://asc.fasb.org/topic&trid=2197479"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(5))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)(ii)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4CC",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL109998890-113959"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624181-113959"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41675-113959"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41678-113959"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=127000641&loc=SL5629052-113961"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "25",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=121577467&loc=d3e76258-113986"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "60",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594786&loc=SL75136599-209740"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28228-110885"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28129-110885"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30304-110892"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895"
  },
  "r681": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r682": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32022-110900"
  },
  "r683": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r684": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r685": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r686": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r687": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r688": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r689": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "https://asc.fasb.org/topic&trid=2175825"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r690": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "832",
   "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232"
  },
  "r691": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "832",
   "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232"
  },
  "r692": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r693": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r694": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r695": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399"
  },
  "r696": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399"
  },
  "r697": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399"
  },
  "r698": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629"
  },
  "r699": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r700": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r701": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r702": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r703": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r704": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r705": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r706": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918631-209977"
  },
  "r707": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977"
  },
  "r708": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r709": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313"
  },
  "r710": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r711": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918666-209980"
  },
  "r712": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980"
  },
  "r713": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980"
  },
  "r714": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r715": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r716": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r717": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r718": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r719": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313"
  },
  "r720": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r721": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r722": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980"
  },
  "r723": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r724": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/subtopic&trid=77888251"
  },
  "r725": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL122150809-237846"
  },
  "r726": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r727": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r728": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r729": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226049-175313"
  },
  "r730": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r731": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r732": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r733": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r734": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r735": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r736": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864"
  },
  "r737": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864"
  },
  "r738": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "https://asc.fasb.org/topic&trid=2122745"
  },
  "r739": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124437977&loc=d3e55792-112764"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313"
  },
  "r740": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r741": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r742": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r743": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662"
  },
  "r744": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r745": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r746": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r747": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r748": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r749": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226006-175313"
  },
  "r750": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)(i)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729"
  },
  "r751": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)(ii)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729"
  },
  "r752": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729"
  },
  "r753": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733"
  },
  "r754": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55415-109406"
  },
  "r755": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411"
  },
  "r756": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r757": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r758": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r759": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a-c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r760": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r761": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r762": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r763": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447"
  },
  "r764": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447"
  },
  "r765": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447"
  },
  "r766": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447"
  },
  "r767": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447"
  },
  "r768": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447"
  },
  "r769": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r770": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447"
  },
  "r771": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447"
  },
  "r772": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447"
  },
  "r773": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447"
  },
  "r774": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447"
  },
  "r775": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953"
  },
  "r776": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r777": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r778": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r779": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r780": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r781": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r782": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(17))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r783": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r784": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r785": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r786": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r787": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.7(e))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r788": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13)(f))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r789": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13)(g))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580"
  },
  "r790": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r791": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r792": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(24))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r793": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(25))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r794": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r795": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r796": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.13(h))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r797": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r798": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r799": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580"
  },
  "r800": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823"
  },
  "r801": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=6479915&loc=d3e66715-112838"
  },
  "r802": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126941378&loc=d3e61044-112788"
  },
  "r803": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r804": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r805": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(5))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r806": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r807": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r808": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r809": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580"
  },
  "r810": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r811": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r812": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r813": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r814": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r815": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r816": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r817": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r818": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r819": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580"
  },
  "r820": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(10))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r821": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r822": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(20))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r823": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(21))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r824": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r825": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r826": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(3)(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r827": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(3)(d))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r828": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r829": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r830": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r831": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r832": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r833": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r834": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r835": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441"
  },
  "r836": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r837": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r838": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r839": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r840": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r841": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r842": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r843": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r844": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r845": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r846": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r847": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r848": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=6487024&loc=d3e29054-158556"
  },
  "r849": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r850": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840"
  },
  "r851": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840"
  },
  "r852": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=120401414&loc=d3e603758-122996"
  },
  "r853": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07.1(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272"
  },
  "r854": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14)",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611322-123010"
  },
  "r855": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "320",
   "Topic": "946",
   "URI": "https://asc.fasb.org/subtopic&trid=2324412"
  },
  "r856": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r857": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580"
  },
  "r858": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942793&loc=d3e3073-115593"
  },
  "r859": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r860": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r861": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "450",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491354&loc=d3e6049-115624"
  },
  "r862": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916"
  },
  "r863": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916"
  },
  "r864": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916"
  },
  "r865": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r866": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r867": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r868": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r869": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580"
  },
  "r870": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r871": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r872": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r873": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r874": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 4))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r875": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r876": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691"
  },
  "r877": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r878": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12"
  },
  "r879": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067"
  },
  "r880": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r881": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r882": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r883": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r884": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r885": {
   "Name": "Form F-3",
   "Publisher": "SEC"
  },
  "r886": {
   "Name": "Form N-2",
   "Publisher": "SEC"
  },
  "r887": {
   "Name": "Form N-3",
   "Publisher": "SEC"
  },
  "r888": {
   "Name": "Form N-4",
   "Publisher": "SEC"
  },
  "r889": {
   "Name": "Form N-6",
   "Publisher": "SEC"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r890": {
   "Name": "Form S-3",
   "Publisher": "SEC"
  },
  "r891": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r892": {
   "Name": "Investment Company Act",
   "Number": "270",
   "Publisher": "SEC"
  },
  "r893": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "313"
  },
  "r894": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r895": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r896": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "413",
   "Subsection": "b"
  },
  "r897": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "462",
   "Subsection": "b"
  },
  "r898": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "462",
   "Subsection": "c"
  },
  "r899": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "462",
   "Subsection": "d"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r900": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "462",
   "Subsection": "e"
  },
  "r901": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "486",
   "Subsection": "a"
  },
  "r902": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "486",
   "Subsection": "b"
  },
  "r903": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2"
  },
  "r904": {
   "Name": "Securities Act",
   "Publisher": "SEC",
   "Section": "8",
   "Subsection": "c"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(12))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(22))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(23))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>148
<FILENAME>0001104659-22-109460-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001104659-22-109460-xbrl.zip
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
M>O>C_Y&.R=(,/.\--1]]D5:-'98G\(D[Q.NM!D^-75Q3O[8.T@/]U9HZJM5
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
M[SQA_1W&QSKB5"!;0VW$LU5(_@[!XUVI7E2JSGQ\T7:P&JNHP[JTQ5=C?>9
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
MYK./RP/E3P1.^J\ZH*=IZ.N.J>)S+WBAZ8A=3VJ;@EO58]UE20-:6^]*[EC
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
M1G<E\?HH9315@*&@LRYM+'-D9L@OKC)KI?JNH.,M#-UY MZ;8Q+5<[U%P1:
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
MLN>M0)+6KN._>'/?RG:0 4BD#?4&-0^%27N_.MQ=K^([T.KO"(]V4;U.5FH
M[^+X2CH"=CR5)Q[5%9N]K[*S]V#X:V\X&TT&!S%;Q\A7V>U5^E=[3]@<?7RB
M?SQATP!!W7)Q1T;S"7 !HN?E95=,Z^6MQ%"-/.&G,RZ7PJ+@C?PUDI\.^FT0
MQHZZ8GS2:QX@H8)@%$Q@NH;2AS9TWX!)7@T08Y1>\P 9%03#GQ]EQTM?ZL5B
ML<7O.KOXC2>C_^MU9EH;;U9F>UC_Z &?&U"!9XFX$<CK))103VKINN)/*1^(
M$H+"WX$9Y/!R(2&4Q%"+=93>CCI#B9.99 1J/6AW?'!9A?3>N!/[MRJ1OM5.
MPTGG0:OF1H.:JU/XE.@F=_(=]R:S?_Y%&S^VAW@2'G:UWM^?!V,2]?(7;=B;
M'<"&I$A"].#+@BIU#>;\3_0^HZ@L$M+D(3^X&A58=J\H-.TH8[IL<VEE)\D!
M[R5[#7@82X[O6I&K'I1"Q1MX2D05.JBDC@;LA-&LC5U"''*6_+9A^ L_.,D(
M%K#!8JE#% 0\ONF(<@#$K'0T?%<0!U=J.LG^XQA6%RP1,& @9/QW"P3<V69[
MX2 /_JY'EVN%<J37U?S1Z-I>!*=\<OY\Z14M304UU-$=4<ND+#@U]QB9" KA
MO<5M=F\Q'3VV)]IX]+,WT:;_G,YZ3],][2AH"1]X4H;G%*I[H>>9-;CZ6K5-
M=89?,3]Y*WU]@,L>)._\@#']EHOPD+S+.VB<M8??!P^/O<C=>BA;?.(J]\ C
M? >9-VZR^V56X?VGD*-UIVC99%5+Z_+]U>W5N:3!RT?.5H8X<6P*GE$6X$AN
M2A)3DCC9E(8:2K\(6H'DXCN>JW_5$22Q+!@-P/:?U[.]X ZTT(1]WLI.V+^V
M)X,VF:[QS-V;]*8SK3><#6:'$2B2^^+;]B\EW >D[5/PK]095?E"W+Z65WJB
ME+F%#$YA"I4C4>*0&&%U6])[C<GS,>9QX2'(F[/7JK\M0$\RGEMBW[U+/.E
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
MI9R(VR>H[)3<!36:QK4HU)AANE-QPW#>C8!?SD*!PS#N_:__#U!+ P04
M"  Q,%)5V8TL"[R"  "EB@@ %0   &-S:7$M,C R,3$R,S%?9&5F+GAM;.R]
M:9/C-I8H^OU&O/^@Y_=E)F)J=?=TNV/ZWE JE66UE2E=254>SY<.)@E)M"E"
M#9*9)?_Z!Y"B1(I8N>&HK.@.5V82R]D G T'__5_ONZ"P0LBD8_#OW_WX>W[
M[P8H=+'GAYN_?Y?$ZS=__>[__.__YW_]U__[YLU_WRVF P^[R0Z%\< ER(F1
M-WCUX^U@A?=[)QP\(D+\(!C<$=_;H,'@P_NW=,2WWP_>O/G?Z1!W3D2[X'"0
MCO7Q[8?\P^@X&@[_1GN]^_"7=Q_??_PX^/YO?_[/O[W_.!@^Y@T?*6AK7]DR
M\,/?_L;^\TQG'% <P^AO7R/_[]]MXWC_MW?O7E]?W[Y^_Q:3#>W^_L.[_WZ<
M+MTMVCEO_#"*G=!%WPUH^[]%Z1^GV'7BE$"%[E^?29 /\/V[TUS"%NRW-WFS
M-^Q/;SY\?//]A[=?(^^[(XCLL\8D>7/VU8M/'8J-__PN^UALZDN&+J"=M:^
M<B37AQ]^^.%=^O6[__V_!H/_(CA "[0>I'_Z6WS8H[]_%_F[?<"&2O^V)6C]
M]^_<R/\7Q?KCAP\?,YS_O_NC*.7_#D-O',9^?)B$:TQV*<6_&[#Q/R\F)5!<
M)W0\WPDC'#CDK8MW[UBK=WH#IOAI$?E=0P27,95I!L@(,U!]CXGXZ8_1;#W:
M.N$&19-P_*^$@FF$K/G@<!&?.X3^?8MBWW6"3JEP,5-_)+GW(S? 44+0, CP
M*UMJ#YC0;<_SXRF.(A2MG.< 168"KSVH#41'>+?SXY0/="52!L7T4*&'B]\0
M5XUQ;: [(QLG]']/=QD*UYSX%*2]$PS=V'_Q8PK=DT,(_?R"[E'L^$%=_.M,
M9(,@RV2W<\AAMBY Z.(D9=><KE7&L*+<WN/D.5XGP0*YR']).=F,4&T" )6
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
M-O#L-40DVOI[@;%;^LXUZ2HM^H9<:*=>M)!#WX[E*2(7%L[6JRUY 5YN-'+
MLA /3EC)ECV[^/WD['BJHZB9(%#*;]@3.@NT/^X PPU!Q_=7RA )Y5:[+Q=Q
MH][- L925N :X/0<.^;!GZ\)([BMZG?%BV'YY6B)&B=J+M0W9!V H"O5O<0=
MC%!N3Y/2X #6A:5WO4@,?%']D0-M=;FP&IZEZA%W=#''[-:3>,U(^PBE2-G+
M.O9'>*3+1])#$_-*GZ8+2)<=6!NBWI>1 H7B6E* ;M>W("KQ?7=0^/\T>HHM
M8+V^D.BA],5K]#2G1[N>>C.686/X^K?Q=1 J6?5ZB/1N/"W8"XX"B^GTC6\M
M%+_V"2TWN^GBJQCBYCE,(M)@[BR]&B8%L$[62!D<JWO^ X,53?T75OV\_"C
MW2$KXA,XD2S/R& $X9YG. 8L.IWA$SH":HY2AUZB<9J>%_78C!O!W/L98H1D
M\2RI@9SE,-)SX+N?XV-=55;\/&1U9Z41(W$727A#W@D0ZFJE3MG1F PMJW1Z
M',*F<%D(U\@0*4=F=!#H786[+.LGT.9XS;AJDJAAO^BP</@1 /$5*&%;&6+\
MUDVT005IL<;TO:J)?'ASC5$*I]6#9.7O_' S6Z<U?=>(S-:?,/9D@F_04WP'
M0J\O/'I(#QBMOG5ITMXQ8\8X7 /"W@\<+91*MT1T48%Q;>0NB?P01=&Q"*W6
MM1%>'_6U$5$O&]AG($B77*F-&+O+5JU=#U$0&4M@L'<MA ]T<7E4@+4;)$H<
M]A@N0C.J+&;O6&O%B13=Q $3C8Y R* 3,E)T,R)#Z\$C?1YA,\CZ#R(I42G%
MD310L+KH2B\KLQ>5E4$D20^AC"GZ0,!;Z5>0]-#'NUU/@AXKL#8\O2\F*0+%
M=:0 W.H2^APF4>($,S()UP3]*Z%PLD(ODB4DZ2$4)44?.'A+%Y&TCRGN[2TD
M/89@ XAZ7TI2%(I+20FZU<5TCXC_DMZEG(113!*FG[+U+EE-LBY"D5)ULHHZ
MRSPACJM.8)!UT4"=WZGI8M+D!]:'J/?%)$>AN)I4H%M=3#\B;^.'FWL4^9M0
ME:/*;RR4(G%S$(A*EXVHN0&R[2T7)=VQ'AR]+Q(1X,7E(0,8W#D3Y4_-WQV.
M<*<OXS&;C7]9I]E@1F>3WG#VEEX1&IVU5VVO6GS\'ET<5D:LJZY./J @SC =
MS#C+EX^1U?6;O99R\G5JW,&0]!"*GJ(/'+RE2T[:QQ3W]I:>'D.P 42]KS$I
M"L6%I 2]_Z*8QW=V9NNL.-0CBK?88YD9646VZE\1DMP1;#(<-^6@Z8 ]D5$$
MAC#Q0MZ!2PIUET:%.=OA'-:%M=\BGHV0R_,ZU$C9]>$[>S]V@L\4;WJPJQ*!
M!:W%/FQQ>[NXIJ#(7?;<QCJ87C1O[*A7TASK@-&_?UX$=\DW+X37;E9%_H3:
M8>FP#6 98U?F1A2V%^<;R'K8P/@,!=N=CFDOV0ON\O0*94<Q#;2Z-D[$T. -
M-@6J_\P,,1:EK PMZ.V>. 1Y?OS@N"RA5Y:-7FTHWGVY3:TC)S]@.$TU$6SQ
M<)'1&*OG[_]4X0!<.E $@%IV&#['9T>*U!EXV5#BZ.,UM8Z<\GZ4J+DFHNW>
M>)+2&^O!8,$Y5P6Z'%82 VMU&>2%M!B BD0A7E.AA(@: T!1NA3XC;71;&\9
M**B-=6#H?1GP@2XN!#&P -S/*^?K,(FWF,B5('YCA>.5UQP$HAJNYFIS V3;
M=C!+Z%[Q+?/AL.16K@)>]2CS ;9;9CR,J9$3)"SRM$1N0M(K?UDE1N0]4 ZQ
M=PB2.'6 S]9CAX1^N(GFB"RW#D%W!_X DO75X8Q"N>UX3C!\4^J"JFZ&%&Q7
M-^Q',K 94OV71.^2"L4]20=[JWM3&LA&WIQ5$RQX52)6#/[\1;+5Z \@E'NS
M(2P32;KTJPVUD&YO>=?B!E9!U?OZ-$&C_$ !#WR[YJ$?HME:VSTH:BZVGR0=
M@* [98_*$[G1J.AFA/YEQ\:&I)HGV RB_LU*(0HETU(#=(BGE?GQ5.<\ G(
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
M?4C!]ACH#X&SX:5VE+_W2NB&)N<%Z-8I?(\BE_C[8FX9C]"E9KW2NZ&!R<?
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
MO.')VP.XAJ<K6(5'3F48=7WXC-G[0H<YW0X0NR-.:>8$Z2$X<O:.\ Z-65<
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
M:2E=R 1GN_E=8DC/<#XY.[E=;CP*#!N]AG!K<IF/M>53\@4%]-#Q5LC=ACC
MFT-:[E:>.J;L!<!FKRG#Y8-5@:;ED-UNG\14]\+K^-6IG+U2!FKV!6 FM,!&
M362A[K@J,U^OJS5#WP0SOJFO/FNO+YM-@I,LZ*[N!GO)2CFN1@Z.=2F!M9C6
M4_!&F'-4.!  ;T$'/!:B>Q5<%R=>J#H!\#MTP$U@Z1=%B9JM+X$5!3L4G0!D
MK-7EG HU.)R38/B0I)=O"JCDM3*>HY@XE3H%[0P)(+>M@_6J@?A5R 0'@R>J
M!*Y>4?""'JE&N*VA6VD-"MOFU5XKNJ>U#DFN56)^00Y9O>)6!.4T%FS-O ?Y
M.%'BJL6"SBQRV-<>#;9"WY=H9+2X9N%XP(GP!G3-P6!;!SV)1D:*JY8,VK8]
MR4@'@VU]]"49*2FZ3NNH!]<P]%9;1)"SCOEUQ%L9%K8Y8B0&[1'%:A+$@^,3
M5A$./2*'_<Z<SF99$#]4LR >AI/%X,MP^GD\>!P/EY\78U9,#7X6Q(D81Q:&
M7OX,H\\*-J0$\F;A KD)(7ZXH0V><$CR7^^<R)<F2;0X?M^15^*_I"\O3=*$
M4R8E"S_Z39(T(>\")DNB=9:78[(R&EB.I>>@C:C]RS8WY=4%>1<8^1 Z@LKG
M$ \GJQRB!PH](Z)XX<1H^>KLI3%R46, ?AX=22NR1(2*56;\B+P-7>[W*/(W
M858]5;SUB1J#>:NMTTU/A#TP_DFW.G%S&-N<7!SEW "QN>7PL&H21Q#/&[8B
MG4NC)X!M3R5QY5-( R<@ZL(9L.@318<]$G=W. *]0$&*:;3U]X:JH<Y@_>^?
M(O]CWTJC#G4@[*]%J'0V6%Y[&#ML,X'G[, \5.VF9#K1]B' KT?XY"F8_+9P
MMEFQX)62*_EHV'7/MK"75.+H'?@=IA#2,[N@5<FGV][&?GUIGN<M[PEG8 ]W
M[,D@Y2E^V1Q"\+AK21%C#\Z=>VE0F[IW/VJZ=]\,\ID&A$XUB.A<5^3SC<XL
MC>Z<@#V,LMPB%$_9M)0O=P>^)^.D#!14?2TG< <3]OPV  =HB=HO;@[/&]R9
M,)0>&Q 2Q.Z3#QRPI,J\K ,,;5XEJ2JNM*&P"\*U!4'+SJKCZXGB%YU5/0!H
MY6H1.H505=A870KI"])4,7 SF(Y7N626DK0' ,5(CS-:V'2[& KZFLF*$'<#
MD+=6;UF(48+@\OG60B*]G/RW&,DM1J+D!]UWO5-@0'KH<%L"4 -,8B!<',#%
M/*XLZ445O^AEL[MEP4 (7EQI%LS%>[3'1VWE[W=)NP#8%DTS8N0(06+/+ 7#
MA#OE'@ ,I(;,*>-S2R!KP6KZ)A+("@?MZ?15A>T4?:R%X;1PX8;5.M WKCG.
M=J++;'W^8^IDR8))3SB>K=?LUPV5]2@>X8"5G" IHG*):3(TJ%U84\3:P1S.
MK2T%/KE/Z-"-H!@,#^J :$=8#+ '%^S-4Y06R,6;T/^=74Q:QA3<-(%IMI[M
MC]7=3:/ WVM'@1D(@W]C0/S[X S&@/[Q#,@ KP<G4. 'B<VSP>X.DY"R#)U0
MYAUQ9>M,%C3N$X";EZ6=8'+_0G/SNMR\+C>OR\WK<O.Z6*UTN\,>50ES1%2U
M;?FM0:G5>CP1XG+S@K50V.0;\X)Q5")]=YB\,P"_F YVS>[\U%<5K]EA5J .
MM<JEU^9.Y!,7.VUA7%!'9RM29X:_5?_'%X?X3*;SK6X<QFF6E)%KX\/[:OV2
M+\/%9,C><)D\K<:+\7(U&#^M)JO)> G?57$N12XBC]XS+HK>+>P $8D+"-'?
MSLC07]+7K7'@>TP.\\DY3@%Y4S#. $.VL&4JQZS]<[P&/[@VNZJQ76M=1[1D
MU =AGW-EZ# G_LXAASL44LJZ/OU1JNR:#F+1AM>3O^+99HH<0':J]&%E+VN*
ML"8^_!<T%/OC]:FO[-:QR/Q//P%0(FMP+(.]ZVJ&<X)_16[,+7W/:P# ;V)
M2QX&<&+0Z>T/Z:,#I18 G"0UQ+B$ AS:R]]Z@/.F0PV*PR/V<HM)O$)D=X<)
MP:_4WA51GML20%73.B<N#Q4X/)GB<,.@NT?/(O]-N4F?7/A+:UPHXP"'_.FV
M6+AY)CL 2LWZ9,-?VST%2GC 886:"]88\$-[Z\"(]MT^"_U"04Y=G9-PN%Y3
MJ*C):>A4_,![&OK+>+EB.5)+^O-@^/ PF4Z&J^OR*;)'OF-J-,=;[!4(I>=2
ME'?NWH.E@J3Z5X38:YT"KV.SX0!Z)G68F[O&FB'?N_-2!([0@:GJ8-^)V88T
MY]Q48=N!8;] "QPA@MW??L2!Q[3/:>"*K_A+FUOV3.H)U\G>EZ+2M3]E=#S^
MENSXFX1KXK# GLL>/GA(0@J^A ?Z?2UZM&HP1!^OKKFS3'[?XN3!#YW0]9U@
MBIR(RL<(3V-^\IUN)XM>L1K\T$"H:T:D]@ /;'[U%\T^%CUD-=B@QJ>38V%$
M_%V$0\U30=S:HG.LUJ$@QJ0#,O\CB;8HW&0K+=WW5LC=CO!;Z4ZCT\NB,ZP&
MV74PZEU97;"45H'14?@&IG9./0NB@(D="G/EO/+5OJ)?$8<2!:U)Z2,EQR[9
M":EX\=VRCL[A>$[&"T#[)Z3S54[(\G?+NK6,D&5 [89T5'M2Q1MIZK:: DBT
M,,>2GW,AW[>O+^5"@(^ U<+6 !(SFG%8B!F<Z 8?Q-EKB C+<Y]3983^[FQ$
M[F6#_@!R0[I@)Q=7B"&4E?,UPV!%:&?'3>\RF,95*M7(Q7&5-P,ZXP"E4P[B
MPIRWB,LMXG*+N-PB+K>(RRWBTKDKF7OJB:P/K1Z]FQL&>%R%?2'@E+9ZM:12
MQ&.<X0 6S0M#CM;![F9B]&MBU%RD;=H4ECFZ0$[ 2DWE-U1G(344]C@25D$S
M'\9B!*]5_LIP[/I O$<N0=2BFJV?D.1B![>9Q:!>G2V3BP-$TSR-]1:^F5KE
ME>IP,JL\G6S@GV>[V>,W>_QFC]_L\3^6/?XM)'LUM\TU$+JE00)+@[SE?;66
MZ]ASWM>/F"11RN#E6^?M/1HY>S]V@OS"3OIY&'KIN[@1SEJB:/YRCQZ_^BZ>
M^-QN>7,QP_J9][KR*_NAR2UYL+.<33O)@R962_(<^1XK<[)TF)JTC+$K*ZPL
M:7_%R88:V-GETAD:)FRS=<&W("V*K-,11FEDI2"6^*2!EMV2HO.9O(KH^3N
MNL?ZXE4J'WK&P2JMYVF)0C0/'#>- TD)+VH,(8^K%A=$"+7&D@BY;S?XY9V'
M_(P;](<S$^@O_YRBC1-D%[@Y)P>W1?]G1=ULJ\I9P<6G1VIGTW)W_>IGNWN[
M1#AR2I;!%9#1PM8HHG3/IO MR?F6Y-SD:'0.&0)XZ%+4"#++>M;O#N'X;"0#
M^JA"#W%_:TD+\/*B>WR8@-5O9\'W!TH*L[6KV1= 1;YFC-7$$Q!3=WO')ZGT
MK378*&H-H+!?0\:),(/#JM06FT11@KS[A/CAAFX3/O:66^9E?4*OZ2>AXJ39
M&4!IP(;JDR:B@/C*0*.&LRM,QR@T % TL"%_"LATG;CUE#!\9NO/E%+1/"'N
MUHD0-Q%6U!) <<!ZY)9BU37=O^6\9$$%P09<^L;2E+^QI-8/[_LS &Y)KAK\
M:-7I C3IE2459?\9?]VC,$)FZ:T?J\4\I^/A<LS^98,.4#8J_#36*:+LR"AQ
MCR*7^"D/9+FKTAY_X%(X@F6C0>!;_9MOI/X-W+(MAO5O )5MX:\?51A#V<M:
M[$(3GU(E;-D6<GU1BA21$8[BX7.4/ELJY&&E'8"X0RW^51"!8V-D>=890@M_
MLXVI-1NA5$D;[C")_=_31T0%/-+N#2#M12AWI6>D=1&"R<%3??U,_]3@6J4'
MB#5FR*D*$G"X,Z,:(Q69<'-"2L 47D, <3@M7O!@A\."T[LV*A;P&@*(F&FQ
M@ <['!:H*&^)X()(EQ;!@=*9:2?EY<B$8K;.WXB7*LSRCB!VHYK:LQPSJ[ZH
M\VM;9DZH[ZM.J+O98C'[>?+TZ0J>D&'O6YT?$9=YG+@M^UU7(X(\/WYP7/8B
M$2_M5=80C"]*0O+2.YX<'*SN:F6 I#<@^$UAW'D0"Y&8^B"N-[#]E6Z7*6#2
M='M>0P"6GTQ^RD^.5<'O(!+T,R:_L1O-V36]'"SQ/3EY>P#VFHJ^&EATD9R
MPSL_9%=HE?*KT1Z \J-%9CD6710MR V/)QRCN7-@IXJD6H&D-0!32XO$,ARL
M[M.4]P2Y."$1GP.2=@"L+MU=F@/][?:3UDU9A?YWN^K4^U6G)AOO\/=DY_R$
MU\FO_KWC^^[6_]&)H\2C"&SQI[>_O17OPMI=(5_)TD:BZVHQRR1$(2*;PS]\
MYVM:JD9>]\"@LT7ESNQ*G!R-KCDP)_A7Y,8__:1)]$I[B]J=&9TKD'=-VD<G
M3-8.N^A(N;K:.G[@A%[&7<D&8SR$1=W/C $ZR'12&BR,\?[!#UT\CP]LLF'H
M?4K"$'G.MO!G69TPLQ$L:H1*CICBT@%#'J@"^@]G[X0H0J=B%K[L-4A5#XLW
M0Y0$5\'>Q2X4^>F".ZXMRF#Q.AQMG7 3;1-YE;9F UJ\&*+>H9JAUNL94IB_
MU@'"ZV_Q%DF#TX.'B=W2*@'R-LA;QDZ<1)(@!Z<=F H?FC$.#@IP2"^-<'!;
MP@AP".5'2'D0X8TTN^L(UC :X2!P8D2<X&<_WN(D3M/ I/XTDP$ A$,DLE9D
ME E65OE77O)316JPL+6UE& %_$6><'>WZTL!9FA,<;BA\K2CRDKJ4&<_C_#N
MF:+O#7>8:OB*_&#300 $R@PY;8(=G!RDM)C_*49RSFX1L%'<',!664]02ZF1
M0O3@<(QAR*!CV(X20K)M@L<L;DL@"ZL9G[B8=7TG-)_T+!:S\.CARZY)\KEA
MV!= Z+H^?PQQA;.HU(O)VB(2!+^;+Z)N%D]K^QN+U[,"VE/LA,*;8_RV .+C
M[>UQ%[C!8=22E2I''L-4P)Y2"P"U=)HSI801'%9,"]E#>4[& C'*T.WWM ^/
MG#W]%A]$B\EP$" GE::*;HH=3.9JL [,Z52#,=TK<4//\[/QLL5^3YS7D-4$
MHMB<I(";A:'7$<C1HZ"]"49]E:7B+5 >(^3M@9PR.O27(]*7-<.@O=#/'QT6
M\HA]%"W0_EA[=;:>$S]T_;T33,(G]#5>O:+@!3WB,-YR2^.T.SZ 0F^Z;&T7
M\:[%X.0R9O!157-) 2-.C )Z..ZI>H0\BL$>D?@P#QRJ&X4>*RBTWPGLW$;#
M 2@OI\OD1GC:YRDK!!72X;@;K%%W ,7FVN-9 2_[/)H3^B??FSJA]_E8WJ#N
MBN,,!*%H7)N+C8.B?18N$$7.=^E/(R?:UN/>Y1@0JLNUQ[A+[.SS;.BZ3!FF
M)[2+_!?.1=<&X_3*N_I1K088]L2_K*@A%RH)MZ2]>N5-?7>&-CZ]KJ22ELL\
M:VGV,WY%9'F(..']6B/TRJ'Z?HU:N'7-K:/?\A3:Y#AM)>UZI7Q#KP8? SC>
MO#3$K!_#%3?OE2GU71UJ1.#PIN#=EW.%U[!7?M3W4<A0 ,>)HKS(65%NV2LO
MZKL2I#C 889>V*Q1XE?/+*OO23!%"PX7J1;B(N2E3_&P9S]8/;[96K*R9!UZ
MS2*J[S[0004FAQ@ZD2+J)VG?*W^:9\I*,('#GC(^#XZ+E!L?OWFOS&DGN96/
M"%3>L$-4BRM9PU[YT3R3@8="7T':5(N?.R3V6<2*E>C+*KOZ+'H5Q7Z<L%FY
MYK[Q$+VRI:&];XP<G*4SY82?CS7EFV0.B8?HE:_UO0GUD.L\?R7=>IGN\H("
MG 8466(@-V-%U+17!C1,DA BT36A5SC.$V-FZS1P7WE-4-*N5Q(W3%C@8P"D
MRNK9)C:KMOJ]I-KJFP$;=<#,M5OE536PW]@;/XH[Q[>W?;Z!MWTH.:1O^Y2_
M6[RZIGK;IPSH[9$DX=VR*WHDZ78#ND3\*[@!?657DIJ[?,#?/2J&2GY&+-\+
M><,71)S-Z7F9A1.C&?W3BIYG"EYICW)E5UY,T8/)W[O#,6_ZH'J#3-'IRN[%
M*+"!R:RF=P=:&A- -0(]$19QW.95@7X%XA?DD-4K;D,.3D,!.&T[9O\)U6OF
M.IU8YV@V&0S "=T'YS-DKYCWK$9E6ZS/Q@)PNO? ^0S7:V:\_]+:FL_& G#E
MM@_&I[A>)>.':VILM,?[B^$ W/CME/T7Z,*4  VN@KC$VXQ3L*COA-'Q/1M5
M&3!.2P!W;>OP@H,)L$#EDT/8VY4O:!AZ%R\=F\8P_Z09PPSS*0=.Z W\XZ0#
ME,UZ"W&VONO%1ZE=T7DDE9?Y3:\E$"K'POK)4P1)6H)9U!A&%6:9.,FX *(6
M\V>ZO9QND4B++G-; G'2B26IR  N!AWD';'AC_=![@[*FX/BFOSUQ@'B.).S
MI %^M\#O'RGP*UEB9^"*H;"' *=)NW-ZEM)/SH9[^=^L/X EI9L):(88'%LH
MAW2$HSB:A"XS#3Q%L%#1!X ?V6"Y*9#I.E>V-/WQS6#_][0&TGE;YJTDS8X
M% 4M$3LM)$V\+/)%OZ17C4$ ;'FM\:OS(EZM[7Y'+X-BOSNU K##:3-)B 0\
M+I1P,3E[0$2P:G/D A6K3KD1#E_HJO6ITIDFL)GYW?[R_L.EWVTT>_HR7JPF
M=]/QX&FV&B]O/K6;3^WF4[OYU#K@0V'S4GK5!&T!J,OZ?C4!#C='S<U14RH+
M<2$G$T90)\B+>? ,%Y/> "P672>-"5I=&YAEF O0S-)IYHC.[SU@<BXU+V-8
MD]$ 6#/UO&QF:'9>U5$L7'H\-!P @,G3PKKKE%,MGV9%KRY[5!1Y0F=WG0$
M)./5/OWDF$%E:$$6LQ^9IDQ1\/$'+7Y*^P-(KJO-3BEB4+DY#,/$"4[)?_,L
M'U"+D:*N -+N:O-0A!-4]G%ECH+OH@:+,>\/(&>OW<68(W8%W&0W+J(M#@I'
MPFR]C+'[6XK$BOB;C=!.;SSJ=;RRT1JZUR0/*^)X?KBY=PYZ_@'E&%?R,D=-
M[*Z)M?1O+.>+9=86<##>R-7C7<F;'BU@:LTAL4 >VF7V-=MJBAO0+(FCV D9
ME.=+%VDYK'F01$/7)0DZI7(_X"!($[YG;AKK2@O)CN@DE-0KY^L"!<QN&+-W
MA+@9#\  O*8728"1#LY.=AGOU+H5HNIT)>^AZ*(#AUOW:(U8D#PK#(K2P/DG
M@B.Q^B!L?R4OHFA@ HD](I?0>+U&+CO2&CC,N&-<R?,J-;&#PUJZ\=,=XG?F
M 0IGZV-AWG"3RJ& D_(N5_8$BQP9.'RJ7)M[IC^Z0<).\2(.>IENDNY7]F2+
M/F+P>*FEDX@:7]ES+B(TK";%34+Z1T356,3>(WOQF?_M 9/"G\W2Y/Y:39.;
M/(UFC^/!:OC?8W9!]33-8(W)P$\G&L1L)OCI<R>R4+V2W7N@ML!!ED0G:=_W
M>CL",DSB;2IMDF0Z46,PZ71*-I27'1\;R_O?)5#2Q#IQ<QBI=7+QDG.C]?2Z
M"+EO-_CE7?H,*3ED[#C^<N;$\0__' TO_3&%#P!2YE22DOI!"B!;(N/GI8",
M[ . -"H3,C*0;4GCDT@:GT D,QE)XY,U,OYC+B C^P @N<B$C SD#ESBZ9,T
M_TB('WF^RP:67!H7MP60UZ-%2SD6,%2!@C)3L2,T],HI@ QC+5RXZD!5D[N^
M>N G9(Z6^!T**0/B#+6$!1"HIIN:XI'R%G*-D2"=LL;\-T$4DAN#@3_%49[^
M68'Z#E$KMVAEC[]2+"@5_= AAY0N3SAD4DVI34';Y%X"+0GI>&9(ZJ_YFJK*
M6<?D^D/(9?_R"$@.>UGI/<DM)'D]^D+;.T";# CI'&VVZS6APK4(1RT! +&E
M-!=Z?5Y#XF<>[V]OM3<:$9)7I9D(-"+#U<A'/1D L>);D'P#?D/BZ0CO]CC,
M2EBW>,HW'162*[#A]M^4%'!DQ6S=0U[O+4F]AL,$3A;!/?TABGWW 5'*. &[
M,)E0&3FP3%G'N.K.7]]_5*03Y/,-UMF$@RB?D245# B;\Y98<$LLN"46Z''D
MEEC0KC)[W)Y&631/6K='T!; 0:838U-@<<M+N.:\!# !]1;R$IH&U!N0\7XL
M("/[ ,D8T2 C ]D2&;^(LF2^])PETR0EH0"R)3*N?A20D7T 4.+#A(P,9$MD
M_/$G 1G9!P!5-DS(R$!NG8P>\C,2TA_.Y*.__'.*-DXPIJHVUVS@MNC?5C#(
M=:C8"EP4>B1P-BW7!*A^MJOR2^0AIV09W Z2XD9'1T?Z4 C]3Y+Z8RBGQ;EQ
MRBX6U7>1!)Q2XI3 =TWCS\NA/G7+C2TJ[V9T+8/=-47'(2*;P]#]5^)'*55&
M^*TF?65=+>KX9M26(=$U[?_A[)WPIY\TR7W1VJ+Z;T;A"[@[%^C'\?#3[OE'
M72&^:&[1'# 4W O NZ;KHQ,F:\=ESVN&FR\^BD-G1]?*-/8T*:T>P*(-849[
M-2I=<R/-R@J=;'Q]'HBZ630[S"@O0J!7Z5]M'3]P0B]CN>YQJ3.$Q=I\#5:
M !D8@8W;-0F[UR0$J^M4Y.,$*POW+A"%Q/4#/UWAP_@8%1Z&7GH-G'YB#]D7
M.O!676M#0_+WJUC?+N;=/REV2@!XP 3Y&ZIVDSUFT7<)8W5Z00HN:/%,!ZFN
MV;% 7N(B[SA_219FX=!-O7VS=9I%<BR1QJU*5VL82&$,+8;5PK)K#CXE#-'9
M^@X[Q&/90R\HBM,"=ZR<V=IW65Y+$28>_VH, BEZHL6]&CC"277['!*ZEV]"
M]J@@A?&8S!6=*#!'%*C81^SQXM-UD:PZH4#E:30BI)B/KFK4"&$XDE ^TV=K
M 5K%PDYT6XKF61E*IK/C\5=G1RGEI34IJ2(?1@L<!'1;>Z4K0R NW4\+*0"F
M*U/=4P6.X EP,]M>0"0I];6$-':?*V P710$.1&*%BA* K8LTAN&V2VB[+$A
MMGOBS(EN* _&@P.PS ")CS'YP$O;/>)A-&=@-Y4UPZ$!V). ),V0>%U;/1=0
MII<'T&P]]7=^G-V-&'_=^\=K$CR+QW   +9JG\)0AT3@MQ;^9IF[7K*"[8<5
M<<(HD)6';6UT !8TH W&G'[@!8Z_9[8E<.:C [#: 0F<.?W W)P[7N=EF9I1
MA&+FL9CZSC,E*_-?F%Z<^UYU<>XX77I-SDDG'#BA-PC.4\*_-Y>^QZAZROZR
M4;^[R!<G2+) #7M&A+UPP!A+I1.1%Q2M#M)W[74[@[E!QV=(<=WJHF1UZY<#
M*;U2I]<5QO4Z,]G4YR*(JW=5$&?KRAXKO9!G- ( #YB)U,J9*<'3*D]/VTO%
M?RO:\Z< \CW$4!>Y<+EU7E\!S&*] X4V8U#90WLD $Y$/4[7P@Z.750!.7VM
M2;-&DZ@3@.VS@?CRRO*(, 7,2/I#_K=C?9'\\*#HIU%3)XA^=@@UG^)#_DF7
MX34'!R 8>@(OE8&:R%^[K)P4"FJ W^/D.5XGP3&EIEVYD4\$X&3H2X;DA  L
M3RQS)V1U>W3EHM !0%"G!?X6$.K^0=R+N1^2."'HGJ7"I:]E'@5,\%BM=F<
M 19]QI@B!W@QS0G>(Q(?Y@$]3^CN,/Y7XN]WXB?63 8 $.!H8;%)$ 3,5[TC
M($MO*ZBK[1ZUG.$!Q"!Z.V YZ/>^71\?G5[AI1.@V9H*\Z_(C;-O6ENV?
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
M=H.YC8$!E$[H4FC:(-&52=((AW2%1"FM[M%S?"9I$S&2C0J@<()U&9+1!XX
M"?;0X_E9V4K-SB7Q* "*)E@XF<3T@",0%?^P1!T1M(50!J%+[@K0ALM#N54A
M;-TK'RWX1(6(6PVU+U#@Q$SQ(/'AS@GR[(#"RX.14?3]X_MJ]'TQG@Y7X_O!
M?+A8_3*X&TZ'3Z/Q<C!\NA^L%L.GY7"TFLR>EM<4DB^2K4BKNT/IBU;DW6BL
M?I>V'FB2>+G)  ##WS787%SR)MA;W<*+X$C#U+R&, +3YJ(JXE1W=Q$4>>O#
M]3HMC(2\M.+"0?@8A:@A@("R6)+RA',1\!T$\G_$)(F6[.A;OG7>WJ.1L_>I
M%?7%(3Y;LNGG+*4Q(1'.6J)H_G*/'K_Z+I[XW&YY<W$.0#_S HC?R;G=(RVZ
MR )Q@DV"?((G"Q2B5S;K.$1D<Z  2=(_-'H!B*AI,$X'DZZS?\\P^%4@WNIP
M0=8/0/C*B \R7+KFQ#^<9^=/Z;2^$U$X\,L+\B,Y%]1]  2.-#B@QJ/'=5![
M(4!9"8+0C=E*L+L4_&?G>R,V*+L "(-H+00%&KV0_@=STLNZ (@>Z))>AD;G
MCSG$5#5+4I-JB9-X.UP3WW5F(9H+#!7M7@"\\QH,T,&D:QZ,CMZ\5$F>A&OB
M1#%)W#@AZ"$)V7/=8D[H]X7@4-=@B#Y"71S(R>];G$PB/WA!Y)&"2LV20)85
M+FT/P?6M<_Y*D>A<!TIG_^EW'*+QOQ)_SR*B*^1N0QS@C60+TNO7*POJ6]-Z
MR'0<&U*XL49;'ZW'7ZF%SL(HL_7:=ZFXB'Q9TM:]<J66J:Q$H8.5,$WPP0DW
M__!?G2?TFB_$LQB,\-MI[(E7A%G_7GE0WTPV0ZKKS6KJO-#S*#V:?LR*8$J]
M1M+FO3*@OI4LQ:%K>BN\C+5=M59X4-]"UL2F P88^F_%#*DY4*\,JF]!U\2N
M X8]$"=T_<C%2X?CX)48U)H=>V5(?;M:$YN.&6#FU-/MV2L+ZEO6NNATS8,&
M3(#"A8_US6EM?#K3EB;IIFC$!,V.O;*@OGVMB4UW#/!K<T#9LU<6U+>O=='I
MD <-F "+"_5#S]KX=,>&E]I<4/;LE0D-#&I-=#KCP9>Z+%!V[)4#32UJ)39=
M^%IQB*D^\#.*XJ)!'TT#281!HU.OA&\0:%9CTB/1/]:B^D=;9*]O'.N@T@'=
M?Z&*[Q8U\*<:#M K-^I;QH986<U?GOHAFJU'!'E^_."XZ0-1DJQT<?/^<] %
MNFIK.>AB7,%Q;,INE!!I_KFZ&XQL=)5 JCA4QJF+5((MG35"[$(I%4VZKN^<
M\#=) %O>'D#BN:Y G?,'I!C9OF>-=V@9T]7- KQ3-@FCJ7A'D_;H?U,3F'ZM
M;6I2="&R3KJI*?K V-$T9%*#0R#>^5@Z 9*_XU%J 6!STY*J4@&^(@)@KI85
M5KKYG4%;>YG @]+U)4$ >YD ,NT+@IP^,/8R#9G4X%"'VEGZ^L*C$SI9$9@E
M(B^^*PF:R]L#V,"T1.FDFLG1Z3J79/:HI'>E";"[>&H25S"P6ZV7/5QP^7K8
M9=73<IO^#P*!([>U@^ "0;LJTJDD%2MX00F1*7N%NE1WAVK9*H; &8O0FP=.
MJ*Q\WLU4, X:KER7]+1.D+>L-51+@B^6GZ7ZMJ(/@ .LRP51UC6DE.@]F?N\
MN[%\<W;5)=YB;Q*^4#@9BM6_(L0PY&SDS8?K?\\7Q) :[_G-:=&[)(C X6[N
M.AWL;M%M"7?.316V GY9V-+TF0FCB(.EEQ,-2:13+L$B@M^WB&"-[$ +)19J
MH-@L&=A"$8.&. )EY'\V1E)Z%Z63VP\CXN\B'&HERLA:6RP$4(/.,DP@NBZG
MBF=]U-VL/=>CBQ'_&1XC-?7Z7MNY3Q KSEG Q4?1*"$$"1_1D7>!Z\^3,ER.
M%)R2L5/LI,^'31&UEB.J!R+_)=,(BX"+<D T.P,KLZ7+0UWTX' S?TW<D(_J
M;L *=.ER4(T8'-[Q#=_9*]4'HZV_GR/BLLKS&U$96X/^P(I]Z7+3 $,X;*4'
MP0H;'H?"#L"J@QD<AD*4X'!JRLE;>W2^^KMD=X<)P:]4K1XY>_HE/A@D18J'
M %9J3/M8-$(2)G\U^ >N'ED=_D"BOS)P(XK;9/O^)&15I=( 3_J^VVKKA,?G
M;S_1(>)H$M(3P,>BYP[ZFQY8&35M&[4W G6=-Y)FK40_HL![P(0EX)V>"&-^
MJ#E^183%_V+FE[H4ESH#0*O3IN)X'1R[YMD\(>Z62M9LG49:A>JNJC&T"FY:
MO)#@ V?_7J 7%/+<&D(7GK ]M!IONEND!*7.B^YE26)\""[U4:T>T$JZ::T4
M%5*0E@L7M7RI1PH6UA\&6IDX_<5EBBD<9K/SDYZ<+%'HO'G/UB??Q' =4XWH
MC)1(1S4>!EI).FUETQA3.,P>X2AF?N'Q5Z8E,\^P<A7+NT"K::?+1#E65E]3
M8Y<)_=0_R  <X3#VJ143NLSU=/YD]J#:A^J#:J/9X^-D]3A^6F6OJ(UF3ZO)
MTZ?QTV@R7K+OY[G@/ZJ6[[1GH+/W]BCEICC<T 6Y.W^2O:A69Z!^E[ 1A))4
M^!KC])\Z*;!2ZK.[N ?4H(#5S=L(7FFZ?*V18&3#UQ;_VISO\(K6G& J^_&!
M'41Y)>XJ;.(D(+/^ #+@&XCPV>-@A#0<W<L(]XKRTF0%3P&D'C7#OO;BO=IL
MI"J6"\26 \7RD?YWE^R&.Y8@D'T7/Y5<8QP >4M=2HL2?WA;QNPY\#?9;?T$
M3<(G*K2K5Q2\H$<JP5O5'J'L#2#)J7V&*[$&S^8EHAN4]PMR1#?>-/H!R'[J
MG+5%?,$S=;7U20V>%KH!2('JG*4%="%S5)N'(/*?NN0:9)]9X1=3K]E'<Z]9
M83;X?K,ICLH$DOG&1(V[OS8ZI1*2R=F(DDAP+9C7"(S'2D[H_/XG#X7>[^B6
M@6"7SH6W<\5-[=_+%<L,G]I%Z#LIS$NWKEF(/M,-*O:]9+=GN8;,\D#DA>X1
M]+?[)'5J+)TUVB0.\>8$NPBE5Z)DI7O;&-?R36*5R!6J^[:!;=<)#P\^B>*A
MMZ.DC&+BL ?=%NC%1Z_'#"6*@.1-$/W.EB\W:W/- *5.TD^8>5"7'2:]+=_%
MUE]%!CAUP)!4N:_+#X/.EN^-:[/# *4N-BN<D'A;>[<RZ&WYCKO^=F6 4R>G
MQ[H!/_0[6[Z-;W!Z:*/4Q>GA?ZW/#8/.EN_LZY\=^BAU<I:_4!N_/C],NEN\
M0V-XFAL@U95ELWK%G5@VC<>U>*/%W+)IC*W=1[L7[+J-P#M3^ ;F?0P]ITP!
M<CL4Y2Z1RE?['I<*^TL4M%9]\!CF%5+QXKME5PB'XSD9+P#MGY#935DQ(<O?
M+7LG9(0L VJYBLG%'E0)O*B\\%, V3UJ+,K52?C[;N]9.J*TO/2R)U6>DC!"
M<:9*7;)#UA!  HT>0V1(=.TD+4-XH.K1]A[M<>3'"R=&3 FZSY0@IO;,PM%R
M_F6$@B":[/:8Q,AC=VK8\SO.+)R1],[%<H]<?^V[][0_CUM=SP@@C<: [5U3
MPZ[\5#7G'D2HE4D!9.RT)D6M$*1G06)0\E= M'^I +YR_%<GK"L_+<X%("NH
MOMBT2 >K:2C+3#69A&M,=EDVDU'"R<=JPLER_(EEFPPF3P^SQ>-P-9D]P4\K
M.=>,/%)D@1C[*%L+I+D['#_*<DYJC=2]*41EEPJ![Z73IR(N<'N(&H))3&G
MJMR<$N'8NX%:!428N2)N:M^/(A<N,=5!O-PQHQ+H,/$Y2HS\C3QA:\M>&)4D
M%:U9(0X=Z"KCP-]138D->:R5CT,W5:Y2(,7.=,V.EGTV.F0W00=.[O#IV<6[
M)&)/QD:YL$ANZ"KZ@'&C-SQ"--&UR[X,%/D;5.4V,*[+:LE=B0ME++IX-3KR
MLU= LIDDST7S&P*XQLH5A_.CT'RX.R#EIP _.\'QW045.26- 3@LY225P YH
MCQ?O?BJGOEY7:^Y]$\SX;P<8G S7=U<W+S^88<>PR'=9 ;ME'>"L16-VR]"Z
MBF4Z)WCMQ\PY-7QFF32NJ-JNX1@ (@.UE[ 9IG#87*BSQSR-#+R?_7@[2J(8
M[Q"9A,>K;ZR8*/V_MW*^"IA=:R0X6HJ9H MJ1NHC#D<"6(VOV?H3QAZS$8_E
M%WF%<W4ZP-Z6]?@IPP\.VSX1BD:&D(!/I1:P]U8]QI00@L.)DV>+KG2ZX!D6
M*C]>L26 2&9CSG 1@Q9C\M=KQ)ZD^(3PACC[K>].F3PPYYAI_.E[G?@3:W*<
M<K YS3D(\DFO*4!U/./2$JUC2A="N9@?<.D+2CC<3/T7Y&5%Q_5B5?4&[3Y
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
M)&4%&3GMP%QYZ'37YB .AV'2C9?;$L:^*90Z(>5!;'U5T3E+5K[ I7NAR0
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
M'(B.\G--.6@MB9?4!F#Z.3?3$J20J=UN05.T%FDC4A39;].'E0$86EQMU(=
M(?/*-AVN?+3<J*5- #"1.-BFI7 A,UU&490]W5KT3NTE#>H#L)TX6:#KL+JV
M;IUV96=\O:7I,PEQFC.Q<+--)2]:G<VK:4L MMMVZG$K]) G\/9@*"?>LBZ
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
M5L#1HD4 ,BR!HV6MR0UQ*W_S<59=K@NG6/$3=2E7^-FGCS1)QV!=)-S<!3<
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
MWW5ZU7RXN@9:.Z)#*9N><0O'E-<#S[UQS/W/B6O9!7J'&+)9681R\8-ZI>T
M[;(HQ*!KIG*7B4%NA;Z-N*NTGQ#X5DG=+P(K'' X[P JGWFP6K/$LAM77&*7
M5JBQ5E-[W [<JFE+61+9&*_KMHO<=V$22=Y:[#2"PN5B$TBBJ:].[U:('D]C
M5"&6O!PHUO&P<]U23K2^-6Y<;M%21>6:IG@QN4U@X[!B^;A>/MS?S3>+.[+>
M\/]\6CQNUF3YD2Q7BZ?YYIXWZ.\ ;>WX-'ZBKS0XTII1V-0.Y_AKU2P_Z:IJ
MA/PPJU%DTU$7?.>,>NPSB!)P&SR2-&,K5553A3[R00CUM$&I7UBRNSWR*6A/
MH_P^P!Q2]6+JU==4,*.$TQM[L$ZYL$IG,GAGD6N4N>[F,H7SW@AJF9PRI[%4
M:V5\"ZA 8>5*@;V?/1A8=8URM,A^\9&V5.-DN?TI##UQAX1&K\RE\3KTO9;0
M7ZLC;MS7U[V\R=K6"R^J=Y#=?/<Q%J5O!!-Q0RIC Z4HO($K[6L5G1[-!E9C
MOGH].QMFPI[<S8.GZ+E#>ZRE Y+!U;4YZ_X4A7&\BL)M;7G*<@O<WE>AC>IN
MRM=X_:M*2-,1)F@12<R*]_2OS&$X9=J6)",I,\Z[LUDV].++@09\%=$29#>U
MQXT)K9J6'IVM:XP7+]I%-AVCQ7OO&6G;KU.-H2M-25L)E==4E#KAD<8G)_HK
M552ML4AC!]R.V:YKJ>Q4;6N\KJDALW%Y*$E:!,DY\<Q/[;P<-XZR'HMEB2"X
M-Y3YJI7(F08<,GRN[]S;LP#$<N!QB69_;>^%VVDUM2Y%W<U=\+JOKN#&,:"D
M+X9UF8-51QY3;:>LMDU_?J(QY8ZPXWK?\06Y'Q[@C+G9F]OZX/9E+8W+YXH-
M'?#ZL9[8IL,YHR[&LT+?J@^/J+*GJ&S3?T5Y^3R,E[E'J<*/M'99V]8)MP?K
MZ5Q:X#;VP.O#FG(;+__$4P'%(C![1"%E(=]1L%0Y:Q35B]OQ3#"8P3&XS??E
MODZMV[88T6AM9Q-2=]L'/S#7:=:XV8@8?FM%[6]S$<>.8D])1.'%?J*5(PMK
MZHV+'\5#0FUV*+6<"(9<:E>)(D6S">!(A;#7(TGIZ2N[<-*C?JE6,#@ROPL#
MRW R2?4T4K*&4!"(M*@W"EH^AD%8&5FV'/WJ],.-I-J:J[C:V@DORNJ+;IPL
MK'"X6"S;/B4>7GVYCF*IWED(](V5(^/L68SFG>K+5KA=MD:K\GW(4A.\[E@G
MJ/F,*>D-LL.LOR\UF%K4XL;YR$J-A!"O7 +8H)=HV/)"6D-S[)C1K&<9/*K;
M8D:1%HG-AVA&.)W)9W8?.QQ0T=07Y<1MPQ4_.BP210D?:7)'(_8JSKWA&E>2
MO:%S^B2*,E!O&3Q1*"G*HY@/3LSBVQU7FUOC<Q!11Y2]_<EA0<.FQV#,<,/
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
MJIY@X2KVT)82@]O,E147; /D,(#XM0/@ (#WU0*<!4][)R7X1L3"94##7/O
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
M\!5R&YWMEOG,N5P7CK,+9<TB<5H?0:V^/ZPM-'8"IC0^QMFNBV.:W.\/#HM
MH-N=$[W45K2J;8Q[$FG6L;2!5]D2[X30(J]Q6 YD24&7I(3MG) .HZ.BG2M)
MDBU?<'19LX^V?3FX!6#=->*.Q2H*_T+=1.@5GRM6M61HZX 3?_1US3<8&ELC
MWT70D]V\4.R!2RW/Q'>4L$OWA<'Z%K&$WH3;K7!F9:$K;IDH:[V#%';DO8)A
M3912)Y+\)7Z/"M\CZ%L-8,($CN!H(Z JA%INZS=;VUOCA#1-+=68JJ8IWJ"J
M3>#K:IHD.R<@&[H_A!&4:U+&,*P\("_X?J#M.=V :RC]*R(NOC ::C-2/[P:
M0=\,G@IEK5P)@DN+'YRSUU%KK%+;&#<P->M8N@!4V1(O++7(:UQ]N.;QI4$"
MH_9"P\,K:?MI7I%)"I<%/X;177A\3K9'?^ZZ<!#64#RAJ0MNC]31]ZQH0FU[
MO-ZI)?45@;TD+E8U&7F2T;=50V XA>>^'[Z)*\.@L!M1C\E)U%YRU3)JK&)9
M8R6]GK@=N(/VYSE5+=WPNG,7X4>K[6HQD6IH6X@LJO.C^>NJMM;L/3Z& =SG
MR.]O/$!I[#0OM#(EJJT#3N?5US7?>VQLC7SO44]VT]&YV5'(JT]3E42!%KAW
M4]RP\459^*S<P[A[BL.J_I@INZQ1=OQ-Q9$4KOMUK6PJ!J]\](?1Z1?8W[X+
MW^I6[94-<2)4NVZE7<2+5GB#AP99C?>2,I)$T+SQ.%$[FX/]ZU9HE&V1 8/+
M27^T_< A?SXXH$HH#W0N?\ K@IJB%G:6PI(]]A%OPJRD?F5TH]T3)X@8:)_'
M.WK=D <^'97HX?2U"(2.105V2-^>9?G;HHP=I'^)Z\LL$V+<L&@DPYQ5H9]E
M"[K\B2!A@YR?C7SK\2VA)O.7!\-5R6XUX'='X8;\2R"6SLLM5&,+/9:<1 ']
M>>!EU42?.-OUFW.HLI$!#<2 :&J1'!J[$D .DL;J]+-@]%3V\L9H*@#9@00B
M<R5/D^6+#DIB+L6X>#FZC>[.K9*S)'_,K9)Q)<"6 -_QUYOV+7,Y-NPL0N4[
M<G=4_E<I@I+6-&XI=-6) $YX-;=%>3&KVQOS(K>S#N:KI_3=Q7<9LV]@8[S8
MD<I*:ENNY32B26Z5DMI%G1^9]P>XR6.L9QYH6:OY<VF*[&SPB;J4O3K/?EUE
M$,VN4\.'>OV;D>&RWY0PH4'ZGM$@XT0*5I;.RT:Q0JYNE-,D'%J\<Z4M>3O4
M-@6@^X4EN]MCG(1[&HDL8&V;-5&8FN^W6J,9 FJ[3PD)VI7H&1 RAN(]"9*Q
MG,GL>#30,)Q9*A!B1HX!#PO\BV='+*'$W5$\2OU$?3#<RHD@7KD]1E%]J:+.
M1*:&%3HV:8:+)@I30@PM/7H&#<Y3[EBF7$G*=D92QFB 8U#KR+HL,?$R<T2I
M.0Z2SX!6V'1?98UK"MN/25_J?U\<F6K;K-QG:B!9H7$S)BH=I@2!56+WC'CW
M YVW7X-M_:I=I]\51TZ7(HO2EW//XP#F?*G=X^C<&:=CFMD@/UW2[HG\6*F[
M'M><)['<?[W<?SWYJCE<B([H 0K_\K\.XHUS45I$'D'!U 6+(%&)A)(3=2+R
M+HS$'\_'F 4TCHE[<GV:'M?*E\ =T(,DSA<J9S_*Q 5&^:1?NE2)B9,^L*Z<
M\X9!EK*?T BJ]G->3DP.$7UEX3'V3R1\I='!81X<"7,&Q#DF.WA7CXV=)3#>
M3U@#OVG)7&%JSM#>[M7(YOBY/,1$D7L^*"H4[Q6FY]XK7"O9A.OCX>"SR_=J
MN_2;%#C7:]Z RY>=)@?)#2J,C<92$I$'$V?"V(:[ <Q3MT$O.8'V.2\<&#>
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
M\M.";.;_B6:TMM?-:>PRN?':4BFGOOVD1FR?M7& ..'442UZA]79LILNG"B
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
M%_)=IFXZF-]ZX0OG6*R:83_F-<=I)V,OQW?5TKA(V,^SI/G7SQ2NZ(4^Y.M
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
M$8*13#)\T(K/Q("H3^O/_1><BZ-$ 4C^5P&._(__7KYQR(YW[%"1@5CU/4Y
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
MBP>0K6QO>#'=;"*V$8RLU@]\,1P<6-NA4D<7W%ZM(F]E5Z.E/5XO5N):^]Y
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
MTO+*0!M*>A/!#21Z.FE*II@SB&C*82BY B^ 3*R7)O@XB5+0!2,\]A,/9CQ
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
M4%9IV],H\9R#3Z.)T]]'_1GO2K_<,PU^)4YE\C=Z$5)DA3UQ_=Z%"13:@#V
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
MTV8]60RD/5+WGP=Y2%B)'$1^3]SB$-,>-D^KGC/<%MKH 0\3G#!/JY''G@K
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
M_#Y]S(F\2YWOO;P+P3]U.EO68H88F_>)$\_)<:, BA+!'"_V$8._TZ_>P:;
M>YEW[N38F6T:</ \2V#?9WHM"3WM(L[RK]]KIDQ557"1SY_3[T.AT)NX$%1C
M0N0=Y;8&7\%@[_$L!JKZN98)LI46F:H2/DOW"E9ZD\8Y?8VAO^XU0#^Z<UL
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
MDTVI$T&>E$=>P*7#ZM<6<V'5]-.2VMJ+ &YOZJ^+L@NI]\;K-QHRZ&<753S
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
M79^_,6[ *0'_ #-E,G^% _9VC6ASK? -VWH&GJ<9##A(-4!'ZR,5\ES232J
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
M+!2Y%C<;1!B)G.U@%Q\09AB+6O<4;6JJ0EX)>T>7^D^V_?KE9[.N?Q1?@V.
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
MC[X+",:L8YTWF&&Q_[^U7;*@?SO=[':9#U>B.W$BD?!6DV%*?#<2],0($Y1
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
M'S9=VP>\]D@@WS>PY7ICL1,=.579)[#-8F.R(EU)4]>ZCH)'"\010-<$Y5%
M\STJ(#%HJ[\1\4F''0ILD1V-.R%EA[!)'7;SPT>M%H!L:;KP(E_")#\;NBWI
M1$N?TIXX19^\ I*K!;A:1;_5%NIK+VD"S I-%L&A@'UJ=L+C"HM23=:A1,H6
MR$T%;@5:T%_0?XEY(]#\-E3T$O0,$.*0>-6MNUT-JNR@J->CW_PI-]YV3*KX
MN&8X;#UNHO/LD<.2L?#UM1%S[1<.Q=. 5PD. VJO-EZT(E/)':!KO"$MK@"5
M#8>MG4UTEEP .AL+7SL;,=>NG>F5EFM\0PIB.]35'_7,J*=3?6/?!^^5^+.=
M[38=[]>/AZV@C92>M>XM&PQ?19M1-W1EG^. KC@60SSFK9,5IU1^]KWHD MT
ML_MX+MX3ZZ=" ]U*_G3JELNP#2BZ'-4-#IXYOE'P88OQ@>+]RR\_$2<,DK\P
M,_ +-P'Q'_Z1'18$"W?J6E/KA<8$)'CRIIN-[=@X),&M[9)%2/;!":>[K@'3
M5/3B"#,?G188UJ24Z4\_,KKJ5 X:M2_\89@$(#,L&4CTG0%%'*K9D_MA&'.'
M?_?8_=^XP8E-.>!MF*$=PEJD:!R7_OR?$=WOWY%PYUF")83,HGWD\(+$!_;.
M#_556[)\=2E'=_9ANJ&LG3K.DX_= /,F!%4610<<V%9'&V?SEDDY$+C62Q^I
M715YE>M1Y".!$Q)(H02K"<KP0AEB*,4,888:HKBA/'*#V$%X+)Z&H6\_1R%^
M=DC"8?XT.\4'_4H<"UW1* RSH)7AH[ +@@"6P&*@IL%GUK$!.^S8TRW?4DG-
M@FFW6E*=;J^:IP#?9+4@H*L8YQ2?NGHBY-A.Y'C'Y)B*\58 10<!U>S^R@ 7
M2O67TAV#03$<\\6;!FA?-'QLO88KOFO:TG"=S1J9X2JGNM9P%:>,T'!5$*#7
M<#D"*!S#I9@+I89K&B17N&$9+CVT-WWS'.W_[Z<,3[IK_N.__U?REWC1__[_
M4$L#!!0    ( #$P4E7^TJ:R\,4  ($&#@ 5    8W-I<2TR,#(Q,3(S,5]P
M<F4N>&UL[+UK<^LXEB7Z?2+N?]#-^Z4[HC)3?LB/BJZ9D&7YI'ID22W)YW3V
MEPI:A"1D4J0*I&PK?_T%^)!(B0 !$B1 VC$]E<<V '+MM0 "&QL;__%_/C96
MZPT@%SKV/WZZ^*7]4PO8"\>$]NH?/^V\Y<]W/_V?__W__*__^']__OF_'Z;#
MENDL=AM@>ZT% H8'S-8[]-:MN;/=&G;K&2 $+:OU@*"Y JW61?L7W.(O5ZV?
M?_[??A,/AHNK.';+;^OREXOH#[VP-<?^.Z[UZ\7MKY?MR\O6U=\[-W]O7[:Z
MSU'!9_QJ2YA9TH+VGW\G__.*G]C"&&WW[Q\N_,=/:\_;_OW77]_?WW]YO_K%
M02M<O7WQZW\_#V>+-=@8/T/;]0Q[ 7YJX?)_=_U?#IV%X?D&BE7_>$56U,#5
MKX=G44N0GWZ.BOU,?O7SQ>7/5Q>_?+CF3^$KDC]S/"0J_G%6/L1T<7]__ZO_
MUT-1W!!D-'V _;__5ZOU'\BQP!0L6WX3?_?V6_"/GURXV5KDT?[OU@@L__'3
MPH7_PE N+RXN R#_WV.HC^B_7=OLVQ[T]@-[Z:"-;\:?6J3]E^D@\3X+PS9,
M:-BN8QGHEX6S^964^I6O01\DE^5^+0APYF&ADA?I.>15H4ET^V!8Q'BS-0">
M*P2/ISF=P$T,A/^\!AY<&)9DI"=M*X9]^*4[7HZW /E*DT NK5V-X/:<S1:!
M-;!=^ 8&^'.P 7)QISY ;P-(%K[8TW0RS=JP5\ =V/U_[? H+-D2IXWK"[Q,
M/3"?I)-)#'?]9#GODD?%6+,Z@BV3><HSJC/#(W07EN/N$!BCE6'#O_S/$YYT
M31"T%W!K6-V%!]^@!X$8ZV(-JP \VVTV!MJ/E[$W6C@[/-FT5Q/,UB(_9+ZF
M58#N6EAN9 KVY""\"#.A-W1<-S=0>G,JP WL-]R+')2?N$0+*B!,D/,'6'A=
M;$3!E06U#44P\%07?\OP=-]?PN$OVY8,>B/@Y4?%:%+) $)>=>*\ S3;NWA,
M=_.#2V]*31_R\&P$OEH@T$]^3*DMJ8#T9$#TW;!VX!D8Y&<BFIR8TIM2 >J[
M@:"!;8NM#!!P/=])DG_@HS>G:B!W/7^2-+"[RR6T()XT%1G44UM3 6T(_ 9S
M 0GKJGCM!P<AYQU/7_*2$&] R6"]=I W!V@S<C#W$V-/U)YWM$YO2\E\;K%
M.V#^,!#"G\5]SW%S3QO2FU(!:HJ[*X(+O%C"WXQ"4Z'4EE1 PBO -SQ[(5]#
M7S0Y\9PWHV9X)CZKN?%18$B.M: "0M] -AF,)GC&M<:+[YPXSIM1TU\LXEF8
M&'AZ''K873Q#GN-^[!H+<3^V8,MJ^M-F X-O.GX?W"W(TAK8!=;LS!:5?+'
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
MC7SW/,->P5<+9$T$V)4:(8(<$$O8,RAWF^#X=<NU4W!6/6F53N>B?5L?XJ6
MK?]&P1BO:@V29&$(\ 1H"E=K;[Q\<0/I4X8#9IU:BR(_0HUOZL@EB^,N2.8<
M,;5L,V3 C4S6G1W:3 \#U,RM@490S(!2_UV (31>H05)Y"/^K/G)/-:.A5&Y
MP9PWXP@3;W5=A)#WZ%HAG"6X_I6)A.]D&[V"+D*00BQ3)SS :W_Z;;;&4]\Y
M0)L'!R'G'4^':!^$E)))D]QTVNVV+EK@(>^<?5Z,)=!^G ?<R%DC#AU[E80R
MMA-K(8:?F+=N8P10''6IV\-7E4\-P_-6$V-/8JS)C149<>B,&HU125ZL-=DG
MC@:_D>.!"%OJ7G%:P<:0+ BQ">?+YH[@Z3)*A<9H("?4VA\O.QG8?-^(T+ ?
MK]$X-8AB+64K6:&_B-R@2,SU WKKWL[UG U D5'W;)GP5&V<7G*#KOVQM>.Q
MG',C4@.1Z%621KKM7-QUZJT,8; E[$FKW'E(;+UP#B'L2HV32 ZXI1YPJWP)
MZG]>N8</2NGFR4( 9_UWKKGI_P3,"Y)>V#>I;$=K@AQSAV=-!D*&[>WQK!OM
M#(LCC)%=36-!R-BXR 6__AM;H<O6=].0L!['L&D;&*EE&ZX*?LR2?)2:G(/
M2R^\;/9(@!_#FYE1.FFG.V4W!Y:D#1'4I9Z2J7S]<9A-/SGHQ5Y@(QC0GAL?
M42!!=CR40 L-5U%12]3>9WIVQ"AF8(%S5\E:#1=-'O0EI/=2.00YKDO\@WB!
M#^Q%-%WC2QK+5;?A"LIO@]H[5RF>H>P8WJQZ#9=,/ORE>EY%G6J4G?LP$A(C
MBPVCS(.@[!I)0]QWVI=J;BV4+(2\R)OM5^6+_4^MT%"=Y 1>AKM5@T42I&::
MC)5HN!*RD-;?Z4KN H7!H5B2&><PLZ*SSZC1<#6((I=U<$AAE/B9R?#*S=J1
MBV+#HY-=ST/P=>?Y\9 .&2E)\(-CX;=8#6S\YL#-.G,@]R$-UV %QI)V-DK=
MU3['"XZ9M_B<%$M8XX[<:ZWVL'L%7*</<IE&J?WQESG":\$=VOLX \@LI="*
M?RE&U#A%=Q[O ^788$5B<^=2#M)(R-9NP@#'Q(#FP.X96X@G=+&N1(NBS:SX
MI;#\9BIA:[/J3)]D4P68?0/9Y%A2=['8;79^5/HC6,(%I&?XS*KXI:O\9JK]
MT8\8SB"8W=G@5U\#VX5O(-B;(7[V$?#&R[GQ03\"(-+*E^(DV:SV.Z?GEN=>
M&28-<G%]>Z]V=:=$1)QFD;5QJLPW]0QM?T87F8FBDM-B7QKA-4KMMT3EF+94
MO]27&LLUI:Q]6FT3^61OPJ16TTUWY>W,\,./W%:%9^ZG8OF/7^,6'>*7]7][
M^LL0QYE-%X9MF-"P79*Y_!<\"0P><\AYU'/(GZ!)IHT/AD52',_6@*0U],V^
M!AY<$!1Q&L&'!VP3'-CPH$>>VFY?M#NMGUN'MO&_>^/1;#P</';G_<?60W?8
M'?7ZK=EO_?Y\UOJWQ"/^';>VL6R782#RL%?#!3]5_"'@3P]U-LQG5\5JNKF_
MN+FXN+RXNKHALFI7OF:S+.>=,/_DH$=G]^HM=];Y[<@9A[9%VDCVH,M.^TIM
MA'QNGE)6887MH-H!3LL0GP8LS(D^=V:[[=:"^)&L3/%"+310([*LH/J(33&%
M4(.#\C7RR76288C:^ZECCG@\71@CW[RFOPDT 6BVQGQD;\'2:C90.T71U]X!
M'0/NHW0'KKL[SE7I(HF7_AS"R$1<>W?P&=CQSG,]PR;> 5Y%Q*I\)EEDP2[A
M[(SR.(T .7^@1E"^P:H0PUR6S[="%\CAE^YX&1[N<(ZGOS/<'Q@"R_TQF^/_
M//='\UEK_-0:3_K3[GR "^CJ^ CV# ]P*+X.:BDI^2,-"^!E\QNP=X#R?&JY
MI$2O.NUK-=TRPXS'_)"\&"0Y""PU82<^OB=LF;149@?7/4F.B__/I(<(Y&A)
M%T6(T9T66R('>JDIIQ7D9W#Q%^^;XYB^VQZ@-XB7RC/',C.\M-D5=1$.QU!2
M$)0DUY+*JPKIR(7YUX7W@J2*J*.J@:):37Q#CNM.D+.DAC7&2NC"ND!OSWI[
M66Y 93O9AX/6X:V;;L:83BU?0W+%L-3>@3<#?F0&'I>>#?0GB &G[;)2*^A"
M=CXF4V)=Q)"6.K^K_/#P-V!CZUD8?-?<0!L2RY%TMVQQ9-1JFD+RP%6]G2AA
M4>D";.(U1OV(ET:6LR5#*EL7S#I-4X4XV-KO&_HA\ >[!5_;Z,9N^@VES$I-
M4T4.M$4G%UH>L3NS(^^<LG&"X (H:U-0_5KB>"@FB_%C25TXS[-^R$!1>V)'
MCNVD#F<9B\7,>DES7=>!]'R8:K^I&\7SLR=_)Z5TH;<8=^<:X(%9=(V8_*(K
MXOP-@R0=(C!6QMD;6O'FJD  ;^W7@D\&1'Z4&Y["'J_$\>_:/*1G?/:#&H Y
MMJ> !$]B S\8+G1[:\->8?N\V @8%OP+F-\,:#/F!^4\K*E"K-!:DI:O6S]J
MYDV#>]*>' 3@*DPIN=C/D6&[V/(8562'![#$9>C[Y0(M-%: !4U0>]=Z!'-L
M'S\*M+$MM6Q3E<$/MH206(6N#ZK]1%=*316&&.#:IT4X>@BBX")H[S#T8RAD
M,$(>DNP#]S0;0-<VDZT$AV:?@;=VS.QAI\(W2%+8N;Z[T7Y5K]HZLB)\%0L<
M&R;LQ@_ !O2@$$KIV@J'#TG1M =:N 1DC4!-'3MR]'J9R>HKO_X/BYVQD#\6
MJ"&Q&2\O+8>\.K\^\([B+9!U1[B=&HI!#D9IR>>5=?FD'=X,: 5&B)US"Y.Z
M$/_2@DLQF:W47B_Y$$I+1J]LA(FR=$9'HUF:2"U;0^;Y<=0_:_L/ %=K/!GM
MON%UT@J,=IM7@,;+LY.N+-Z%VDC:\:;3OF[KKH?B^*3EP%*FD],^\0BMG4=-
M'D I74/N19!$+-<W*P!%Z2%HWD0!@JW44!4R$$9JD1Y2HNA0>$I6Y9\2=%%/
MAU^)G [OC9\GT_YO_=%L\+W?&HSPS_V?-#TG'LLW$!C$O\'HS$R4("SAVC5Q
M':CKX3GYX'$IG'3JVGX!>!*DIV:/#5)69AT^D]-Z@_14ID5J'[)$,PX]7 $3
MX/]D&?'@A2Z"+OX,/^Y(U R>R4''S+AFH8(GZR+B*I3(K_NR#:QZ@*:D<V$9
M_Q@1YO[7SK#@<N]GL/@-F"O@1L[**1Z)9N_&EJ+K<A[R.25<H2U+&,&EWX?-
MML04+)R5[6?8\I<(&\?$#_=-X>^W)XTAKEJQ]I-&ONVTKVZ_!"O)C"4<C%2:
M,^?,4A$A$F^[D/R4SRGO*HTI*] UMI^C,'::8;%R1%TG$4M8W)5AB=J?/V<8
M15Q0GT,L50U%FKF/\URT<L6^:"7;EUR7RU?*<=1):U4/1Q%Y;7$G3UA+E[%%
M,M.\WL>,<4>Z!T75N..?G\/+\N3%7QG#S+70EM5OW=&W_@P/,*W^?[T,YK_K
M.J;$OF+TN\+HNU2L.E5?41B^U)ST!$KW3Q;2I;<+<9"\[B\3#K7K*F(G $7&
M'\<FO;'[ 6F;B<PZ2;!WG4M=\LS3J6#PQXU0$SIC 9'/@ 1"T*?QR7+:TL;-
M0.HLG@.D)LRE7&+ 9)!:OHE,BH&M_5YKUS1A\,X3 YH#NV=L(5X9,O7 K--$
M38@#IKIKJDX$Z1G0!F84SLBD-;UP$_D40$IUMU3<31>+W69GD54,;?'&[K*\
M]9M(=S'PU 0'%<?=^:9BDAPOTD0>,_%1TPU4GD0BQ:W/I(Y5I8E4"N.E'K2O
M^#Q$$O*CL\$?$MIIB+2R3223'RCU)+TB3\00SP(&^)^9[H=#06WYR^5S8,.J
M_>(&?]O):@X\@N"_ _O<MS;%0]"3@]X-1#O5)-B*M@IADWVN$AFX5<==2A@J
M3B%+C .2T[AN@I.AF[0QJS1;21+IU@]#QMT->:HB+&1?]'R/OR!J8WO+$9,(
M>$E?0=7J2/%K^KE'^7V^?O'/H0\A]$5#LY+IH29G.E$8#EO2E="?2#8,^)(B
MN<X'%H6"R7TZM*F2R, K*7MJ\GI1A:'%G^CH7E,5J\J0)5RUH?!ROM,LHQ%'
M)-7@%)A@X\.CC9*<M3^'((L8HVA^UM34G0KS4_OVG(+M#BW6V 1FO'>QIO.9
M]3Z'E/*9H93\KPK')I85F-/[[(I?,LJ>\!=-&TN;[%6NHZ[YQRY,DSMW*#$R
MOCE(2+-_+@;/)WSVIP!;WH4>"&]:#TP7.XW*&LO*?FR"N_LVYNZJ@1I68D5I
MJ7?U."V<[F..^"+SD]GNU84F-- ^]%F[[LZP%XSK)'(V^#E$*]D^LK+ZTD;D
M>R5?]L"7?3:U\?\V#N;*_0^ %M"E;@X(M_,YY"?'+-*R ZO=%#VW0S#UD: S
M1D.?6FBB=BDC3[$NNQ&!+:; @X@J+WJ%SR$C0?RRTA5KLT!)X ^1]QP29TAN
M^>ANG)U-"\W@J?H)121B"5EYD67)J6F)K!JGN&K,)2L!LS:C'&M6.@+O_E^8
M'KVLNDDS7G3:-Y<-4EUQ4T2**GP+G![3+.;D,Z>@3BI_:D7QV"*25.X]![TD
MQ>&W,2PP7@8G?*+P3O;=506:_!SRDVZA2)0R[[U3^-T\WG$<V"'HKO;1@SA&
MYY<" IKK-F=KGT.*,HT3Q>/FWD/(V(ZM?'!DS7A[AKM^LIQW?X:;O)0=3X4M
MPW7A$BX"@2QQO\J7]2K'4SZ';JLP6J1GF6=D5*]&:G1@IK':+=%6D63EG(GH
MVVKN1)9_7N;^LM.^O&N@ED3 1^(HNNF@5AQE')=IK#R$T$?ZR+W+D'9>YB@3
M7?:GI)V6^4RJ8<"/9%-T-^%T6#G7BQX92?-D0;X6RH)\FIZT+BF0\Z0K%:Q;
MK[2E&HP09:0O/>GY:>LCN>><7.3%Z,(_':G"/_PSWG'[-NYT$*2E+F45U98V
MNO6/E D#TYFXU,P][,*ZD"?,0S:%#(!EYBS-X.W@'L1OF)H]*[U0$L85AG&M
M%4\,8R>9XH2F25;9<M,[*^0QUV"9'Z&D?!.6BE6SW/1H.G'.3=^Y!/B!2DI$
MHX1Z.>G -:"<GRZFGRS/@%T#FF6ESM. Z&+C.1L6(R>,LMP,51W[U(E:-DN4
M31-QJ"6DN5.]A5=E %C=!9,/KJ2)'BT.54W<8.FY"6HO%F&DDJY^I.FD4[5.
M)LA9 &"Z) (MRNWA]Y?0:4B125:UQJ@D%]"BR<0.FVHZ)!$S]N&>R&%T)4=X
MR:$3JC@859HC#%&0DK*+L8.(56V7A>%7!T5D[(UUA*[NZ\Y^:ST-QS]F-=@$
M.U@B^ZJ^E*(5!X(#C[P#'N+>(&;I8?^"/X,#>[P%""O%7G47'GP+O-GLC3SQ
MAI(]Y+K3OE-^TQ^5N408MQRDM<_$G3>UI$*J)5.8.E5@0:X]Y[$D-20\$=O0
M_U[.'7(.T%Y B]R5';N[UI$SN)3]V$^C3R6&K/VU%8\ O^D"^@K _[9 F&2S
MNR%QNW_YOZ<HEZ>J;NI3(I)SK>8V7?U'V<4"^6C['R3)%S7OVDFQ+QVECWD\
M9BK9]Z?\+!TV*S:DMY]81K!WNB6\4(3%5_E+;JER*V \N1<7Y!FZ*"DYCI@>
MH;MU7,,:+V?$/S!QW@&:[5UB:#PT^\>S@L."/@\G^BK45M)B'6RQ^\\L-_FV
ME.:QU.08Y_D!5H)]"@P+_@7,<],QPV+XF_G2:>JP*,6,1?VGNF4/[[HNMOUF
M:T#DNU;7!EI1-W+3"W_)+7W2QV\L2?<<)*=^,KZZV"I_@(7G0W%/L:1]6ID5
MOH1R_OT4-UC1^PN4KRV/*,=+^DPMH_27EE(''1%K%;W#(&/!6?FG[ DC#U-S
M>8\ P3=LRC?@]ZPA-%ZAY7_]R?E"8(YMS,L.D5B+!\.%;G#2;F"_V.AD/D"1
M93D/^U)UJJHK-';1"QFTN]B#1(D\G.;KIX5=I1;^$F7ZC=G\QBKWCH/*H[6.
MMB7Q2.G+*NKGG*?NE^+2/^ZY;5?X5H/DL#9/U6'ET>N^A5T,Y,E!C\[NU5ON
MK.YB0;(/,P("J%6^5$<+*! S6?TO,R SA#%B9J=C[%MDU$S:[*;3OE2;:DH3
MF>6U7.$+#23/V"B>%&Q:8K>#G88D:4JX'9BZ2<&L\*6A<T^*N,%D76Z0/BV[
MJGY:]H8)<-#^!WX!\.B\TZ;YYP6_]$29<'$92M:M!KD_>)0QYWS)&V7XQ1:+
M$JJF#CY\-;]4<SX*%;!<X5L(,KYDH@,2156/ !6^ $.TC2^EG2M-B@W+O:=
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
M,':06Q(/Y_I]*QV2/#P;W@[QYL?(T5)]-"4;9 F9=JJ/87UP$'+>29);H:E
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
MM]=ZD,:V_TDG*XRXDI#QRCKQR+$7CNWA5[)B-Y(-[ 4),O/#>PY>VGUPA=#
M=7=DD*-T]OP-UEY?)9F@U L]KBN?DNU<;$Z7W#+_"NW#ABLT_2LK''N.#-L-
M8%W0)FD"331&5(5!5^8$*T<,84<).Y-+>@PPN[;I=QUZV('$)WQ&*>6RB8XK
MP?B7_AG:_FOX4X&U8^&WI9Z6SZC6&$WD LI(Y*:,:#^<+]#IXP[A[^\$X)<Q
M_5ND(S>47^:P'S3!:S;JRB5/8XT1A43XC QMZJ1RB"B-1X9V21+VE6^OA_U9
MT*D?(QHO3F)3:1,5>0]HCJ3*-4DHLULM%F>T/ T +0A=*Y)<%;H+XF(?VWXW
M"Z.54Y?J'-62)NET[MJ:N%6$5NAY@8;<WQ7DWBJ+=@0V<+<189Q9HR%DBV,,
M>;[7E&>RME\@Z+]5='-SJNLMI5PS..5&%KG2VEH,UX7G$]&\.5HN'6=%AQ'M
M89]T#@5%*-.'W.W57D;E6""26SFNVTY51PZCM-NQ<SO^V$GFYXX%22:\0R+N
M)P<].KM7;[FSIF !X)N_MR1VJN?R_%3/[.7YN3O]O35^2ISGZ8U?_/2.K<EX
M./ S//[<.KQ*:^F@EAF^3 L=WT;_$S\I!F8?XV%5J'9,^F9 ^SRC)^6UTPLG
M^])-IWUYHW0TR68C/H0(8-(QO5\IX2CJ.11@)6]82LU(E1*6HIY8(6[RAZ5D
MD5NU<QEL#6B&=WB16$4_E*.W0\1<00:/U+@6\0;JP#>#L#3'<R'HM<_@=#82
M#C.B:>@5=--&H4%>$&:S-LG3YN_AM,<]SN-IDT^NRMJ+A<WWN6 *P"XUI.=2
MHW5AE,^6;--X\:2VHBO"RP(KPN@E_M;:DM=H&;;9 M&+-&@QJ,\B,''3<+H
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
M^-T%S1$9@_DE*=:H;G(K03'%9<EA,DF!=WED2?-]A"_-.!V:*%%W)7"0=.J
MR,:O+ZT/V;P^?'9B6090^!W)8+:7S6PO#=AEIWVK]L;YZIAE&4!2)*62&<+9
M;&N8<9J"7D$W<<CU"[!AUOX^UJ[Y1J)3W+%-4@7;^ '[R0XMUKAOT93 JJ*]
M%MATGNM!&*RTC,J>UJY_$L-D>]9^X+H[8,;^CAP;_W,11#J)[@-<%=@'B-ZH
M!?U7:AF'=\(FC+]4@S8%>"I4.YZ,P#M-#&/46Y,L8 ,[7L)7F,6\]Z90F[J-
M2&);#O*A5W;]BM!'*(I+<I\<Q,#,<(8)M:&;*.33G/8E*VH@':5#G,CC9=<,
M7H;I+T\KJIL0BI-T3CPW;DU\Y4?(472K^[(U#0_@DNWV-9-CKKJZD<Y-4$JG
MSHU7H<.IL$*^&PB2D8^<669\$DZ+)>UPI3P-2Q6C/I<-ZKS5$0?(W+XX+ZB;
M'KBX8E/, %;G#C]T;-/!*W /H%?#_G.\Q"\,3 )X.'@83YF?!*ZZ.DN!P>FY
M&/*CU4X?&:E\#_<1S_"Z'YO+H>1A3BVG&]]E?@K$C*"=4SM+!B&@%]O=@@5<
M0F!2,SI3R^HB!S&J3B@6 E>[WAZBPZLBL##<]%3$]():$2Q$5#K)'.BT8[@"
M+V+6)E;A=G71495+B'*,IE7*L>(7P$4WF@W)X=HIR8TY7KZXP#]W21$CLTY3
MA,86P;G8Q(U20B:R_,?#) OI<-Z)2T*'TE_BR39'J1>55BZ;1_#JX:7?"K_.
MAJ3*7SO((__N.9M7;,0P5PE%17R5/ZNH"EA'TEKJ#:_E'<8UIV7' W0MRWDG
M41!XUAF<\2,W!@/!W?VK]MGEE-WA</RC.^KU6T_C::LW[3\.YJWA>#;KS_3?
MI#]F<<G:G4\IB>6"A7)Q<7][<WE]?W^+?Z@\1GRQ!N1(['@9=A)WY'C '3I8
M"5CG3]#&E...<WQ[UAY]SM:2W>:ZT[Y4.ZCP4G4^3,@T@,(+YGJ[S<["%G\#
M_>42++P@=]IQ=XKB9..IIAO7,AE+KM)S6Z.R'?:"*J!ZV/@JZJ*$0ER)4<X
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
M9.T9".VQ-0)'CZ C]9K;D1H]IO5&GM,H+RE?E8JO<2([6X/-%K^23_+:0"M
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
MT4$*KAE\5+A^_ O@*#I09_ M.FNG1"Q$$)X<%*86LU?1P.Q'G\<5GQ;+(-1
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
MV^O<RGU\FQ-%I:H/^Y0)GT>Z6?=4I!@&_RNPE\^NA\*DQB$RDDY6D4E\ZOX
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
M,0)(MUF,7S :'[^T7.,8 :1;+;X\8C3^Y;'E&L<((-UN,?@/[AS]GY9K'".
M=,O%,\[2_WQB*O_<O>_*\4^MJ'&, .VT7?1Q,/7;#A-& -6M%X2C;DGIMN)5
M02KI5@SLBV:H^Y/5R%E:']8R-&Q[-]IN#?@=R[#W\I'>-&-H0"7 :SFPUI=:
M0/B0E&!G6I?ZEY(4'E6;4X52C<0<"%&6@/#6LPV[E\\_KM3 ,J^VA@0D%6DX
MU8SKF*&'T(@5B6'4:;$SHPN5^*(FH.:#9X>&N9EZ[C(T@XF7Y!5@#9KMT@7-
MHD]!!47?@AJ\\N.O7:)E>7=WOYX/'8C2[KNU!$>('\V'N>'SN$NX<)QE@BZ(
MEN.WLD/NKM?IR;E>K!9;*UH1BJ10%IS"51[JS2-:P"9F15%D19>5N*QJQE<%
M*, ,0P&4I0*V)N.K H"4*O/$ZD$O5>LROK80#3;)5'ER^W1[C,DQ450L*]=]
MKW.CBJFGN36-23<B<Y73P7PL'C;A!+:L*H S*;T0*TK9A$Z;T=3]ZB+&DNSY
MN5(*HD"ISE.C/9UH C9_)$3F.Q]NBWZU C\1K@0;3'F]4&(14L#*AL'KT0C@
M/+Z;P_+&&L".AE&&,CQ@Q K:(,8N)2&E(F?(HI=OXSW2Q!LZ:WCP )[EK*'
M9NA%QQ$H,WH^)O"@ F W8A,V\(<V, //,F%OY@9QRN3]#6V(T8AB.%VD<G>/
M2,Y*J0++_",*BVO#!%89!62F$+-Z3]T?  GT)R!BC"NK#<!, F*=*[EC--E"
M::*KIU?#@8L3FG)2X0@CLK26-KA5%!7KK,D?031S')LZ4G'9U^F*3>F#-4?Y
M.?F.RKN_9S79O)3X+U5N3Q5ZJ7!3PU>)K7_.2"''I@>HT@>IO.3+C3SW>*F(
MEV>3&QAVD]XLK\:?KK<?RFQ>*[>=ZU.OE=?^+Y/9U>#;?#%Y'<[FPOU2,-N'
M$ZGV/<1XG907;_IA%\<$B(P1V2W_+Y+[2'%A5<8Q+1+9AUJH)5+$D2/7X\?=
M(W#,S=;P_B+X<I154P7$"L!0H$HCK++XICTG.F:455,>7QJ(:)"F$%L1I/MF
M%)?ESX )K ]$;^*S]KCBZB-+ 4D>629Q%4&T@-0+^#FV:3FMH3RN-6=DHIR*
M/(*>EQE^C&T>/M3("'K7Z=[=RXFJKHH)S>Z)+*PJPQ0>D:P@UWGB[$NLHSRR
M);@4(,LLKL2W9[(;?XR_5[Z0^JA13+ ,H@G(8T.+T-C8@LDJTT^LLQ:VK"IX
M,:@\BQ.;9&+]C)/O3QQ"7'VND$H(L"GSU&^ 2K)&$%C\<,L1V!?2#@&R9'RV
M@64(P%(4H^"HF'XHE,@F<NFH=*66V-(S8M-?H!%KJP(NEW-7'9EE)Y# #-MQ
MB&@Z6>U7WZ)!FRND&JIU@#D9Q'2RMCX>/C<.IL!#?S#6X)KV,'Y414]"5):\
M]3DZ\O;",<"]/U]85F]"T(LL]#7ZFX;NFH?;=]O= ? ('+"R@JEML#XNWLW?
M. ]?IR^3WX?#J\?A>/@\6EQ-7_IC\1?/'&;.[3MP_)B\SG(& BOVC2Z]K6:J
M*2F@G9CO(%,H2_>;7N=6CB-4!3P*H\WQ0E%$&-TT8?>9&<X:%X"Y_TT56!CT
MF[7KD"5I+-2?!@OL>P%'OZJ"1[EJ"V @B"#30FTYUC;<8K6?^5TY_1.Z=6*(
M+A5#ZBW!3S(&Q[^W&(-2,12Y6]U/LV5VFWQ!5="IM&(PBD41?,IG*6> [@GN
MJ1VPC+Q8K;<H&!/ML)--M_=J!%!9SCKS>WS^Q$!<O4%EJ4!&-4\'SBH08.Z1
MF)H(HYR!ZP?P0.NN'>N?PQ&.CEO9NKK3B$): 18@[K%:)8/D^.]]_V#RFJSZ
M[^^V9:+9>6[8!LJ<_.QZKV")DC*/''CB,APS-184&I2;^7+K:2A;5T*-5TJ2
M^*N+DIVMGT-GV0!QC[]V(6L%_0BX5%.<H-\<$%6,$O,U-L,6?34+R&VO<],[
M>\)2ZZD-"1/XJB:*9D88A?#[N^:H6_S="WEK:8J0$:*5]-VBV[RZ7(P:.3]B
MX<4F9)W@QQ+A6>,W4,>/AH^T<;AHFD2R^ LWO1IEO _MY>]#YU_[L^&_'OOS
MX=/58/(Z'8[G:?+XY&M7@7NU_Y[Z%Z4'Z2:K8]W-@ TYN42':#_2+NK:<FKL
MXNS"Q7>G=1N3E86^F#Y]ST-FZ*B/C[M#F:3?_1^&MZ3+/%^S?56F*SY<*<Y)
M+T)%BL3>Q+TD!\5ERJB"=S,H%3CNE"I#$62KJ^,@HK-$BS9R:29GH1?PJ:QJ
MN]T'R=FZRW$OF$&:THLBE$NW%O/ -?^*MQS$(#YL>=7 ;PS(/(?8=*0($;Y
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
M^TJ)4[:X-AA1B$4P((O$)[)Q.D;\L:GG_@G,(#D\O%A;*P"DLU25AK3!M);
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
M,.96^JT@/-$]1['#3A]%--B 23^036CM1JGNO>8W_1\NU(%_[$"JS8<N_)
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
M'C>X7$G9 H,\ZDE6"U_3DPT8F-!H6H'-64_@T,)-\1<O*5M@D$5!,A6KTNQ
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
M(_Y*['\\W_39V"6W<8 ?Z(;WTDG0/?(KKH6Y74O8FBQ-!8O2C.*V;BYU^F1
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
MI-/.$/%'6.M:3='+<K@8+V#B,A5V<Y*A4N=[_=ZP/S-@B"5B<T!VU852B!2
M6X;*I6]"S$&&RA(S$G?$4"V:@Q>]3@.K\"4NE];MEJ'RW?3\//TZ\MJ7]P[K
M84+Y?&K*:VUV)2&@0H24Q&9'JX^9ZM#N+:_5EWM%$#\0GOU(;ZZ;_&_'9&6X
M/Z0-7 <F:/'11L*@EEJYUH#*3\5D\TZ3DP*>C+-(M2CTHZR&)VA$CGI_#0EB
M3CH#L1H%8M* QI&*J>:$S>54_05L.5<JQ2(-4OXVVP+K#-D2FFT%QH=-,:0)
MA/7+U\J6'[(M2#EWM^:=D;@[!TP+P%.J3*/,IHOVD650]G+'C%M6[%>2X97L
MAHJ#KR9J0VG"0&4CJ-,"BV'^XENW+-!ON%/S:_9N@EJY9-7$VMR$X+;?(X<!
M,\]?1?5+7<GY)^W6?)Z0Y^4ICHE.M AD4*&%0<ULE,-J!4VNAU'7F0%XX:0\
M52\C2:T4]VEHY3?)SK)?Q_*7E'?+=DM)47E2FJ*>MK"6LQK(C).MZ[).#HS
M/*E%<:R1.TCE(VQD[U'<\+DV@J9L.!TW2.7: JJ6K@%VXLTDK1O>::4+.= ;
MEKLY//>H\<-?ZR P-&?7P*.J*?N_ Y4,#H_>=^+0E)X0G<F$"@(8<B"U5Y6'
M]*:>6[_J-43NJV(\#\GGHXT?P_)!M8[GP/Q\MYYGP</*,6_2X&+Q";CRK66]
MS]+8ANN#5"!TK&3WP0+.RUH^QCJWH#M.-""8S6;#UGUT3"W#W(7FWZ<.KXSW
M*W'_\=ITER1)^NM&]H]1*]'$G;$(8X+()?P,TLCYI)F_J-6G6'(RX!M-7J))
M=F.#JQI907TG]%-WZ6A'VG(%+!BZ1N.3AN;W^@-/,7/K]YW'D!?&>M7D@$_(
M\36NX4R=^28KS7NB+%EU'/.3;GE5\#GFG2[79ZD!GT\-.)?4>,T'*=$53!#&
M-$[+77?87]"KED!>U^SR+3[(M9'DU ?QN 1F9['>%HWEF-'CZ:0['ET72[['
M!\D!31#B(4T>7+GUF6G&LF3#][<:8:[4]J:'APG9G1:<(-\[S2#$V=1X?(-5
M3JCQVC2#4M6%(BR[@BGP/"!TL"ESPX*[(3\PS5P=24ZG&;2UEGK].4.;$+==
M#R:-J.(/<Y<8GO]IYD=H\N)N1TVV9$<!@@Y V'&5^]#Q;F_C7HI!QY#GV66%
M!@BHR/?OX\9?Q[ S@]D]UU'O IF'KYKEAMJ>M8=]&A\0+D%OH5$)RNT4]Y+0
M#WLI9TC],B'L+U*0L_OP5KSZ&:2+L8/TC)__LXIV,M]_0L]"C@^F@^TZ,J/*
M$M>U@&?8_*XU"JMG9[DK!52SRU\B<"7SV19WF\B(;DY-4%$@?KGN"EOUIF>W
M^>R'%>T,Q_'XP.Z(67:+\![G_046']&Q-_(J/J!=B>7-- +NM$QT.S,&6 N=
MT'P!M>OXQ"NB_B[%NE2F17Y4ZO*99V?/77N \^<=ZHMRK\G6:YZ)UMLN.Q_-
M@PE=0+UZ/&L](^^;8WA3KF_V"2M4);0X=(R;4+Q QT.UR?>O(<:1'^VZ6G?P
M\NKU 3Z7&N/1R+:&93$B88IL\(V55LMM9LSU@_F!171>'1&H/2:JD;BNP*L6
MN2'YK=*K"C=3>7-$BA2ARJTC(D_D:1]J-L<P%0_$94N<:]5%;@UW$;7K:AV1
MRZO71S8/.]MX@WC]KFG',=XQ)#]<Y#?_X0K!/#<1F_?=M-$PX5.-#DE'S2HM
M>%G/:\DP\< )T+0%E- WE"9PP+[UNZ</L,\QJZH(\RDMXB.]-",F*L\3N742
MSAC[/0?>'/S%<NCRG*K]M?09#+K!$)ERM,C"HU*P1N,&EK_ZXP6C3YY3,+^6
M/E;+KT:++J73%%<2B784X)%QH\^GZ)./U*JW"KEBS4EG"E7-,BPP+2.:S!'"
MZN<ND>[#%5;S&=QX^XK=D F]E6XT>V:$THW.#.J4:U+NO, /5Q;-*RQ'BSF2
MK6COS5J6N\E6;/NJ) 'PTZ79$P/[]'%N40<+D*[=U*$<G^PVUYB)[R&![-)X
M"K(ZT;<AR-]5,D?K>9X@[JWM.R11,'+ WT$.?341E4"+2+$91EW -6D1;N3.
M&A>7')>J3$A\!SE6_*A3=Q9V302M2&WA\6I>JM[(\67U"(D+D:/Z'>38#!TT
M7.NUGCG>UMLJB];A:G[/_A>/'-6O)0=^N((#VY<T#5-O/^N5H !'3ENZ\PJ/
M?\A"LHH</(Z\D^HRVM?Y#-(G>F!#*HH;I2-RM'21Y*0_*KMV@Q->W3^4OMA1
M95\-1$]-NY!92+AT#$36R_&ZBIBD"=9\NZ)3!+O-7TAA5P/U.?'MW='GY??Y
M(/:[!'_/X[,D?Z&Y#X-@_ LO"\&>^$67)..]23Q4_$L?.&FFXSJJZ^P2_^:R
M8W*+U#@ -7NLP]2XP:&9I2 B7KN\\$U9DH$0+HG><I@[3O\HR=YAPT^AN._
M65A<S,.#L:_=!J@^V :HWJT456!(':#)%KWKUPL5R;NR$RWDK/!V5E$YVTT+
M](AQE,=W[U*I?(RP(2M9.GIR2FS#22>[_0/'O8*.V*0-FL)$O.N&R]#NF"60
MNR5D*J%_'DGHN?+D;XCH\SQ]*ML'3'TBW$ON153/WHM('_V.8/('2#S49<-*
MK<K^UK//\5@6%XZH-,5$9&D4+37:*]#<Y,X:?X3'STKI6JB<C\#VB]PEMY$M
ML^XB6AIUV3 4W6C)81"E# ATM_G;/'*63UB'%Z96&^:T6>3Q/!,"*W<KII?9
M=^8X"Q)F0^[N)#S/* F1 W;U7-N&'.^N*WAP*V4K_2^_T5%5I)!(Q&IUIBRM
M"@3MV2.]'+C(%RX5B'=BFSJW2Z"$+'N LZ[I,:_-4G\'E>LMIC>M(BVUJ//$
MH\%=#,$OO1D2?QO!AAOY;=F3'1  (9H'1CIBW[B[*B\8+'BCAK<X$<@$AJ+3
M&J-4"X3AZ\.['(J76+)_'$6JOR7DJ6MH(C>9HM/^PFAW^C<4WT3Q:Y:D>Q11
M":U^D0LT]6 ='G4XQ$QT7D4M>=!S)@5:2/ZT"P2C$%K],A<(OHNH?6R:[#MM
MI1X-G!Z\ZI?L0!<9I1,7U>OYGFD2_MJ+M>^6UO@'(>R8&*;"&]L4N04.E]IR
M0@IV@>SK]T.(X%^[$"&D%+R3L';'=;00^'8=S,,G6W24ZZR!'QIS"V2?'[-W
M=*<]F6CA4F2WTQ4_%WO#K9L[37P0KGTRP(?EE9\9X>6"MP2$X%\8O'TCAYMQ
M%-<&V0YB%.JN?Z*HNSH&[<@W M78WS=R0)<FD3YP)1XW#99FVV%0"^E*[F;-
M^UH(SPWQX<W+SXSQDE'0'\_(?B\9LLT4/Y%$06J; [9%-N*E*?>Y4)V7*O5.
M*;<9&"\BOQ_0/Z)P@_DIS&U>JGD5S)K$O >S=,EUU*X';6:%A;G-WV!^"C/5
MDZCY2B5KJWXH1EBY7U,XO>KXN7.VSH69ZMU@?@9F4I*->6\DB\84EHT$@PG0
M$092;IVQ-V$FKQKFETY+?<A1&U4P&NTX@41'S96BS3; I?);TR%?CEH.SCZ]
MFPSWCAHW\-*E7+T4BT"V.+^TF(+IH'C(7]Y1*S#,J:.V1%J=WM9D6G1$=M"-
M4%F6N?Q>2?*#CEJ!84X=M3FIKAP]P>LB[@1C(>Q(BUH![?CE';4BPTQ*WL*
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
MY) >.N5V/G\#UL]*6[P4L%ZU9C>I\EC3G]0&ONV-BJ0#!BG-C+W+]:U6XP^
MSOL]]\2,3%-:B>%!?S*4"Z-\$@QC#Z/(V$\1@-39W-DKJKD$0]I:M:"5<5)=
M#.:#Y:):?[JIN9AGVEX)6*^JN61U17='^6T!7Y;3B4(YF\PS7.1R]^*DYGX"
M=-ZMYKJ@Q_(K9M#FN3Y/]:N9):FPL1=(45%SWYGW3XR3.#*5DN.Q/<2[*2IC
M\TJ;6506SH9/JU>?X_>M'"<3!)%(XA=/(@A1K]7E&1<6+6$;3!;I%!,U-=W+
M/\T= L?S3TM<;%4C%Q??\<;YLIPN-YP8X)62 +ZQ]NK9J;2+!:8]UYYTG&(K
M-4%=Z)M2([+6?&2F\LOR.=PS4TU#<D2[:?H5 @(E&= AARUC#4=M&H]@G\C1
M'% Y9\6OIBSH\(-<NK;,CL>1FU7WV-,38]O5.3@]N!\58#PKE.&082OVM@4!
M;T/MC/;N+="X3NQE855('%,12T ''IKV3^]LXGG?:&:,08/E]'HEUQ,[U5X_
ML@([Q-@/!O&;@X^9,/\8!%P/DM<EMW:)99N.6S[$G_U5,2D-LD*)P#D<Y[*D
M^-AO1V\9^T.S_]JX8S;Q^)5XWVY0;3IC%Q,L(!;J4WN0J#U&MTY/+'C_^HF]
M%^/]Y9+J]!V]]\B7C,V@MV@_Z.K3C?>_>^(_9_;E%5D0%4&MPP=4 .E4,!QH
M\I94P;*\:SM'K=M=C91%[@%GELU"N>-HA5$_;G9@V-'^*,-P#Y"TAPG<C7\=
M?KSA%T!82H(IN2;T$2(F9(W#']/)1U[;2DFC9+?7$S%NB#@[O&M! ,\E\'1@
M7E^!P/-'KY_5T@$J.@6]!;NT#=2."_C]=9^$SS*_SKQHY;?!.X&]^X(N2(J@
MNV2OZ+(I>%+7,4'1T:6*+NZ4CO6D+;4>S?%++=G=FJ5<;IJ.K,GQ"OUV<85C
M IY%V6<_>8+RN]W\(4G_,V7@9QG M13JD(13MP[.%W.#9I76%8[)3G%M]F!L
M&CTR4TY'=D'J;6YXC9HWUHA68EKT=,-([\I24S$L?"LFJ2:MU!.EZ-;.NNF&
M>*2L?)P!OE<W5)AYKM].&YOYLN24DY96P(=ZC"VEFVZ('&N<S9R HS<TL*\.
M>/*L1DXX+!5>G1GL1J7]A/?S%*Z,^CF]SVHB7HJLH?0*^0(5Q86W5R)_+OPC
MG3@4/=-HU9&YY"#_5&9+5J.^R2EFE8ON>7,WT^BG,\#WFD;);:&W+LR:^7E5
MK$IBJP2R="_&W' SC2+'&B>KI]3 5%!9K[[(:=3"271D 9%*T:<]!=BZH#'&
M?<V6GO&&9R*@!&_'GAGFOD54&]/<CGN-<>Z15%<5YO$1=\QF42=)OB&-(F?R
MH&HJS\AR"D5OT>7S*#]-4-@7CZ*_>XT?'>5Y9P#TK P>"CK$CSY]4-9" ZSK
M\!%3$=0N$&>ZH1K3[1&:2]U)H9JN3P<LQZSMW+"1F(J3N/FHYP7ANXAQ@U<(
M>-4<8RN$19?XM#3,;$(U^$1IS*<7TF:[)>*FYL^CZSVT^-'@>F> [C+@DCHC
MNDE8/1+G4OTYW\YFQ3P1V>R7>((KRB&N]X*+<YYFAE-],G2P3STZD-,'U5,M
MW9#+/9;E$T,F6Q>,T8S7(V>S?1A486CPDYV""X.I8BGJ"I@[YMP%4[5VFW%F
MV]QHSO'9IVRR115SCS\-1*?'?@//I=7<J#BAYA60M_&2*NE$9F)+TO)F0_TX
M<&6/P)6]LIJCIRDMV:BEV::R&:>%AM1L5WZ:A/HF-9<-#Z;L54^]0IG3AJI(
MB$)N<$<!QP>A]03(:Q,55&!#)K!L+P+4,A5-,-'I+T"&=(%_[F(%>K=F&U93
MY#G5S$Y'5I'JK")G<+NEW,Z,/%BTX3U#OR16ONR4IDM/?W:M)ZV*/LO.J41U
M5E!EQ=Q8D0L5Q6CZ([+AX'P^^0XH)4> 4M<&H#E1E:G@R]Z&@-83#NTT%!U
M^3PS 20KI+F@NOL[&6$A0)+M4-21\MFQ-LA6<*'3G16IFC%BZY'3/!?/40^M
MZ]ZBM=^#4,3^T3&G[P0Y!U9 ;P$3'4'V"M;9SG3(S?1DFE5,/J=5Y7JFWHVD
MPHP!UL/1_!\%^?=!EU6F,ZCCWD:M2!)L.4]V^$1];3E\>\QNHKLD%!)#(0?_
MH^!S?O.Y"J0ID%!ZF_/L:&24Q^#?IBW&4)%[90IJ7[&A0V5W$!5]F,B+EL87
M'>>)!66FMGQ:XG1S&MFXQ(LA/]MJ&FK,47<#PLJ+B\P_Q<K%>F_-$#@I5XQ.
MW4RVFZO(&7*1G?]OEPYA[*D:E).>3&4$ZWEIFN[:X"T:#E%RM(6B3QF4IP'-
M!T%1X:^"8V]I7>($&4RAB):@A2$"(,$[NR@Y/ZIWP&/;G./.<%13UT2%8*-9
M0_XE&8)5;#Y)AQ\-JG,+PZ\>6W^04X()]J4NK*&DENI;O32G"@F^SPY$G9E%
MSIC>YX:_-L"#[ F.\"<OXGX2"+0H>H<S *^2(7K,!#-$]!7P\L9\E&Q!C7):
M_27'@IHT9[J"4-PJD=5*(5$2>O@_"D(G8]H<G"?D@C9ECV1U )6T5-%7P#N:
MX^55 !J"%M!=H7.4\7:NMG*&#0EO/J3-2DIKS+?52.JGSQ#E&S.&KQ<)3X[3
MWP*95J_3Y+I"7V*72R7#6.N9ID1O-_A/@0R>3.#I2T$FYT*&R'XU9++I7#,G
MYL8U?CFB-&(]%%O%Z.6*_ C(H)79W 4A0^!CDD*@R7PU:/;6DS.Q% DM5*&]
MB$V9LPUQ?FQ"F\H*JM^6*HBNH>$WL,"K@RY?W>H\D]NVJO,2/R[E(A>\B0KJ
MPMMSY^8C8/&?G) K 3Z3(/ $2?V3 %]I-7=Q;%LLS\IS^FE>91[,4J%0STG@
M9K]] <;W<Q!U6!^\5#SHIN)[-S7<GC&_A'&UNC,#S7;.2N7*!N_4A\U9@<].
M.T;DI&O(C5_/!G=%%Y/ P[N8^)=$*<Y./^?HMK$H*M#W;MG;FBW=T[I4<G0=
M2,(L</F9^/(.]2@*HJ+NFMO=:ABZ"43#,:U=**/=&N2;3EJ>\\*F"$J/3Z,R
M9<4(1>^CT><%TTOB'B32"^K^J$C)\U12ZBB5E/J@%"NR]9F\LG6-U4"SL%(H
MIMR-WB$IT9)B!!4^^9.Z^/2G BLY*?\@E-?V/5N*2QLOQ1IQY_D=O\Q,T*?6
MS'EIDKTBTVJ*#@T$[P'_K08$AS5W5F#>[Y%]J540X:1$SMU]!52?H=EU9=Q+
M:E]S:2D5>FD)/GHXXB92V_N[,T%1!3B%WF0^ _8;&_R[Y;&2RF:M.3O>L!JM
M6(5QID(LHE?3Y2,;_$]2YO/P?6N+?[?\HU=#21>RN[_W A2)"5#1:=$E Z0^
M:]F*!C]YHAZ\GY]74^3G^8N7/5A@E2RSR[5H]%@!WE.%1T9[M".[VAJ&A(&Z
M7<]I^'E@1_=D@R,F(,,SP;-'+\ $5& 3'>59)T3N^FDFZ ,=! ^W7?2KKNB*
MYFC^_3IA2:52LEADERMYT<WU2ULY$3DS]_O24$)U;4_@7_]!/X\H?#5;.Y?
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
MA,VF/!GEK;@*S)_IV,09HA]U;!2SV:ZFMR W9R8;OEYIF.OD)*Y2\^<X-I&
M8N8(BIF04*P+NB,+HNV8BC[MS@1%%70)R@>HQ=XI-;OE<:TQ=L:"EJ!YA^*K
MP@.A/?*QC9^_39GK0[9;OAID,^$AF[D69*D/2<^CB>DIP-8%S9N7]P&VUQC+
M-6/0RQ8;(JZ9"RJM-?/;SO1' /8$7:X/UU[C:G"EOE_"OB,]PU*\W0A609 !
MVIQ_ *>WX]?=K+^ 8]@V! V$ ;J;%6[-'#@'.\$L/8ZFM;E 95E%+2U)?JL^
ME0IQ0N]Y,GT<J][^WY?T?9-C7A+X1R=XO ?,#%!5:RCH(B+1.\#LOWEL3FS9
M.2=9Y;4Y+ZU&)(_C.5-2XN1:G:?']5![BI(W>'Y2UEJ**P5:QAJ8S$S1A8!L
MI0;TMK(N]S8XLQJ S,P0<U;TCJJ-F&Q]A: WL'Y:EIX':[HA-[JM BNQVV%]
MTV64;5NSX@76[Q"I-[!^3[$D=6#SN;58J>%D.]_H/O2R>'X3.0O@GUJW)G*
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
M^V,G.G#T21O:[K:T>\677-F#A;#KVE^V%'S0W>LG"JH/51>U4$[]O9XI-DC
M#HG(VEV;PN+O\VU>DH1!X^:9R/[UG ]D9'/;__ZEP$Y;0(3@,=2)H*J&/3$V
MOZXD@SI@JEBVUQIG"S9 %P/\TNF(+:NT33W-E]UDMY\>$S(QID^!8D<H#DP-
M@/$5C-MJ$/_/P8L DLND4@> G!!;SZ;UVR;HA/5RTF[^]9\.6ZIPW0[=A4:*
M9VG5V487:_$=CJ?A']TF!JT;]RY!_C'Y$VMVT!]3^$<1ZY99+&#[[.T>FNFB
MVT0NF=I+$)<T?R'^^,MEJPO)E$L)^&9GW],;UT>6ZVE==P35.]0JP.SSND0F
MTD0AB7-KZ6E09R:3=?$"S$[],&:G&PV>KF$=MM7LG.'QI,O@Z3^D*##X,YV^
MY^<D]=Z10RL9LV< DQ4+,ARV!8*)0=L(2-@)PRX [=_H$#<-MC>3A"UZ"^C7
MPG;+S2AEO9S_ +@MA=C,"H-L@5WFJ5I74NTLV6N_QH]'G;Y\AQG'1"?8%5U2
M#B%-7O;Y(?/0F1($T.<ENT;.GHR$/N_0[YJQ A"]#/%D&+OUM9;N,#2PZ[D:
M-S7T3U-#[K9F-ZSP0A7)"CFE9H\KE>=L<MXU>VUB[B9LWNS.(Z!#D[/!55R=
M$QMU1+U'&YW6/_8>.9BW@\!=>L)LX[*>]DT<_9/$$3<#JNH?*/M"((W4)U)Y
M:$GS>5^8L+T*CS= XR:07L;PRVRMAB+V+;HQ_$?()&2SH152L$(10A,L'<6$
MDP3EE&)A%L(4Q*L+*G@3H>K"2S!A@G5D^&#=]=>%7.HFSTG._>K,"5)#YM04
M"VUSA!X(%*.Z@TS;WZ><C\N*"-;=[%:$WVRXGPP(!F/T4+&AG,)QJB>9>)O(
M<N3\943YM6'A.)%()@D\<\4X_NGEU&/L7)^"NW"C;J/BO $J3J5LD>Y4Z 3+
M+3(L>"P9HE1]*R[/T VZ4*$;&->LT1UO]:;28.Z_V4<)0%LYD6Z!J@<K(@K=
MLQM!M%T:(?EQH TF0,&Q "+:<"EABHXIMH6),\&$'_L3#NR+!O.6X&OL%IXN
ML]1)W)8ZOP1UKM?EY4\=PPXI R+SM^4A4M%M V/UJ:I8LPN"+E36P.O&()"F
M@KDPC97H'=UT^=",)ZS0"5(F5-B'Q1'_K"C&D(*R*S$LL;,191?FVQ'.%ZI$
M%Z3<8G7AK::\"2%GS3#&4*%^482S$NS&9['ALP?'5"Q)$7>,I@3AA$%'UC"G
M@JX\N;^_E\.NP3VT))G LOQ_4.$0(L S_&KD +4@I_AMA]_D.=JF$Z/VNW@F
MG4I[*I]; ""M!&@/TM $=P#6!Y9]15,J4O1EX)]-LVNL@UD.M%%K4[WBJH=3
MV0=V5)P5'U?@?=0MP>E9S.ZPIFX+IF)\.G;\^OJ *]=]<8X&>BV1OB.:]Z4
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
M>AI5 3+Y);)\8 <<4-DT-&_XR.J?&0&.\!Q"=&ZWHWJ3/T&[JMWI]&LPH<>
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
MX"WL+[HX<P\>5B&#Z=YIO.Z!C[H=.)%U=^EN=\PJ%!SJ]J!\7IA(-Q#>0!@
M(5\X@4(:SH )!PV[)"%$F-8+5*+C'KVCFST BNXYP_L7;P"\ 3 4 /.=V@D
MYDWA27'Q!VU=-2SZO+=NT+M!+Q3TW,/3@^ +G,C;ZKQ4Q.Y9[\!8J,!/@+.P
M#EAXA[\C%\ [BAYLT+G.<'1WF&QXQP*[9T9;X'!*]AL&XQW6%90U.JU:E[RK
MJ!6DW=&!OH*D*;J"Y*Q[]J\)IKO#Z,L&-!&JZ#_[%^N"*#@WCKAQ1#B.:!:.
M4.^>#"T:F@9,[RSI!3"]L\S10>,W6-U@%0Y67,6'U=U.OJ[!\RN.]?R*>]*Y
MH<$^;T^8"/#N"PE]?+R\)P'1&?-WF "- \56K!G&&*JC310HJ=VG!?@)*)T]
M6-]AZ#3TA0DD /U["XIOZ%EYY[FC+Z.;(I2UAJH@_$ONT?4*_* )G[AQPXT;
MPG+##I_/1>W^%D0I!&W-ENYOL+K!*ARL_NN$D-P+Q/>Y\9YDO$'O!KU0T&-;
MS$M9!G0X60"VCCRAA6E ? %M%[M$6M0V'1$IW1O,;C +!S/^)<J0_&(=$SHF
ML$N\?H/3#4YAX52L=%_B209 2J!U/6C3R_(-2S<LA<)2B:9;+\$T!3HP!57=
M8H(H@@7R&.$?AJ.[:WD+J!I%9:'>7,<;S$+"K&J80#AIPP<#T>Y3=YB@6E[P
MSM A N=PZ#HF6#O/@(.3.<."#=Y0>$-A*!0V_T?0%G_7,=C62A&!]5+P'>+$
MR-C7! 4E1PFZ"/;OW,!V ULHL+5:]$M\+8PU%'T+QQ1G@@4P86H"U[>\H>J&
MJG"HZIT U<RPC96AVH(BWF-=M&X;N((!64;I5FCUU@UGH 3!R1:#1!%GF.7H
M*OH0NBT:.J(@-/:@V#,PH,+73$54[%M6U@V>X>#9J>=/!',[0-<4?:*$#>*B
M?(0;Y&Z0"P4Y_IZ[/QU>XW4%"3/.%FPOA876X/?$&[1NT H'+8X]L3S@(LO%
M'%JDYP"47(>%=G8##3M]"C &NJ^*9=W"NC>TA46;-1/,@T\:4)]>* 0[OK_7
MH4=W[["U8L\P'1J%@HFM!-4!=_MUT1/Y)3=PWL 9"IS=\BG#KCL3%&PBS.R0
MEAUZ7H7OWV!W@UU(XZ[ZNG%7A7V4#.T&J!N@7@-4< 0+$R3<,?SZ#[:#S3?!
MN_\\<W3^XDJ]?T+NEOHO!.Y:L&VH_N>*:OA_:E#\NG^Z;TX5_]=MO]V-<3X
MU1'=.0%$;S&.EI%;K6.FNWLCE"40?/'^AL$;!L-@\+^>"T>>.Y4[>O#.WY<\
MBMZ[R<,;%D-A$?Z3I%)_GX ?RNH+"SDW"U T=$-31+>-NJ$#6S"W7DK@_A$_
M4=!#]2U;\ ;4]P"5H))_/Y><I7SK!'1W6XT6J*[/>S#L>6,>/"/HDN$W@$8;
MH.D7 'UH#4\ ]$& ?006P+9 #PE/]Y6_/6C"ELZC\G3A)\J?4[<<4@0J_'3#
MU.U1=+25&RUZ.28F.)(;*CG: "@K**T);8VUT/(8RD&Q]MN^MP :31B W9&P
M A"!-@%^S#A)W&$D3N30?TG<G1GX!^'^(;AK;*>>]Y[<]8\D[J-2'NUL.2@R
MY1,>WQ.>N-5#N]5#^W@]M.\0'?"[?8 Y4%PBKM8-*"@FSA:E<)N0YU$5,)0L
MQ"BV*RA1+X:&.7?%@.C2PX8>O>5&7>&SNRR..]<<M>ZP8VOA#@L*YSOL^0Z^
M.^QE<9X[;+^"<(<]*YWBRI27\05L 84]\M1V;2"Y(R(M*2M(KJ&^P^\8FG6H
M7C'9N@0H @EEM<.!H&1.@.4%?7XT<*1#T(A51)V(#!?VZ6BTNF$'RKN90$0R
M F5L8=ZN\[=DO+L=W%,/$@94"ZQA6^#UBG 84BKWV(OB<FZSTIU+W!WA?*\E
M(M1S$]F.Z+>&<-$$">Q <8HK_(PY>&.GS: 4<A495&=>WAQJIE//4_?)#$FA
M2?HOXA['7>L%N870",LFTT?7D16.WV=2>.;9Y?3?!)&^)S(X'KC!P'_)3";X
M+,T7"/BY3"IPK5O.)Y/WR>31N_E.+7V?SJ1R^VLN>49T!WXG%WSV'H/R01/F
MB QHSDTX(;KM3:(]$VP_0_]+I_+NU#P:SWE>0YM1+,_V,X'+)F]#&+*'HTK8
M3(#,/P% 1\UZER;@>?9C\'-?!>+3 S_0'V(.38B(4H<U80M[#:^A?:E;M-P/
M_00'[<!W40S?0W=4]1[CP+XX4 5* 2QYCU7!%JOH,E)^:*[=JD#DWX5[K*-8
M<ZPHB+;A1<W@570)U0M279D"*=-TT"Y_M[J%BROTNZ)+:*A;_YVBZHBVX[;M
MJ@ZP2XLQW50LC^:"!.EM ;3)R.<WV-#$L11(44@G3T@AMD37#[(,SI.D[%/T
M(6(=U78MSWWNOK5;,HQ2$>.86;ODS=J]6;N?KOXK).5L%E#)L41-A'%*G.3&
M63(ECB6"E),I@8+*CSRJ_EML=OITIU!K-JN51JG2@+_KM%L*F$QG4^Z!A]$K
M!NQW.N'W&@MT.TJU@4-%#J!TM05%=V,!:\&4$JIAS)$0#IB0KF7@SC9P=QX[
MM@,M2+!"-U_(;>^F+YN1C>4)[#OW[@)J5;04[=EO@></XAZ^Z.HIM ?++\#@
MB?^[T[+_;J]",+?2')AZ6NK0H@X TMU0-Z(W/7-.@-^$NG.*M-$$JE<)D<8U
MJ/VZM6"#^NEK--<-,8U'('KJ!KE14"6_0C+4OFMU0HD)S&"]/DN0 ;1(3"C]
M=@$MV#12*GYMO.-\TY:IK!#= WFG-?C/U+/9.@#1"J.1,I4Q(I=+WT//QL&0
M.:$@B$#$H 9WMKO7.60) Q/:&%"20VI9#B+(?K\E-#3N=CW;U<!25/7Y-8]
MSZ\*\)/B_V/O79O<-I*UP;_"V/6\:T= />K6S3J*V(BV+'DT8UMZ)<UX3VQL
M.- DR,:(!#@ V*WVK]_,)S.KLD"PFZV+3?G@PSDC-TF@+EE9>7GRR7)-K^I_
M(AO=_ROJ[6;]OZZ7>=7_VUFQ+$GDMH9!IV(U\+JR_2OVN'S'6]S5]C'926U)
MAY'L)IH!250K._I\]UZ6U46]O&!'@3TGDHT&%A(+Q:9B3Y2K!FEC]A +=<0R
MMF?YP+!GQ49LM2 !==\3U5HME%-Q9.4>P^CQ,F<UE:BGIEB0O+&HL>ZXK)OE
MC"953&;%"IJ0V>%B;5<@$*6=?5=T^+B-*&%4+!Y2+F<4PD,50JCD>5_^RA6;
M&KB_Z4XJJHNRJ2M6:^"7(%^7%#[]0RICA7AB)%<:1>YC1 YU#RQM2$N)<\Z6
MZHK!%?0:L3U)*N?ULJSYBU!X^/I9WI$Q1%905S?DM9J=-];]C_+XX??PHJ:)
MJ](C^WH-YRM<M)/QCAT%[*,4'D*^Y)1K37\4*G+LIN?PZ]A39+^-0]WYK!9.
M)[7\V.DOJPW]9='4E]VYN9WN06(,EAKF'65UE-4/E54FQBZ8F_JB0)2&HS>;
M1!/NNH=G&XT4B3".C#RC,'[@S8PB62V#D=3AM"D0]FLXC$G&HRI"Y)!7') K
M$/*;EYW:DZ/4C5+W47&9,U)_<R;F)_D[X^!,4[*0S9MZ)0J1S$3RBZ?G>5E-
M:%BD! ,+L2T;IZJ+A3*6T7<V\WS:;1J),DKP>Y3344YOEE/G))LQ2!)Y42SK
MM65R:-/.:\:2R4W-USBYTR20>C.S"$[SM3W)$CK7G("N7.'A8FS2%_.J5?B0
MO!#M Y?]%XR$5*-4WUJJ6\Z7L>=3_&?#SM(%-U,15J"6OC3E?*((]F4.P"-R
MC<62H66=MUGIWRUL!G/CH_&Z(C%=%DY<1RD=I?1#W23!(+9;,7/^VF8YALA'
M\=I3O!11$5 1>JVOK/7N-H2BAY<(B(M1WD9YNU[>PCU)IIHX,D T1,^$;]:0
M;JF;:Z,\@LBM^&$DA9P8!#B%O**2'C,*XRB,M[, -U.FOIUO..T,9T,<E ;
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
MFD5>E;]AW0\U2/8%E:B_O*ZV/%5$_H7):V+%^C7%Z#</1@Y" BSS#'(&OLY
M$5'APIZ:M. ?_$!2.J%C>J/H[T(_S\4MK*5A.GA47A<5_==9>3CV+0Z 7OK6
MZKQ!.SLF,--RD:HE?V2&27!.9,V7T&4.EN?YAJM2M!0E)1<H2F@OLRV96X9#
MCOF:&33E1BK),!0+D2.>+ [A8ZR@P'IAT/6_L,ZOV +-8FL<X0Z$S,  714T
M%/(BSY4O,C1M/A*&AY*LJS<@(WA138^P"*"#(!-P6>>57#9=VX/^T49?<#B,
M%:A2'FQ)J&C<=YS*M+J=X*#-.%YH\^97#(SEPR;U%LT0L7"VDRW;Q^:=VLI)
MXV%E1YA413$+2,=T W% 4K8% 2ESHTE^D-KJ0F3)-JUZN-(=.6\:]AJT<E;:
M60ICBI(4:27N5@22ZX3(KT L*41<V-"/9\S,?-@74?GU; I;!EF4LZ*[+- M
M.-59& O^XQ(1BTO0M,A-RLN<%"WRD[*^F8*]]M]RE!<'$^)Y48'>5$*&@5 )
MC '+7!JKYLU%<8?4J#@_()2"#:>D.&R'3*\F/]6SS5*L@#?"WT&2J_(<UO8J
MFSQ]\T)E^FE-(OUC-SN:?&W41?:9V@;?9%&9VW=89E^\>FG?D/A24ZQSUXM4
MOX-)>?7%PY6G[4<W@DA%'+!*^@_+^HP$]!G=&(NK&((&0Y+(%+J9S8J8E/GJ
M^/'1R82V=PE*QTKZO'R)"?)OQP3YF" _P 3Y;6R;[5O>*PF.KBP67'@NZ<NO
M'CT\>F1G-YM\=>_Q\=&]<)99:WQU[][CHX?A3S!GVO.]3!RY=LVNV#(9H"F.
M'SL*:J%AU+(EK?T;FI'AAG;.[*O[]]R8,8V3NP^/'J=:ZOCQCK>:<:L)C_31
M)]\^ZC^(KQA;F"8ZQ]R9NF_#!?L.P3.?PA=;)IHQR+& 56I0->_P#UA1B_X'
MIS=W$><*$3*(2!O9%<#]I6'X6XK)O?CFMV6\F$=WPQ(PNWBR$^V@.,#P"]=-
M6#<:>MV8W1FO8[KA<$EC71KE%JQJMSZV-"A@"8F ;5@$_[7G<6FZA)>+,V+1
M\9+X%KP@V<TYO..0B>.2<NG*@DFL8!9P$ S_J7?M.Y[)T.JW9C.(?,WJ%?.!
M3B=T!S2@TVK-!PGK=&C1P:'3.'Q.8!B<''WKE M)S8/T4#ZX=R]^P^N6&Q5#
M9F@&):KA'XNJT>+^W?)[O4X)L_GJ^-M[43?&0<%>=^+^U;W[6_.Z?[)E$>V>
MR)Z:0[V_F\]G_\C@X?!7V.VIZM0ABQ,.J:L]M/3A>/-).\'+&"(2%PO<8-.-
M9/%DVRRJ'!*1B6$NA/]^ =RVK#?-]#P7GG0]^]<?] "/27<KJ.%#6<37A6K^
MGVLZNK3/@3;#Q4$BI5/+" [)B\X!MI 5XBOE*BS23M$YE$F_LIM' KD(UKL\
M1WH7P0O?: 3/.WI@)\DG=57<X<Q=B'^ 2_^G[[Z]_\A9(E^32KP7E<4W.X(A
MIC+X))>M%UM<MAJ<$)G,)\=W_P)AMOB(XQYI5!-C($[3\CB.[L=A2%9#>5.4
M4TC@5$S)ET*J4+9N.B;$*I"K1X6H7=!9# 4A>I!&@8+WJ>I,J6TMSZ$Y_(.1
ME9=IE(5TL9]="0!2%JS</BT-VWI%<R$MO3D;<]99,I<V:],(&$$XKB>;-2WR
M;(O]QFQI?^7U%U6OOO0R^"=23[L@5MF.<M\T!F:\IDDLJL\Q0,-"=F8K (BV
M(^'*1)RLLGYY98/+3F,2]7S>GM>2,1J U^P<JD_\MW@<AS3I[N,L%Z?\*IP2
M>J5014[@D..(<-J/@WIDA^8A0,G'0(U$GB'73;OD%*N_#=+J^EFPWNV_AQKE
M..)RO=*S@&<(VX@;'@8TW=EQ)8OWTV(=:* #2D%"FA'\B'>%$&6P6B7FF,*.
M#,L::/#O'3L:?)F*A?;=!GE@\0I<U5CSKQ[>/8EJ;2!#?Y. R0+=0"5CLER\
MUVZ0_%1+U@:^F42XC<90D+\ $X90;$EW6.OX;DTVDC.52>R7^:O#LP!UY@P)
MF1V;T*8&F.0[P5IPID8&+H\S]>;**HQ99VB$'7S7B#NTO8>OBIJT<+!0OLNK
M=PAEA%P0KP60E9/3&7=4\K!I:QME[7N@C]^</G^6L<J0U"Q:,+'\V%FW5DWY
M,D%".61N@O]*Q8L]70> <AQ M'W\K\I0UKM0(U[;FMDUL&XIC <HVMXV^YTX
MFKP!]76>A*Y%DLWFT4<%)J*0_&)?,,#&1#MT@6Q^:"KB*ZSJ-CQ[5S;-U/+>
MV;0,*C0<!,E!Z+C34Q3MD>8VY$PD_4NZ.F4@<;)ZPVP=9P#H-"\4Z7G9Q5$(
MXZ:#2K8FJ8*I3:[1X8-Q4(Z&J/_/FSSIE0\8BV35I_W>G12JJRVEN 63&DX3
MH0X"VGG:U+2!$IS&"^@WJ8F6&4+0/35H3ED11#2@P;:MDJ>1:RC(B\.-LO7(
M5E*)8A-1NXC>6P>" 5,G@/+X9E8NHTQ3?W%U-M>:0^Z6G]$&+.NU7A]1?M4O
M K9($JAR'[=L=+/N)@4QD%N4A5A)2C UV^0D!)SIIJ?5/J41G&0)4+![PYFX
M@R]]&-+DU/>7W.HUN?N7>/^LF&HW@UZRI?\I YO^"[O*_]KZ6/("\&)I2/_O
M:['09O_?)T:V_*X+^]WA+>Q3,6D5-H1C]*+B(US,^&S_\3@BSCOIVGZ^CK:_
MJQ0\/3PI>%WDK86]6(&]!)B1A>&?$C5[I6'(@Y>'+RQS_7C,7(^9ZS\Z<_V[
M:K_O#U#[.<#TYU=PGZC%E3)<K-F?9$7-__U".3G_R$G<NA7Y+X6!.OM0;_%;
M+VJ6]V61P*.TOYJTI)%)QX85[1,VQ'OU?>07K.!NJ_OCGJ:G<G+[L>_(U7,B
M2UP2#1]+)$71_+Z01YL,)Q3*]#LY$>:+'?TN[=EO%U2/1<YMLEMQ$\P9NF';
MMLMP]_B1U%,AQL:Y&W:,^7\YN$<^&YJDL2AMR#C@%YRC$)V[:4^G&W:!5WQJ
M_#L,8Z?.(](@"3B '5KR$"TST/LM,I?!.40BA&<2 F #7T\BF DLP3Q.@Y[S
M.Y?E.ZY[SG8?%0%-,%H\!$[3IUK7F5E(; .0J]'WF".WA'K_^\<(ED]RY@7F
M7&FQ7$KP%?*='BM[ITJ\X_=@K[NLR57F_HS26G#*->@)K.<NJO &!J#-#65C
MMZ=(IA*C/O(620+.'NBAA^S,79RS3>(Z>@I=HI1>@(;M:@^WBGU1Z5/"@EK2
M(S.2W[PAN6M:!^/I;[8;2;=K&<,J!AT2NE7?4!5#^W\HVN'M\/'E3I0=*K$[
M-,D3(X:Y<-%;DD[7 J:2"]]D/C[JU/?0 J?:%JU\-2!^-/E)1H :H'1'Y1EA
M7\M6V D8/)#/&):57^3ETI([_%L4K!4M)WS*]KP(*DD+-#GLUS4(BW+T#]^F
MN9;T]2OD8M"4':<!PUGD"!5*+1NMR[*N%CPKVI8:J6C6:\BG1;#$[59"D.;T
MM07G0CB@+!N2Z!]K4AJK;OZ>TXV3N3S%=TW^6[D4!834E^R3%!%?A?]$9INS
M=\CW=$!O\$$$DIONXW+-Z6':DNI* ?]R-SKF\8O20I/A@,L,NV)Z7I'9M[@*
MQ^B&M7!S_%U:'M[=HO"+AO+GI/##B?S#*?SN'GTI)'Z"'&F[.Z%=A503TKEC
M9"P(^B7"O-PEC(/'S9^I>!M>A^C,DEN8+B6.29=H/1Q#VJ10BDM(;J&P,7KX
MU"J_AP;R9#?-X'@$QB.@1T!OMR#?KD*;TZT5'PQ%/(L])"HW7-"6%ARZ3$<)
M'"7PEA(HU?^2=0]0FZA0V3:ZPW6%DF*T^CLIELWV1-"/8CF*Y<UBV6ZF7"6*
M?+"PGBQ12,H*T>[@8(W"] =!#),1E'PELR;,)N=7LZ9.^1/INE\6-!]\M"C(
MPEX4>,.*D>)0H)#>DF;$Y7N;8CE*["BQUTOL?,D YUA:+!UD2.3RX.WYN)PP
MJ>SPMVYI@4;!CYW!75?C$ 34*!&?)W8B%[E';,SKMBV7$/91/X_2?H.T6UU-
M@N0\NT)H8],"]I1Z:GL'Z2TP;[QYH3?WY;DRF5HSM);+RT"_<T#B>G<4UP,4
MUR$_:YY?D!BR>$0(VU8,2TL*(78I!W,2A^;/SYHZ!\!:=/,>K?D.N=> 0WB\
MN/DDNZ"@AF];\@>PN+RB)"]%N^9P[B2?U>M.R9!+>O"&>S>4[,;NB"+NG]V;
MU47;CXIV^3OZHP9TH4TT0KH5#LW2_!\HZ#8!@7,9\J.;R@H)6UK*7$.[@GY7
MZ5+8[1>&@CF^.\)@1AC,'PV#^;PPA[>Q7V.UT.Z+@<RHEWY&;"UDV/4BZ!4.
M%XO T\M7P*I\+Z3IJD0"?#M6//)7!Q\RU#S=@]:=?S&92<8TGU0;E!_A-IL*
ML#S-)VTJ4KNS<MJYBX__WG$5R2+P\;L90Z6ZYN\W1W,"IU59.3C[O,2BE(V5
MMIYMKBPYZU9[!V]KY:YGCC:UQDJI_I.C=CU$8,:PF.@R@_=SN0R,F=HVH55/
M4;B VWT6/F&VB^E#RQ(^/2^9\$P^^,>1_.O9/].\HN1W X&?(!B&CH(K2$'A
M*N?Y*TF9PKED)KVV0,-BX HB+V+.Z94SKL/1DJH:)(E3/**3FIY\*ASH4FAT
MB@I#*RL662Z;-"W-E2/"&,>KZ625>3IWK1BJY?HR*=48VKR"GKBR.H=7IXZ(
M#64+C 5AG]Q1E2F?>2>2'_C5^(>+IIS%_AI'S!3?4PS#@A)!%^12??4H%@=B
MI,=_0;'L5X].'CJB!,NI ])1@)BC7YYX-S#O5@, $W[5O<>.G@4O>_! WW:<
M'9_</SJ^S?N. 2N*%.BKNJ+=_$WH5U?YOT%I'ZI"M/*,4QSSFEX1/<AKSP ;
M8$90HC6<%6,#RI62MT.9!;)7% >^QX=T;+XZ>>C)6'+<!7_/JTU.K])9G$AS
MEV5;#TW%"O[2.X1\X6*.4MSS@O%E#*]Y^O+[M/R/F;/98!6"=:0[R<?%KK#-
MS+LT0+5.#UOJ&M*)&)[HX=1]77OA%CV>M.LO0(%CW&&%<T>A&4G,35C6+KA>
M2*2J$3R]OQ(9T<0>@A%4:_'L[W%+9KY#_'8\4&JJC7N4M @-T(@SPA.V7%C!
M2M$0MVY57)?QA2ZIV"_8BNWIM?C* R.M/;5P.I"(+I=.B].2+,FFMR_TDI)Q
MW(EA$(Y.\GO]JU82RQRX\"].00I-6SL 8%S07X4A18JF%TQ#;]=8V>K@03Y^
M1K.N*Z$GGQ6DQ+D,E;%]2R&69GAB%HX>C:!9%%@;*2^.]$QMA\X4>>5$7,E?
M;4G^0YJD$U)3659$:F<%VS1V(99"QY1V!O=0LRWRY?Z!.AC8F9:N9Y_ &N:J
M;SO?)%I-3BO"X:FE8DYM96G'])\>TCM(6"W#5M+1 #,TI:3=*:1CDBB8SZU'
M=\=<3@/' \I1%V *YXD)?[DTW^$^"%)U'2:S8$J#2D&,>3*95+[B I5DL&@2
M0M52"H.<2@='TF?3=\'4#WRPO_,2?:SS5[POIIN@P#:-F: H^"\65\HCT@J1
MB)*4 Z(ZV]*^,"3OB"$9-7%B&H8U1-\TF)JR"3W MM%EA*11O!F.)F_!RC_E
M&ZHSW*#N(HVVX9M38V=<"QN1P!\8?C_/5VNMR2=EEE>ME21ZE10/E;_3 U'<
MH?ED/S&@89\[.D6.D8.3A897Z67;-P:2SGYBAK("!&J6ED;)Q'/SB4ULA/I8
M0-T]U(4N,A>2*PF*0R_+$=TCQR+(>7:I)N<E-[GJO:1']J\@;'Y;H&TV'J2F
MH-E4>T(\S--HQ Y>D^$UH^6\S-GW8IG%PO3SDA[M'\#_UY*%V5<U:72UUCN"
M_3!IK2B>1N!J[]Q*[\'U>"@2G)#"[+'\/'_N.#EW%HMTFM-L+\=48$*^!WX:
MK%>.22&DE'T//\AYLZXA$6>DHI@3A'\X70)6+6T%C89*,97*=,*RT^[ITV&@
M_/S)55DL9Y$TA@F8R2F@]1<_GT6Z:':)*MEZ,UYI[1#(/5>4T2!<7G]S#V!H
MM@1B1+F::YR(3& -":SEE0BT+-"DYNX 4\U[&+&*?E6Z9^'9D=JI76_$D=:;
M: #--[16L7(G@:7K@OBUD\E$4SYZ_/B"KJMSHO;1D]HJH??HI6?-EE.-\47>
M)6U39;DA71A4"@24?Y9>F=N)%V8^F=<._0LO6QH@<8>YA&Z0!B#MP^#!G[EV
MX8+U1:>22"$!VS*^>YY#XT?Z>WHF_0(^B49A-0AEOR$M/<_E1O2&&9<NE9V8
M'O$;57!10+]YQ,'Y2&.3WO@@/*-#/2MZ=S,SO;9;-_1 ?<HU][5<0(&H!TV\
MG C^=8<DV-[,Z+6!!3-JC#O*$,NAL/A'3B31'Y^_>*L3ILL1W<RRR;5H1).6
M?8)";?"QI'()VC\AZJ.Y*W5GRT,3YAQ9<2B*<%4P7\V55I7DKJ#1>Y=,$O;'
ME__XG"T=1IB-.HW83C'$BA?B=^F<H1<+66!')>/[ ()X)\2J%,(T*.':)W&[
M,U/0A/7-N^C* #G2+]$<J !XWF311%TF>BW1X=J)*WYN[W;&3W+AI,L2YQ5B
M->*6TQJ YLPI$9 W[6F(:<B%,W!;%M=6!GP/R\>2".XQUQ0'WMJ@NGTOJ$']
MDKGU#*Z-%4Y(A^,ODCGB^'C,F8\Y\S]WSOQEI/4S1+8%2?@RY!+@K48Z,$XD
M)[XNUX6TSQL.^G-?3\T:OBNN8EUD:#Q=LV,A 2^?\$8'1:B0I%7PH44>_E:R
M9A6G5 S;0(._FP#?M_H,\":Q;X6743V:H3P:\XU:R#5T1$*W'.8J)Q,<N=G,
MN0&2NO?=&@?VR38DIIS1RJ;M]O/I!I,GF6\,MU]$P7(N!L8[I)[8OW"ZG>VE
MT!_)V3\QZ_&)<IW2ERG-2K(+.7C(SD)ML+FL9AS4OCL?*J5O%R;KSE& KWVA
M#5XGA]]_@OP^^\+"06 I>- 9GJ)]Y*S.?+Y3Y9/>P>7I4 ,A7Z=GOVWK:8GD
MI_$$:T_?"^TM'](1];8.0S'V,@9\=RJQO=)[0<V))[5#.6T->?"@V4L_=BBV
M3<58=3U"H1,HM/<&2?.<%= *!FME-(V$9>VX6Z]R;O-NH1*[@%:2*HDM   ;
ML5_8EQW(2VAU!.DU%IJ,XGJSN%8:TFMR!$P]^;0&/MEAM\:B=@=Q)+":(\3)
ML4)C 6+N+B4ZN46@<P#^K4WI1?9713,U?S[$*02X&("*H["/PGZ]L"L<)@8]
M:;+-IA*4B<79$9L= /ZNM"^$2"PG7LZ*JUJM!N5<]I9;DK'44$QH]B/YQ;*:
M+W/CNS&DCN.)-J9]>CN@CO3(2MJ*9T8/18<NHN/PMU))L?OI=+Y!R$BNA(ZC
M-S9E_M+!8($LWDXN4;'N 'KH"N1FQH,V'K2]#AKR^!4')9$SU#8H0P+.'E3H
MUN!3HK%/0]8[I1DCUMC#8A>$:6UJL#15N8!# %?C#$77*>AM"NO?42WDTW=B
M2WFFF7J=<[I$"^-SUZZ"S*T573Y<BCF>@/$$W' "2H[B*Q#*FU1.0MDHJH(*
MMAIT%<:Q\'84LSU8$>B.WTA+*H'>%4FI50@.I]GL26 $6_XYZF<OI0^)KQU%
M%(H=ZBL?W1D*!F5](MW;AH&&O!?WSO@R*SXRW.>ZX)8F[,9K\B)C! +=B&$7
M8]$KQF*];ES_U\\<GOV$B8X?'#&IH-\OR-_, CVP;[[DF+D"AOXJ,'2UT_-B
M5=R(IA$N&H_*%71OCR0YPEQJB9THH>MAI#J<H*>Y#@<HQDRJ._ 1M%> IH4%
M5N%SY_ 1%#[KR^XA8M'JCXTR ZNME6!51<?M7WG#I,X.F2/[5$J[<H:?9"'X
M:\%@Q89L05!:1.X3;C9I3X-VI(LFU\1^P.]&^>"^:_1JS;[8PJ0(1)DY]ZDK
M9C! Z1 NDYD+I@&5(^3E 6XBN)T?!MGB+KA^";AB'MR:)$RWPO\@/B\V9>+#
M7<X$$6@/ZW4K9]P.'XHS'E(&]B_!D."OQE 34QODN%6SO.%6C_EF&F%F3[6>
M3O[K^Y(!(F"-_IJ[F)W<??)T_CT:FIT</_DFFSRGM2$YG+PB#[7<K,*WGK]X
M95]R9HI?_[?("WC:X="4LV!$1S7#XK)2K&9WP%Z2)3S26>2?[HJ%%/,IWLK3
M0^_BII02GE4MQ85,CQ*_&L@B!L^'Y%$"-;)(*WJ0U54?R"E/2BO,DFG'F>Z0
MU" .ACA39!L2CVA1REX['U=2;YRZQ-C."AW>+-&0,V;KTC:.XK"7@I32.AM.
M"P$2N$'4S(TB59HW<'Z%=-'Z7'.9G86BV7:8O$S*4^>D"#7]N7T(]>GTG,"8
M'>HE(]L'?WQ6 "V[C*EP^'/5,'6CVY)%>O:DZ=4\X0:VM<>BTR7="%FQ5/LA
MTV?MX$-V46\==AFY^HUYO8-4Z"%!+%2/B4RT3'E2G>#"CS6TM)&:6)$8O9@A
MW*V">F<:H@&FJCFC?Q5<E!(AA8L!;3,\XRTFY H5>NC**"+KHUZ R,I'^E_"
MF4Q7/OV0F_3&IUEWR-C(+)N\("N 5/%S0-FRR0_,_<9-:-^L\U+<G5>T(M7L
MFR2)J]KQ%K>_1U1CQQV1,C*CZ%U;TN7 0(HSVAINHKG-=HXDJ68_DY7)2*AG
M0$\LN47J,I2425*'U!A=F2)!>:<MUV02+G;NF=;CT3.2,357? ;_ZW2O IZ-
M)5347BS(L_]R%X4O3W$YY0!!B%_%-WL#<?60-$I9/&"",3,(WS=\P%%[CINK
MY$F2"$SUP(EJU+41PK:$JUS66JODZ4:C.^^5;JLJ@"+Q49(+A;;Y=-W0_2VU
MPVA"S<_0WQ<5(C0IXB)1?O[ZX'N%^Q<OR936U5[)C:#Y-;T-$VCKA@0D1'##
M/IOX"/Y$(2+1>DK:NVL#B&"72+]+)/R:L*PZ3DNL 'JM[0=A,VT %Y'QH0)S
MR?Z+5CS-1'>@AM$N?AER,I6T(LW&RE^1O]E>&6.ZUQ%!(T3SYNNJ9M_QRIUX
M4P&J$:Y7 '90I 8UE)VFHAP6*>QK4 E08QMK;"ME0O$8^DZ+_$U?J<M!&+(/
M&'**KK)+/"H46> J-A9\)0V,::G);W5E[1QA4U>TT1:$9-E$-T<V0CC^(877
M)-%D_AM4NA>F5/UP+AS=:0PRABN=X;.+NG"X\4A%=[20S*9%$28-[ O#;'#@
MC6OM=LCB\.W\1<).3T;8Z0@[/4#8Z2V"!8*6VP/TAJKGK4H"^G8#J%>O4+'U
MY5_B<L3B?M4OW* =7PW<&JT41^9:2G0);HXJ. Z@$]CUFLD\QU.X;H:V6M.1
MX!7,M0 O5(K$_K^(EEW?"6=7P&FOJ!(Z+<6"\;04PA62 L7)!B0/>+!",ZG)
M[)5U5L4BCR80EY&C6-67&5CY@=T]@8EE/]H,Q=.9IY'Q4Y&J,!)!6R*]BH?9
M\^%?8T4!<=2WI[74<58W%3RDU7JX6^Q1M158I95V8K^$B"K/0YWKD+#W <"$
MB5 X4!$EY]&<Y\VJ5_3_^[! ?,)(ZXN5J27D,&F39IM5@*8*PKGANQPNS(;Q
M :&7=IO/R2QB(;5D9W]W?<%<W QG9PES!ZN2H=+\+?X-CGI\JIH7)9\0**JO
M?3FL2*["QN'H9!KJNA)4KGA4F$#FJ7H0)?FL^YH8@6VD5+DL(@.8!=U"V2FK
M;\$5(]#\B<8K4/2A 4<6-B-;X^\^S:M\ENOY93B^@PIDXDX*(0 -C*M+N_,K
M,;6+&?K -]9RDG545Q]-WA2%Q79><&3RVZ/)\R!M+RKTS^%Y\7>.3YZ<2J$E
MM]K,0^Q +AX>TTNHHNL>\",I>O$J3E-K_U4<Y9$%F-YNK8%1T"6+T<@&D,]=
MQ;@77VX;VKZ7E7">;*V"E@_*OH;P7&\C.0EPF7T2"11[87^=LHF\?D/:Y7,6
MU.U4+E_(M?"#LJ!H">8 &0J63PIA*ELWLSP4P!^K&;;[2-E"2AKMT.A*G/Y]
M.U0-NC>'"QN]#-W;<%0%T995/FWJL)X!,A@X'G8O^-?%T>*H5UN+-B\HF ZA
MH4A@&3"#WR1-\EPR*V # Y&)Z_&AX8'8.\[&B)8%TUJU$!E\"(,L<L%=7?(%
MD+)5[.(YX]E-"S1U31*,(4-H,5=K$Q*S2@/)B-AYT$570ODTPE,>N;E[I3-)
M!RQZ2>@068Q*"6Z,J_?EA-Q@ZHO6GY$]EJ>Y)K:<> =)D#HGX9ZW0DA8+X5C
MT"<F^SFC]3)GF;N>Z^7Z<B=S-:!\N88HSDW?TB.]"-Z!F REA;]0X1T:_PX7
M6H<RQ1X'S2UIDX0VU?&9IM@(B5/9&NS]^AVO$D")Z[-K;M@-'9DE7KZG6G$U
M=Q_$QGY9Y.^*%+J<)3=;3R>[R^V:_KI?S%VVDT6WZG%%.5I=Z^IY5CA\4!8W
M0Z +_FGV"TL'! RKA&Q;_)C^S0@"'AW]X=FKITFH'JH] K=%(CD7H(F\A-!,
MF\$&)JRZ22?C*!C#V!"&KB2>$:(<)!4AB]PCGNR1[P@4J97NO<L<[IB0.4:"
MQRQ8UJ![$NLJV >%6E65]ZNW#^EA& $/>S; -9*S;\WH1;VDA7E7,5VSE"3*
MOU&D.%0WP+LFLJ8QFL+J!\C+X+O\?<ZWD@>6!<%#&H*C7&F=CG)WHNJY*H2^
M9VDQJ+X(FJBN&PWN--Q8AE:IH%4VRJ68DS#WE$2&T\K!4U&#0@@Y R.O\)E$
M>IC N9O0A<ZY]/1L63RQ.:+2U@J1:#"\QJ+ ##;D2EIC*CL;H)S- I6TX4AX
M6TD-TDHQH986J").%VMV=S#/R(E:L(!P'5X".N=!D=\TEG^.@-R06V@+.B3T
M?E-VO_?[)W_4BZ%M1+/8P44H)-R4#@Q#9D@K3M*5M^99KZ![..["L<9B/&O7
MBQRLLG67%!=!##?JU"37N0JBA(2L[F@4LE'(]A<RT6Y=G5A4%NP.<0Z&F8YR
M-<K5]7*UQ7;M?<)I3G-#*"]"_S;K19//BA@)#Z@R^Y7@FX-EKJ!J48)<>3)J
MNU$J;Y!*XQ.IYX.!"Q&L68%L4#OYVA#6WK>M[C0%DT7P9GXS2MPH<==+7%4L
M:M)O(>+B?8,TEC;*TBA+U\N24,9LD6^$>*IW0F?%69<E?0,B?GZLO1ZE;0_J
M)-!M*5;%1S1"#Q0-I(8L^9G@O=-8IC'X2=#SX\JQOS2<];T19SWBK+] G'7,
M(B6)\IA5='Q]0B@UD%W8F85E/5%M5D6#4L.MQK-COF&\A,(9<PW\N,@HVPW+
MP3UU7LX%VMDAEG"6-TUI@$NF)INA;K5@9)L Z!2@,MK>HR#N1?G% *%@A4OF
M6#A/I!11H_01A<48HAB8%^#@&)T?I6[?>%4(C[K&0:AC90X/E&Z4,T'6I(E&
M:9']FZ%]0W"K91Q>P-98/2I](J*I=_<HF*-@7B^8&X;X%RT*V1VTAN2'MF;5
M/@&_S:8AZZZ0G&6$$3Y)HQ>B6)]$QM([3%GZA'Y%NR81C A@,G!6:QC@]IP+
M /A4,!ECV3:;M0*//1$B/4GDFZ&V[XIVC-N. GX+YKE*6C#3/U^].I5J<5 S
MS_.+NC%&M$V;C5S-HWSMG1_UM3_L2[\7$._E>5%!62J]Q1 (N ^;=1C@L@K%
M%?_>-&7+7>G+7A=[O*]$Q$XH)(0RBL62RZ[X\6)=@-8A#V3)[1.U7\?@\2C>
M-ZG/NIFBN5#!2A1,78D,&KCZLLBE_:4K9&%FR6)53ML>"[B[WK/).9D+#"XP
MUU_1NGB18RX7B37X\9?)!>JB<0-4H$97IJ4A3DO$)IS7(+Q1FE-,^+I#GZ$"
M]1]7U@D5S3D4:;'DAP?LQB0R*]$QXP;-7/R8TUTIQM@E@/_8'V>+,2+\Y %_
M?N\NN-1"F3_J0_1)/JD0G_H-N@V9N  !+1<Q+E['"]MJ'3P (\CS&T50>, L
M7]$B:(7IJZ?R#[K=XS=B8C:6S]:^L0E[448!B:E)=0YB2_-R:NT;I.K8ETR<
M26L'X[F3:L^(A7=%QAX#+R/FXU'0I=&3>[*ZRX5&Q7R9JQMNTIS<?1V$$>N\
M;#BVAO(K%+,&&DUG<UO/,'WBX;0K_446SQEJT/J[M=Y3DI:2ODL#_+_H]W=4
M,4AU69J63PK%6>2$Y4.Y:I<.C!\85V/_W[)R30U"FZFD'8%*2-G<6"@5>[$O
MEQ/F]=/(  !3K!2X?<%*A$H*]3B%)^2.G?AG6!N5^3A'*24;B.&'"NFV<*]I
MBOE2 OE:L%ZC_]Y2FX'+(EK:CU1WLRAZR](7).78A MHDY!W^1H.*]0 #WXH
M=9JB_2Z2"K85? %TE^R;;F)9)1TK5S>1N682\1C%^@L4O80)AG$FZ9#+4+<R
M^<^&9'=><C$2F5)<,#+KO5!@E=AV4GE"'!DI3/;8]#?1T_7-+B9?Q\)PSK9T
M0CMJMP-FKK\$QC._= >Z;MR3H%[;=^5R"9SQ&3[D6BJGA<"9Q554N;\_8C?R
M[;(K#!R,&&5K%&Y6:LE<W956I]C3IM--L]T@3GME;RKI-E[$ B\]8ROF=>FN
M0B%D$V: TB]T:K  ;DQ@XVU8]JUK->G>SJ=%>.\"$\L*1'PYTX2&0B:6R'QZ
M#C(R[;$M@Q7-U=HU]:>M6OP^;1)XJ_:,::M.Z8 W4U;?SKC[6!;<;2REH_$%
MVA+ST$OQ]JN\XS*SCOM%2X$TC><<$@0&VL3R<P0KD')M[RFMI-J!/CYH:E_/
MNZ(R#6;KC@;5WNS8K._0VE>^Q3V'Y;;+Q+*)*Y'9K@L%I7:O\@X4&!>P\D2G
M<:%G']Z4:?(NY9MLB^U*4=013FL:^V^Z M89UCG;NH[SVB@Q@RF)65<+;@S.
MQ8 !N]RD9EA4(\FE*NHAWD"XZ^.-!\ &KRZ$E3D)MA=6M.VU=!Z[BYY#MTKF
MNG&EE> L#1AIN=)ZW2';<H7JP:+>M/1:M",'%09V-[S:J2JIND299FE,TH%Q
MZU!.W8M*MZ/MKM$5F:^2W.-4AO.B7%$#W4XZKO04U*=<'\$3D!8-B_ 3/K=U
M57;1'%HTVIG'F1VMXWY!WQ7?904$.X^>M.[]."-&>,#34'H!7[J\+&D:N#%W
MPS2L\.-]!U+=E(]_CZ6R$G[Q;JPR>+"%1>+$7M.:RPP!<'AS[ 17!&A-);,?
ML@4:O\T<_98%&[+A&S^00.W#:]!Y7KH0$(:MR>;J0NQ??H$C]$.4^&#.Q\N!
M1K_:$!AM7]L/:*^L78$]PX=*D404:3.$:X^Y5]@[#^YVR@;<M GU26:[Y7SC
M'&SEA527#'?T!=]Y8%]*^?, +)&D_3"@A*^P=L/"51;0^SW>"_I';RTR1RT_
M%0(!EMW(DP7J,\TKJ#:0:6O?$QS>?*IAK2^36O;^"'D<(8]?(.31-UQR1-9Z
M'/DFIZN9'6?2BHR98))T3;CTF>@OE?V0KBQ:KK(])WT$,OC)#]Q'@>GQV"AA
M^Y8UP7.VMZP=R=]_>/$\]".A9Y_</;G+H0V.3%1B;DK.)NILT+73EOS$/=)9
M)=)KZLTZ ]+CG!PSUJ-T)W&?P:M(Q44/YY<=X?^#EAZU_3S65_]]<C(A^W")
M3@A?G1S?.SJA)^"_OS%3G6SX@@E'U^P.NFX$9VA1,G.M=)G$HEQ*Z1[=AIL5
M:-R%U#YE/N<Q\4*!UAMK.!>C-EG+IV^>OY%5>P'&=GK.=,G]W>]P*XVTYX>C
MR1>[%D%QNJ+YO6 !P[4,3L&2=N@-!C2P0QG]<7HTD7Q":#'S)NX6VFR!!=[,
M"UP_,^NU@;",S-K/EUG^U8'#)87KTO#S5Y'R]VCRW177;VAH5WK5\Y6K<T'_
MXGWOR2HEA\?F,6"#*424&1V>=Z3,EQ]*UXX8O#(9U&!=?&OD7;,?1W9VZ;3L
MG+99L5[65XB819,PDXAN)*FRE8#\SYK\4LP),63S&%\UHA1Z>"FQ; F87V4^
M<!@ZC9$TQ$L>?XG,S'#KN/)!G2*W&<.9F*HMVZZP,!F;ZA(99/XD/+(%J;02
ML^7JW#E73&FIP[%2Y(R0'O%9-M8Y)I)@JV*JB$,MO<#:XO0$TAF>'AHOKC>=
MF5Z22YB4LHNR(;,:"Z.I%YKK'7 &JR&E:R\1K<!Z^(6$I7YALXM9'%UW!Q%H
M"?3RH@+9H:1.+,1W)-L5N:I2'JL8H P&G888MT,#_&AV,^<YW/:S*R,2M7!S
MW&40\5@08<-Z%7Z%'2:)/N8S7B,>2!822;!ISS97=^H-1^WI'"W-HHSA[>F2
MTV+M(&'6/J2B6]T%!TA$=Q".RASS]EP4J+7V.Z@PW2^%UTJATV$/_6-)GCU<
M(G56S0U)_(]([JTY;D[3.+?).?':Z\(1%4I.:HA/4;Q2=6_$/'&<E@$L']PN
M+;] !H8)==E6, VZKFN(202ADH!9^L:_U)0IU% _J<%!?EJ+MJR4/3%EAV-*
M0>N5IMFPA!\RM!%;U57-X_]-.H4QX3X"!Z"KE+<SF22G5A+DBS# LVE"Q\OZ
M'NM$."QD_6>V%C_G98[]N=*V.A8V"=UF!GJJ"],HPVQIIX3FB[?'HN-,:RFW
MLDC T>3Y1V'.Z/+'2=XFU>_SUO%_SXJI]#IB2R!OPL721Q#$R*G?SG#%N MZ
M5V0TG!K?KVR/TY.F^6S*EJ/F+J_OUV6CNMNLXA#-Y5YB=#=>T &I.A>>\4"3
M)'450SJP5"1,'368Q>0L^Z".P97LO3$!+B$192M!Y&ON [F?AY2LLP9$O4;
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
M9.DYM,K(IZKIF?B#N'6,MC/#!N.V(XDHM_6*1G4A@3T?OA&@E..P>50&#',
MM81C9F(V+.X\QD1_/^"!W9HCH@,Y/DW!&3=% ?%:/M7<LD<SS51,0]BW'$JL
M9BKB2),;]<AYV<#F'BXK:URM0]]4##"R7M;"3I/02)<U&R^&ZAW/9'S9:Z(N
M0TE-1I5([!,]B][R1<CV97T0<X8CW4GAPY%.P<'\<I)FV$[,Z(.%GO );?DF
M34^3'_$?Y"3C1[A,(;7"M.,(O_0I(Z9:[QPDC 1-=0'LEO(Y2-Y1[HFZ7^XW
MG"%85FZDV++7(J2VOFX29'"PP!5C &E9JA*]?"5\CFRM@"PC[>RJFXAFN0LR
M_J-<+1CY15M[QVO2I71"#]LJB[[60VJ*OJ>7-+*1-9NNRXHSHQ :&*Q91/#Z
MDO3)=64Q=Q7$W VPW8D*IKCC_1=M%+>^;K<$'XP!\T%\!?('./W.=+99D@-W
M:7DA?$I^R$:Q4&]:*%:)M\ 2/Z30T*4U-E5L9@RX>CR3HX_2T;L_!(:>1),T
M+$M]S@WL(<D /6YK2OB&_G59;]4]28Y#:MO.ZKMFFN!NDG(N_:RE#F)97)RO
MCZI1#ZRI/\ZZ6AH!/SVK2G'1K&$E&4L'MU\]Y:6)\7\^5]/N@*&-I8%S1:/J
M"A1YY+S ,A2+'_Z^N&A*^"#-GIRB_0;Q=X[_T-5"YZW^53:?4QF5!>$W';>U
M77"05NZD8E'M+FD%6P9_M ?R6Y;T:Y);VKIR2Q)1<O^"AC:=+,-%W?,#+^DR
MOY3;31QM&5$-8F<>(;MC'_D_@._!?5;VJ^N2:V $N%5+R4B_Y.X#2W>[Q(<?
MG%0P-%>PH 6#?+A]PC[D/=(QZB#BI4!J[&MR?>:KGGXRUG;BYMTHL6>+K^B"
ME7.9J&I:S4@?394CQSB?(CD24.![U,"V<0/I&N&^-9Z#D8HB%CHYCZR8VI)Q
M.<7B+UU[<=B3JN/S\+VYIT^^*KM=M_]D\:8[*Q;?[>C.>*+4Y?8#)0#_A"5R
MT[7=LC^@Z3+IB\5 RBW$0T1"?8'H@?2,&J(<CW&,'_%4?Z)OD8I=?,#4IB/)
M/D_#H5^^KC]V^K.W+9FO!_^U_SA])4XDKF[8S_=9),)BJY*+B"%6!'0\_I=C
M.$F./E;5=L&U>0G")W$YP.T=6*5-2JSYK?X^=:9)T63Y==8 PRVP$&MKR !Z
M[0ERWG6WO=CQ98[%937">(2NCRE"-.IGP_=(P,QEA7L-V4#BG:SEGF)#K!:
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
M2Z7U&F1&BO&YE'_P9@WZY2G6/&3;--<TPD+?PEQS45\IOW:5%_:,A=JHU0.
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
M8Y6IVI#R,.$=I:];AQQI9)DE!K8(HT)6M(<93R8J#647]:Q!14)_8:SO]'3
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
M\O40]TE#N1I^J+R>>)WF#%N*>6=HC6$K-N7%!7H5**.H2QEH8H3J*UUP]I3
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
M5<VQR0&ZH/ZW6_.2U,S]!Z6AG?$&H:^U6"'T@8]=NC6>F25!)_@J.G4 A<_
MJ(6H_!@RI]<#)$.<=4ZBF@77TY16M>OS7TB2F"\#>;N"X'8LRA-+-X&C1M;N
M;<;L0X@JO%M[%*:7.C M;6?'*E;*6_$O>Y6I6E&_[O"()1W ODJ'SI$-H6PS
ME>?3K]>U=/#T!IE*:I9>'<IX\RR1@7A*:[/IQ35<]2=; J;*TXA%Y+G8V!1
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
M%/:;2ME2M4K^D_0$^;L&2S@K:X2<ZEZ<"^-::*/I8^)3TD! 24MS2X7(Y"E
M(R%.YBO%ZL;*X,,(-L(>:"&YBQJ=332(,0IUVP9N0.'=)MQ?\/O9GZ=IEKT$
ME1JF$XVTAJ.#H5HZ"S-I=^2,,F5!!M">Q* WZ9/09!X7,U#T=3T8#]XM!#BW
M^,)PSYFV=\$_*X]Q5$MM;*-GPZZ0&;+-H$O NX/>5_F]K@M2MU-EQ].;1,B9
M7]B=VO#$Z4VX8E8>"Y>01Z:!C@MC&SZO=M>5;/[@&Z.JU0NQ2^T1:H8!5V,Y
M2VD&ULB48>;&6\SV@689WTN=M5I;UI,8>B0_**B_:L"KVR%9NU,J5.@I1!.Y
M>P17/*V2OCHQN_KU./9A=7#G%11=^;%JYRJ8IT9ATF(<F ,S=JC$D.:&*Z;<
MJ9LJZ<"AR"^H4CB&F119&AV[PCF$(RQ+B0!2W4J*]8:-\HI?,/7?8G)8:0H"
MG!=5L@['W:D3L:W&%X-FU/S"& 41J=@YRT\2(H^+@T<P%2NJ(7M1#:"AM[@T
M5R]YP2)O1TA7BE/3+<6D#A1!UE>8;W%3!L)CG 9^,JFM8-"3Y\:\!\@)_6)<
M-E\\^]/-&1WQ'13C-(Q^_>F?1A=43=ZB5]-,'VI\76I<)/7 +H;ZEZ(20(7L
M.)Q%O=F0+RXOA?3=;O32+11^M.YH+Z]GP_-ZG^/$Z6TG=V<:'@1E+<6_]YU5
MN"& X695QU/2=_FYT.^UU37[5[*.=@7D&N+::5>MK4&^*Y^]NG%/8>((!W10
M V:T*(>)Z(XPE\ST0+QQ9L4=+355\9+;$, MV<%D=('/&YB#:=]QZ=CNUVD'
M$VSN&_+\CAMFU73?0K^M]@9WWP6^HH%U</"!PU%/*C=O))XL!EZH:_I[,U6G
ML'8@+A&'/%W\!&<0,9B=3;;*X,>S:I)?.#GBH86ZG\RWD'IK4V=.LGRNR%2M
M-^:'G8N*S/6PWP>GHKJ^%K>Z.R9NEL0JG'HG2Z0FKXI]K<P[@#$6 A:2\KH)
MUI*:8QL8(N.\2ODF6MNRUV#@30&7L\6/U5(5,QK]L,(<M0'+AA_+!H:JK;L,
M"-"C,H0U1JIU2$WK=UWW<>Y''1BBH^?R+F]IE\FB*"42<X6]&YE7M<JL8"P3
M)\8E+L>?*",U>#K:(74AV@WI'!3I$" F9,R..<Y9#,4X03]?T=8<'>[$4W)T
M..HS%X$CFI_3\)7/5!W<QX$]U)V0?(3<I9AE]KZ1[Y,OH+; J5MWR<RV4_;$
M.KDT2HVDW"(\][5XZ'== SG=)Q1$80LO]+,"+%3;:&2W/L@]%&F0!0)SQWS;
MRR4B)3XS%V6BR;,L=J3+&Y:E L_*53GF]^4H2P)ZB"D;X<4 IV95'@E>BFL$
M6+9Q)4#!9PT='<8'-(C/3Y>)[S"&1ATOO>[+T;J-2/J!_!LW>92I%'&*XWDY
MZ&@DPS?&C5WS&1 GMX\Y:&RMJX_9(](E=BXG<5VY).P>:O?J3Q]SOH\YW__9
M.5_#DU^@5E)[!FJ;/->W^# A^N;L U+URC]:7DO-75+^ 6RGW]9&IOK-Q-\@
M?T_/8B=LGG0D!=9O,PM.+HW[<VAA-3MCGM^+9\\^TX7Q+BF,\92MF)AOA9EV
M9@-E'R]8I0NC+HT9[(W!1LO=&>!?&[Y]9EI6?;;X.ME\'\0H_3[O=?+6'IRH
M0-[$7>$JH.R%;W^IEN)5OU<CTDK4V3"0MC((_\O=EEHEPIE6N65&N"\_*TCY
M+G[\\#<O=<ZG5BY86V_M,N1&8YFI2C<6>;AH 6=99"V?]CHHS\[.W'A//GWV
M)_^U?O_=#^\7#%4K!)'^XM/TC:JD7=6OK>M^V%F6J9-<),"%I3#@K.UAGX0
M@ 2Q,5TI+Y6^EES7=>.!NZ$8BU;Q<UE%ZQ&+Q^,NWR-:J?3&S$+&/;-@JGVC
M!MR!M./ !)KTI?'#G^%G\A9F#].L%FT/$Y.AW/6V<ZR+I7-VR%K8KU3D%N),
M#.?>E,<C33^[);;L+EJ&1=QS)/(R&T8I^YC<WMM'<#)F?M847L^68KV/K<E]
M]'PMMT;(I!DK\M*[&P94*/MK)=,L:&!+R -WDOO4+H$#A^2;L=>I+((3FFU1
MGD>W=URO%YL-Y'V61OP.1Y\86S7%>TSB#>VM]=@9WT-FV!\=R\V;(+%WS5CR
M#E=H966A<"DI%/A,J64S$L&;4%IPK<2,;GDP*2[VU5Z3,F\,>/,7^CO_/VFS
MBIDZWGBCV=>IE2Q7'A?L[U0M6F04"F,/S=R _I:%M(*@HXA>\B\OZW/X7A+0
MTJ0Y*,\$IR!>I?Q+S^)\#A?OON0-37%&26#9HR36=9=TL;<S/73>B)9O>#H4
M3D]B-1@)R6U1NS>OWW^E+CN(9)PCIFX!\H.=0KJZERZZL=6M/2-BSQ0O[C\]
M-7N.]^<>PJ-;]9=OWKQ^74C)LL@2'_]4'R@TI,]D^^W+4"#,FITE6+I4/^8W
M.:IV!_?,W[Y)U7U6M-%*4% !:76H)N!:E[JQ2GZKW;>R_.<O>0[//WVR2A6%
M"1OC85>MT7_^Y<M7DI#S.C(FP.5B_36RH"5='CM_E29/D&FXO5)=&BJ6@]8F
M5&T$\"21L?((D4R)-_657,UF?(KQ<DZO;)6))M1G\OH-ER #UA-K. &;T3@N
M0N]X_?4'C3!J'EFRX!WX:#V,EE:N"@%KO8I00BU&Q+Z%0:$*0L$&@=3W5$X#
MW5(?*G)N(,5I!67ID]_3"[^-5WCZ=WPALT;1O#XBA;OQ<4C4^WQ?KWLZ&]==
M_]'#BJZ._ # =,Q@RC./KC2!9 ^HA] T6T4KX3VYZCZ%NP";NT5V!_1V4B!:
MR:.%XH@],IT?GR$)CGE5/ (CJULI!>$K)G8OJC4=&Y\E>@2KSBI'B@M3X1 +
M./WLK]SLPS;NWVV8SA=.ORA&Y])D:HU>%^@#JM5XL;VQY.V\T!BN%A?6HHQW
M-OD$29!EFSS:9<Y&X5(;N&/6@=H7$5&5J:@(!>YA3-9>5_ST76*1> <E;3[Q
M1%(U3 VE9!-U,V*]N.V9HK-<"25 ]<R-89UP;WSH>(0WJ5MK2@]L>+@&[&88
MM(&78=,#KTI X+#H#@$5MZIH(U=&EW$N.9MI*]+93<]NKU4JGLQ54U:\YKJ
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
MZ![ RF53@\]:$:$9_$5=R'$J%1>EJ6FDAID&:,_&"C3>5E8R:94Y20#3SO\
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
MJ6G>ACXO:JH1I2!8M:1,I:?)=$<)O9O?SA2:[J&%MC;S0\2@T7[SXILVWE8
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
MEK[_>1:O<R^N#X-".XLKWO,>V[LN="<&S]9[WAUKGJQO+EM=UB^":#AY#C8
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
M^*3HRYS_P1)"Q;M<R(!>Q< T[>,F^>WTPC^"\;CM'NWV#LP9XL*IR&IJ\17
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
M)C524J;"CMTQR[;I5T6<(IDT#D(+!9'T:N)IO"N2V<::9!CN-#4\P3"WE_%
M6=9IS71;YE&<$JTT$C?K3_MYK$9,-HW3PT(C5W:"-U6.11+3+ <IR;PIQHF
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
M*]S]5*RN9\'O'"<-+CA.RH84SP7I8XXX+1Q*Y20N3, <DS'=[@LXW-'8&F(
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
MJ,C(,!!5NT, MCA115&I0E0X+@5+KJ8=@M_ 1:A"S![ES5B B.0J8EVH4%O
M9!,W246?\4#XES)R2G(=O2B"?U>H+7"+RUD&"YS2Z0=V"LPBDB@A=4N>C10I
M)W@-F&-8PP=>$8=AS1PG"RQ#Z.+,4)I!7*N<! W4+,PDK@%Q^(#VQ"-T:F0^
MCXLO!=(Q98.85L6<.<[1 D:MHD1A#['E*%_X5C^!/NZ^X-W<"6XN+U<Q6*&X
MY>*T(L.0UYPNCJ>XH97E(G*L';@2AB?J0)XD^X71@QU0Y$$"$H4NXD3FT_A[
M.)7W@8J\%*FNMV]].EG(@Z,Z\O%__Y<'Z6R\UAK3F_-: B7=(R]UK'88,9IT
M^?,HN8KFA;SF\7&GMZ^3#L^->XL3$1QTCH__$MA_XG0LS"52^#@SY@7,^5<^
M28]\=@ULM2Q+F<V>][J=PWM8E=[B9MIS?.NHP4N@KP(X3$=_^^E/GSZ<+7<.
MV?3UG$/YZ*>_?R*=!/OL+"/BH\)X'='?;R"N_FPW3>-6^,B@?U09,^SN@[KW
M*WDIWY/?2+KGI9J#E;ES7N5J1SY^*<;K)C$@(DD9?/F%+56/,A#>8G&A]"#/
MX(']/(9!_8+N/8;2<(#@?.PLCM)WEQM,<[3&X?@LZ)RA=;[D6527[).1]\-?
M*CY;!"TIM4=3" ?%8(( YF_(C+W =V$:.RP@W^F#E3UT3C)]];L,/-8P^ 0>
M:Q0&_XC3+QG\YY1_3S__)4JO)E'PO\&92A(\Q^3D(]M 1IR!L0SVA$L>F>7R
M;OB'>4L>!GJV"4Q#2MM0YIUL'E#18^]MR@G8%:,XF0;G?]@H2<C6,IJ-50(V
M!WP.5@>=Z(.L@.=HI["$MX&1)+2F\!OPQG'<XM/0C!1$0^D%;WBX2 ]8L-NJ
MQ^ ,0 ]P$ VG<07^$LQ.E5,H@:RB&;) @A3B=V/P_O&_!3@.*9V_^EW!:6;K
M-M'CYZ'"F4YDA#!3#C-DOP)O)PO2K,1  ;PD;#QQ8V2&B6F15CEGAXA6*9]3
M  *Q[O5OW&B561Z6ETA+!RPHS ;^50P4N/.HBN&6X!F@Z:@*[=CQE&- @&^^
M7$:L"]]7 [Q&!Z*3.7%ICM%Q&X;!*,^FX)F!(Z>B*>S(9*['#3JA&J%+E8N_
MRB\BH0A]CQ@'X;%/.F$/FF#9]O &,O]Z@^F( ?P -4*5H^E$48Q47=%I1'/D
MB*]X*0[U*:U>*AXR/\_Z,!OCEGPF;L9873JN\A<U]]30B/Q$L](;HRR9X/CY
M;3D5ORV)KPW?0_L)VERT$#B&G22:9U7Y?!1_5<.FM7&,$6U#\KGJ%W?(9<?\
M72UU\TWO4<O[T!#A%59DMG8[#FV$R2N=_/_L?>MSVU:6Y_>MVO\!E>YTV5,0
M(^HM>Z:K%%EVE,2QQG*2G?G2!0*7(F(08.,AF?GK][SN"P0IRI8MRL'63EHF
M0=S7N>?Y.^<<'!X_;\^L%>%92A!WG?2:JB(Y'&S\8R%PTY-)3R8P('G'.'C&
M#L,,V_Y:UH(N4&T14\=H&)3M:6:!)3K,4+B"<M; ?'J*ZRGN-L9$I(6MS8GJ
M6,<RSB+MU&%77D]./3FM)J<\FF*4#!W[6OD2;=5UCH,! ,_5Q,3&.FX!NKXU
M7/C7=9$I\D'VE-=3WBV4=QUEC=J".5BN91T)8H%Q,$X$I@U[]\35$]<:Q!4P
M<8U5! :^0USUI*B4]OF\5VWCLRO@S=J<BJI449PSGJAH1@Q/$V9/DSU-KJ9)
M[3["\#VS-_2-%#G%"S5M3HLFIV _/U*%VJ90Y$J+0!3'[RE"+@&W48.QU9[Z
M>NI;37VCDH( 8&YJHR&?!U=%D2!,JA'("7!)]( CU@1]IFS=8M@W95ID3YF&
M@F&\&/[&. RJA:,H?T\6[SC-66O46!]V?"_XPT=SHF?<\X;<KH*IZHFY)^;5
MQ&SP#!Q\+0BGQPB2)*WJ,ATU1,_Q!)$B6?6<G,J;0U7;/55M(%41NU,5_ \L
M$4%O*BH-.G5-'7&PG,JZ,18'<D:$/-@$,)/ "-/I5"6$^!LWJ#X3",R+\& X
MSO%]ZI!RHF8J3\C;V7I">T<QPK>EQ@ASQJB0$X>QF"^&>-%6TR\I$DS_G$9I
M3@A Q(F4!0@6%FWHR; 1X0D<K?&1F1$(]L0_\CD'1>F2XB:7(*&%,3%^R@:Q
M2-I1T''Y0LW:>"&DKA%JKIH$V$I>*(BAS]4$D;"R4+,X?+YCBHPL1?&:$IP/
M3K=N&#Y'9S)N\F0-Z.X $3"4VQQI7+4-:0*9P.KA5RDN%+8CF0=%'#<E!4G)
M%J\$&LE180,9$Z<V91 PU1#8P*,:4G1C;W3"G8U@9\=I;8*\J)[(^S(XKRU8
MQW3Q;3K*:.B/5.<FCN&4Q@T'@OUWX.3K0BLA\'5>7%/D-5Q&,[47PZ3 D(@:
M0Y5.N#FH(E1R"#(;Q1.>ID08*^/HP-AX#,O&QO V7K[,"! '"/)>54I<W76?
M:)^PMG29:*\*)!%:;0$$67KXR\KC:#9>@;/5]Y3W[0:!L3^?OCGC<6\03 UO
MP8UU=#>Y<ENT/8F$=N7"J2O"1+HP#&7E-#SM0'(E)BR_"4"LQ!.[?0A15R72
M?JC)-!78."P[1?:6$C9;SP#/(0-YQ1#>X,288-E\D:%%K _S+P5H H<ZY<N)
M]Z.+==!/;P@!2_D@I![39;5[3=M@,@:(WC42LY%P> NQH_+K% :C=(6-Q&>=
M,4YA$X%8;Q:3'(B7(6P9Y[^%MS6O<)O-]W1@>0.G5=")" MD"D^!&R'3_)T@
M#,H>%,)ET%"* K@#5TH44,3:* O]S8I8:!3')9P'0SF8&6LV0C?;Y>W7JF(H
M%"* !/4.O)ZXDX%>#8)WA+]V<3'7R%60J!1"V0E)\Z=":!!2\PQN%-]@=S3,
MV&%P"@4 ."4#\W>B&<LU&LH!CI'\Y:6FXU0E@E.:\FV#?X-P2RKX.8*$"%\_
M4<[UE2M[!;P#ICQWR;UR "$K9)C>-OQ)2$S7G3H<#.T"NH^QU"F<'\@".BL8
M%;\F\/65S:$"CEN*'*$_8;63-%-R>C.05C&^ )0,3 TBJ;_&S#!="<]-@T1A
M$KFZ"5$KH+\P^0@QW0QXJY0D5GGXF((819/#N0^"3;ICP.NGN,EMW-XR@K>$
M[AQ5P3&E=7063_C?BBZZRHJ1R919DY <W:?'!/7V83NH(&MS@8$L. RXT ,4
M]GZLGJ)N 7. A$YKG>"TP(W0R"H1K"L(;OQGG5:]M[\GK%L(R_'ID_%28H9R
MJ6+8Z!7$\]BRM8[Z;*T^6^OCL[5Z7MGS2N*5UIW#ZMQ5 >LE8S2(FGI2E&3_
M$B=]#ZO,5,(IZHYMF/:0MY[2;J,T\1^*59Q1D1'QLJ!?B@A,0O)MDN3@^J)-
M791749[^&3DQ )5/*+ 0D1><\[AE0''X]*9)3ZNWT:JU/1)=0"*-I$J#^J#B
M!J5H%=Q,"O+YT&Q2+)RCPU3&E:*]Y^ETEE%U!!-SPH"$\<#.,GC]<P8U]='Z
MGD#7(E"TAJUMS*8R!J:H,@6RUK.+TT<:DO=2*^,HSXLZ#";%C8)##6T!-HFJ
M+DF1E?S>HN2@$_[-6;/)=425=JH =1T=A=(!@RNP@K"*BU.;R8D6A+:B3"CQ
M;5URBU,';#3!#Q+JJ&!1.JFR&Y/!>MJ4I<(X 44&7<B!J;"&_\+(8[O<%.^3
M\O$):]2/2RE,D6+(B8,1.AD52?<4=C:).-GXU\'E(.0N;2&W:.//SW[5W_\$
MWW]?1G^F<":OU8<T+L+@I+S"B"@^?(K!#/@?L(.GHQ0^.$'F#%L5T0Q_*N#$
MO0 /)D-CQ'*N0VD8-"]JB;#:T*84NM$;DC?3$1+.6$)56F_6Y:"(O);$?DTQ
M(:&307 ^QJ.X2:L)J3&H^7"9-@R=7%R<<*R(ZK'=OMG-K& 23W,C@6:ENJ;M
MQY=)03.G,H*7>FT7Q($/H%"+-T%,"[Y05+G071>:"347N;*%>&"W*J<X7R6T
M8RZ386\A0PZ")Y8R8-9)&M<:<4+K@$>>AGAQ50X#R?;2;E.(G\D$$^T1=LEA
M=7N(6/RA@A7'O,\9[!>\$-\MRV"TIE,]SD4FX,>P$!BWC%&PH/M;.0B(PBBZ
MN*D2GM'J02B3&4<QKB:J*<P/0APDIG5@:>]H%/^[2=F4?^B*7 YD"JM%CIN2
M>!_0-NQKY:!JW!@5%W?2D $,)H=!94LYG2,J?'<0_*3FP7E.Z5>X5*GP]&(0
MO(7?!R\YT"6?OJ57OI427K#9&)H[%00-[AW^^UQV6W[SO8JCIE).E)%X$9^$
M<PE0LT-81^9'VMQR(@$<2/P>F>9(7DJQS67E&K1DL2("ZV@0PRU0+N"(4ZQ&
M"*QOQK <NM3R;ET3TC(<U[49"'!JH<+AC:+J'BC^1@AIYM(3>I4>7D@P+AV/
M6VQ6::I6<(E3P:Q,8/(#77WKT=3,-77#-JP$Z^_*[CB6'U18=Q#OCU-+3;M>
MF%NSTQM/:TFUM9AT':(07:<PU(R'ZL1H_(Y%7(&P*37,@G]ORQ-6JFLJ!JR4
M%166-4FXEEJ.T"R0(I/HSZA,> !Y D1)93#W#5Y[>#6RTS@F2)/@N?QB)6@N
M\:TE=8#O9%:I&V!"?'%IMLRX+0P&16C9S$3>RN0'P0]:KW0 $U*CD<G=^1DL
MQKGA7;-"GJZ(&U+*"F<5X _&::FLFDA7NL(*,TV&5@5JJ'*[=6D<SE1(&%'#
ML$J-M^2WDH2S4I14&$)G&MIQ0">Z. MH/2(Z/:'*(#KSY5-SWO368H2O0YT/
MI6_M'KU1!^@$^3S./B!J@\W9?T33V?/@E']G[ALPZ7(F0H[J"EVF>5$1:/*T
M/41:>85)B_&XDO*I*"L5U^^CRR'' K2#.!8I@HF7@G4E#23R%3A=>H>')=8J
M$,9K)B"6V#@YA,2RR"FMR,'EY\BJTU)N3B9AIQR$-0U,Z@?MB9ZBA\I-8#(5
MPJ[I-_B8T='\:M;V5PZ)<WWA&%A)T7Z!0^0+I)$ .<8&8U5@:23<$4L>]L<;
MHVL\0*W)7TWU9F,@&GKP>%_8^MP.CX=5C&#-3"^E2J>C!N]T0[#0$2EWR*&%
M/*?1AW3:3+E^M"%(!PB7*"I0A70=&OK29<CE)IO2VEQ22FM=7(NV65R4L^[.
M<MSM0NH>D_)^S/Y;+BGE%D5G,6(>\^ZW6Q(J;Q"AN@AW]@:1DIR5H\4Y%L'"
M#?/1OW@@DK]%DP1UA]0NI_J7$)93_1H#JL0/F*U]J=MQC\K.F<49PKF])E.Q
MVC#%Y^P#UD=#T8FV!.@(RI2+<<P$/H)/M15>%$@ WUOU0)P+6HMU(-):]39R
MD&LJN_O)<!;AT\!5%$4R%+J:D,G ",RP<H7Z=J3QEEQ!'%]G])18^V*0J9<I
MV]A49S^0:Z ^I%P5VU= K#;7JO(NPU"I;7?.50WBGSU5\,@?MA:N+O1^NV,!
M%2):G:!:B<TN[@[<5RQEC6#')I[P^5EP(VMX?Q2EYQ- &8=N (+8,LLZOWPS
MW-O>'@8^+>/0\-7>/G[U)HZ;F0X1_:"B# 4$ML*(QJK&%7"7B4H;WZ8,D>&1
MVE?O(#4IH@16EK ,[;B")<2PY%*9[ %;-/TFJFK%.\):CEAFZ%!3Y;6H/BEL
M>SFWCSE%2+P=1)@OS1^_G_"J"A(=&(K8&#^B)KMQFJ?5! FN0JL$_B9L;U/:
M ""?Y<'>LYWMX5'PBIPW/Q1HZ+Z"Z_]$KONK'U[)?7R*Z2EY30JZV2DP>T#;
ML>DB0B=76&I=LM=VRT0*MU^"I/_'WW9V=Y_7_#_!*_[?G/^G1"!UHH++IKQ6
MF*"";WAR^>KR:4C%#BC%8@S6ODQD[DR!U@:3#93T$= 78EI<D_HF!?^=D&60
MH9L5?2 UK0 4&&ZYR+@=5EDYO0AIS7^Y(9C'66OZN$<O]>BE#:PU?=<D %$6
MI_!SS@"9VR"P+P$EX8,NKQ@1P/G3"IW9$OP0@01?S4GZ2745E9 XIW(M:HR-
M0!C80":IU8W-9-KS./L5M!X]N&&L9Z>&K_Y2L$ >'F\??K>SO7V@6Q'H8@?P
M\Y2D&HFL,TR_D[]/&"+TI^7(;Q7&-V)MP)Y.@&?%R &?O#T[.?WA*4M[X=;
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
M_U0:$.\Q 8;W60Z@[Q^_*'$ N3C&Z9O?SE]L#8_=XV0U6P96I):X5&K"AKA
M9 &$BJK\M$.$^S)APM!P"[4W,!+'*$PYH>MC _H2Y2?]M)Z@(J73=F*ZE'G!
M[>'(A>LGAD5EG9/7VQ*/UX*]UTYZ[>3Q&^>GYOI;)]@#V>CH,!H5Z-"G9!T-
MDB20FN57*,%('=#R BXDEK>LC'1W'6#1>!REI<'928)"*((%#=]1642)E;R.
M2#&II#;['D&P;+RX*HG7T-T)#QJ,_Z*Y[ZAEQH'&W2.H#%T=O5>3(DN(S?RN
M'# "U7;M=M%Q?4NM:>DA%S?4]U3H#!*K(CG:FN"CZ!V$F6#7@Q(4\"\GER].
M_IMI 3WS^P?;^T_&'/1X(3K-]_3CMTH<U&[.58!2D$%&6'^7Z]RY_-;D.5TI
M#,&$@98$,+E05#7Z,[IJU2IJ6;P+OI]FAMNK20:333!^9!!*GA 1P2$BSU/$
M(EN;CQ(8K1\Y*>*&_?F47@_B34F U4@P$4ZTT-98T4U4*DLI5."0R4OK-M(6
MU?JC,'(ASOT2-RY]A$6AN0ZTI[D@$+=V_"NNKP)3"[5'IW;@67.=0P@J-U$:
MMEQ1E (*6Y:#)E79]'!4,)3T?B7YWKY[3N5G]/[ U:9+[]Q_\;+K!+<QB,;B
MABI_4IW%#'8C\7ZKD]1"]B"BZI;HR\9X:GO9I&(KQ_M0<\?[2:[\@:-/4LC)
M&$^VZ"MJ1R96C%]=RE? "A,-%$$JU.Z92IQ/&H=H;T0N-AEKI>'2 %HHI^#A
MYEH$_H 5)=NJTIK*T".#>1UL]S"O'N;UT#"OSQZ\]3UJQ&FZ%-K@0E)%-@)S
MWY568P @50/F!,.#? QRH2LFMQ=L#7A'_3!Y@8Z-[2HK!IO@N]Y91Y*ZZ2P0
M4'6:-2![8\0=74=IQK3'KJ\;-<*<<E;>G3,*;P.#7W!I8YE;99)I9B6H?^DL
M4VW%R7G"0#4$B*7<<;5@G]@A10Z)@/=#> 3XM@5E(DKVLWGG%GKQ#GTG"-\
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
MYC;/D[5L/O9DY<7O=&KY'-C"M53/XOJ7>5Z(>8&G? "GO&M/N16:HSH8H>3
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
M[=IQIF&+R(&=FDCZ2(2E!SHF0/6FBYN[<!!L:4O#C93QT2/"WIFWGH"6*:R
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
M05["SW]L,E!-^ 7PTQD\'=0%BUCXHP8Q"G,9'NUWC/[D JZ]"LZ#?T33V?-
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
M[Y6VBC&UBF6YU:V Y< T.>JQ=\+_Z_Z7BE MB=:F<'!IO%@QZYM_VD4'M.I
M+]O=UWN\S4L+7_]2Y&JP@<24C'9V=PZ/XW_M[,9#(*:]PW]%X^'X7\=1=)BH
MX]W#T?;V C'MO[DX>WOR[OR75R>_O'AY_LO)+Z?G)S^_/?OM_.QW^.3B[9O+
MBXTBJ/W[HB>S\ #6&9BE![QV^I!6?W;ZV4CL8PNA_6>Z?*7M,FDH7IJJTI$.
M,$2R>956%N2=1SEETB W3TU$!)3K)N/D"1?A-"F:+ '! =]')+#@5W\T.0MG
M4G[QI5ZRA1T!C&N0:4H7I:/D*A%8H!2HBM&5=2$5VS"W-:O4#7[(LO'V4FNH
M,*25NVBL= WSH:P2$*(W49EL@7;^'O?&F="(G!7-#/5NEF"2[B4KKR<1QJ*N
MBPSU&1*VY'K,T<J"=[/<>@.+1X%&,^0-="IMZ^IT(!O),5%/"M3$X+=Q.M.
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
M9-P0B,ZHW"CXZJJ$YHZPA9?,S UAD#$M[])R6S+S8L+MDI'=9%NGW<*\NSU
M95N6<$X@*+S71=;@UI)+29&0,G6P*3IL<L]L!2JMW(I3"M^E.SHLSIQAO^0K
M%7<:39O+FL" N#$PAIOZ3$'7^[S:7\NMZ<Q%?OB;LUF5 +HOSQK9ZMX%^JKS
MUM>I-'''%/9;T\(W*'0D5$H\"'1#$R5:3B=I139GKM#691K!ZTK5K%EW5<:I
M[Q$.UU#+T,D/!G64&SKV!D?#&,'Z- NW0,5ZQ0&<-*@I>I^EK0Y?CN6+DAG\
M":3_]V&X?;#GU(;"Y'&9Z$=5S7 NH;=24W5=K_1VNO%A48391UH<>:60A+!/
MM8?AA-D*;L.92!9CL?"T-KK"VJE4?.VUR,>F1?K!2UVYU\@CN=.+JIQ!XU@I
M9.0.@W0>"-#:]\7=Q&ZE3CI8WT2Y)Y9;B$42!#EGL*>7GEY6TPOU:)PUI6F@
M0LSFJL1N99J63'II3TX].:TF)]O.K9'ZI59Z.2%;Z]^75.28LY!["NLI[!8*
MDQB<H3-M7#H@@G9K1D-LK7QX;@Y9+<MP#YZ(P7GVVXD8D$]#"NG;Q'<F<PIM
M@R5:FX[-8?!'(RCF4?'!]B*:8P]@!#MQ6B=EV%?/5R"W>ZKOJ1X&S+ Z E!L
M6J)C95)4LPE2J,D, /;:L\Z>B%83D<,BJ2J'E_ 091B K01S)M7G.#'?31&:
M@56!>1 ]N?7D=@NYW5!QEGK.7JT5]/+8L,R[/9:YQS)_/):Y9X\]>T1#1DI@
MN5*8TU()J^@(:].@A3MLJ)P+;5!7\"TNF4&U0_**8\RFIA:*;Z?,%+<11RB(
MI"9*ZM$5LFDV8]1TEA5SQ:%W0J)[TC^Q%5HM'$_W5C7#MNO*2C$B>4\KV$G9
MDVP-Z599O6K1WYW5=X?Z(\:I+3L53;'JU)^F&9E/MO8"4=GN*#:WC.%.5._2
MIBX03%C7;%^\!*8_3=K[JWI2O97-F_8?ID42,_!;U>*>@'H",N%?G=CJUM:@
M))H-HI_MGGXVD'XBMV-"O-@Q@94XJKILJ[36TC$AYHX)*PH</8[2(M]SMZ.=
M[>UC2JRKYS,\[XS*7;"0IR)86%O:CQV0!AMA$9(M[(P07'&^O>)L]D2-";>6
M.E%2SO4NRO>P*JH[2 I*,-SF%Q"6=9__-BZ2Z J3Q6O=$[9B;#;U9P)J&6X+
M4';[6Q\!&UK$7HJH.TR7P!)5S52JD@@VEX"'IGI,K8&+BCN-4W60.27#FPW2
M^82\-Q^Q:(R)I!]T4V!Z]7!X;Z\&&>J_^IYFW?#;;[#F(@]@,O?YJ"@O,12D
MK-0B@4W<V>>G0Y^4,.(3EW.J&H 55RU14;5D;I?8*G;HUO_$Q,SLH<H;]NK
M)K+SA(T0HIFT!):!=,?]#-!"P8Q;NOEP0K/&% 25S'&BNY$*\L)I8GM\.-C_
M5C^812.%Y37<E_0Z:D^4JXG2XL:QCDQ"-*D!\CM[($ 7B%0J+WFT*L)O.<U:
MB;@]./RV5W][TKR=-"6_A]+9F*YV]KL(\JY<\VA;,OZ6<<U'KS/K>NK46PS3
M]Y9IJZA2M:J6<XYOBJXV2K(WY4R2HL%K24@<_;GV^](/=[=%L=L4;/]Y3J7:
MLVOR_651.M4="/'D7>71Z)NV7Q$^4IA4*BSZE\RU^&:%%/XLB^9J@D7HHK1$
M_7[<E*.TFG C-/3@SS*X@=(7S3HS2?5=,37W2/31^3.CB!^72,&QG<%:1E!4
MVUXYO)R-.9[?,1LJ2Y448S$TRKJYKL!)"1>X@63.27U/[-^$M<&P>< +F]&%
MU3G;[^'^?"35)ES2@([B [RSPJH4-M;-IT#OH'"NV7"3=6M+QNAZD"8W2W)'
MEO2.^G*=WZGSIFFRU>08VJ$0DF4!3FV<?P/_1,/2!("H=HO3Q3-*@&BYG3$5
MO[&-(5(L+$,4JK/%ODRNUIWHRQAJ9O58 K*\EEQG7)%372A+372 -T(:I@#1
M*'L[X6_#+G27'WHY]<7%6E-<;A+KP6&EJ2@8?NL0I6GWJ%FQV])S7.@.3'Y3
M:C_*MDDWF"X(X2X(-(P5\&P55?' (*1BABNR-!,3,:?:2T-8=BGNQ*6<Z("H
MEQ'\-*)NW<**'5Y!._ZK89M83+#2@GV1/MV84:*PX A?+KB0\<1_@0UR^H+.
M.4=\Z3QL#667A8,4(]A7'J-4Z72$'2&"IO*Z[.DFWU3/O)DR%P)*-#5G]0.)
MHJ#RB)**-716:T#MV4G'-*1A]JW >IK%?5IWF4367 N@O;<@&--F6FDG%O4F
MQ4]!*CDMHIQ '\FO*;61DAYAVBDF@SF^&:QJCRH%EVHTD[+#IQ65R+HA@X$-
M$TPN=WCP'5).?]?OI_:SF\'-G'SH+]!O5B<6/^Y6LWWV[?PQ5:-8E8';G1+?
M9^'V?H2[A-%BK$'(M>%O*V/0.TQ[:EJ7FKBB$E6]6(NXL,2T:O7C\)H34-]-
MML^HZ0#WL>FQ)CU9WDZ61$H*I*AT-R*G!)F3:Y1N$72<6PB6E?">[GJZ6PLD
M)^Q0^ULL/Y06*YAQZ;$^#P?J.SODZ>>FP?L&$6$?*=I$(L0"[6FIW>Q:W')_
MST\+YCRV!*>]/L&I3W!ZU,T:7JZGLV!K ?(.-5QO7T*=U*L85&?E@\.H55=&
M+D.4-=QRJR,H:G!F*H?9*26I,^@K#EN=:<B]YBA,[%[EH\+: F'@X\=UOSC;
MU7(!BM;X #FWC2[%P15LV9].K4L/7WQ;3''M[5@G!/K1<<_.B$$%)X8K<:=H
M/?SL=N2VT[J_DQ,;:(<#OE34A[439^2-<10+8A;;7:54&'T]UX>TS\XI .!&
MH&O%[:>EJ5J*3=5TVSYS'Z=*U4(P0O72D=& 5SD2R97<X3;42/X4T657L(D:
M$2'K2QQ'.AO.(W:>+'4KT!>?+E/.MV3NHF?;2_%B/XF:TB7&D@QF41)567P5
M]9^<Z6@S@_C@,B@-.,5-J )JJQ(KE50:BD(($WF=LPW!$XXS<Y,6\HSC(GAT
M7F\*Y)6PEOR4-H8XP;42.*ME#*N7+!]@LS-L=^ >A4!I9K"/LY(:C:!_?1X\
M.;LX91JGCBP4GPZD"QAG9,G.ET^YZ18%F;(4OF:??Q)-(^SM%D<4/(?)$J]#
M'88:EFB/+;]<1S@QI+^1Q3Y?42?T"^J$_AW_XS6]Z>%]Z<[=1V" U[,=6R7J
MTLE8<3S(F^D(D4YCS*9#S(%KE9%4:;A7#,63$CZ@=,1=9RARHPN..\T9D,%(
M1W>AIZ[*YAWIHP9/$7H->:;IAY"Z_& @B3B.:=));*WF^#)S9Z<GJY0Z=UJR
MXEN9O\^9@57UEJ(-X6Y_<"2Z?8[?O<^O$.R4E:9_N2USUBT [+V341AI+.\W
M+D**H5&NH^[3LYG7X8TY^#,)\F[</;"T:>+0TK;8D"6Y</\_>V_:VS:2)@!_
M?X'W/Q ]Z44",!I1EZ7T[@*.<[1GDDXVSDR_LU\6E%BRV*%(#0\[[E__/E<5
MBQ3E*W(D.5PLIF.)*E;5<]\8@-0(KI]TS9@9GGQ3B5.6#Z%>X:?4=K_L?ER)
M>G.-3KD5V$&R!.4PQA;0FW<IM1#U+NJDWC#WKI%?F<%C393RL_7&[#@E4@M=
MGE+<]O!?CYJ>60CRRD:0O<3VLYO068=,JQ'3QLY!+@X\C3.:P%M:.M2V/JOV
M)]#E1YH#EJR<N5BI@&8FL53XVSDS9QJPEU-2 +5-6":6XIAS)\N%Z"M,<%;O
M L,IEZ;#OGZ.*>M&(K\EH9&BQ97EAK+*L^C1'!62DF*B&S= ^<DVN9IL'4Z8
MKT*"0D&NL\"!:GKV*6J*M _3W@D B)5_.2\ADUA!FOI%#(R*/BPAQ3/30YXP
M9ZU9WBD\>Y[Z2YG'Y\_8%#M/X"&6A#@K3,R#*=G?RB==0J;1T4#"EL4T)&98
M N:X*F#VDLF\O5D@WH'-&(Y06ZI4?92-TKAP$>6EYI3,%;$6Q'_QK&#TU*U,
MD*OM5"*LKI5 9B*N51<RJ93(W0+M12:.<@N= #/K&WA*G=-X+46L4\0GK4V1
MU+4TJKVDA\IN&_6_1FK0*4I.ZE\ZZTUW.1MXP\KE.&SW&JK:^'-#3YJ&\B2_
M6C'-E68];]":^L<5#^P#M99SC6.(?A\OD* T :VERI,\E*[4J9I%ODS5$?$B
MQ<"5@4'77D6I9%=&$^$\H@;/.H'<([#ICJVXH-?QULJR9?-P-4#HMN:\IA+<
M;G]-(AX>3'+%LAB,41#P(EXW+-:JZS=PC@^D$I8VZ:E86;^I/4AUM,W2S=:@
MG7-K$AP!&2DV@8XW'GJ,#A'0)5=)Q@J8[4MA1WZFJ1O>@MY\BJ97:;PB):F'
M&!+\3*' TSJA26GG0 (.)E ^;O^Y9@W:9R&.OOWT4YQ9K=9.[%9K^R-3RJ-P
M*0.QRH5TMI+9N0A$FH(+('\%D$(?GI06 :<T>>$+G[*FJ8L!QN/;--@V24('
MCWLCMS?QI'LYSF/7701OJ,8^M!2(89L"T:9 M#U>6V[Y3=S2\T;NL-ME=EGO
MQ-KV;VMQZ!8XU'?[_:';[_8WM/(]^#X3;S9/G;7T"_>Z3L9KI*5[&M?#TNJK
M2F>8DB-#LO''%^* D(X!KI,U%=^/.LZK$,P;#G:?J1@+&-]3W->X"5_K[LGE
M7-^*M8!JMUZ#?_!5S0I2S3_,Y[ A4[M/!@<:H**Y?P3-7=>2ZC):ZAFPN0MT
MI9NSG]GQ"MVD+"\]+3K?IE9Z.<>V$!=^5)A4"S3_,-OMTD^#3#^&N1KZ ;IY
MKK5MZDK-U;:FXX&IX)4$-LRWHOIJKNJ=A:M0AO*F^.:4G4DZ74=WPJ1DNZ^S
MA1^?*U/6S#N5_&_<[MY5O"\Q-H7I1E)#S#TEI-4"'&.N0O35U-I$5*]5/($Q
M&/Q\\"2K TE7<&NW4T(HSYXH\V; "/N-!@MP+I=!)!S8CAB)[C<NQA6G7"4M
M"[-"R,E4?YQ>"; K/654K9O57R^+FSU(,M,BQ&0(&?M]<_=SS"<2E# K\=^$
M+[*H=>B]P8\W@L'41DO%V'M'F^M.Q5+G:GK-]:Z]#:S.'G?&97$V=1D0>GKB
M]3H#,Q!Z?O/KNV42IA]%R8R]O)3@>/-6X(4([WJYKKNEA HM$:YWJ:(7&OY%
MDD&XV!_)%!"7QW99'2! 3H9!@>YUV/CE(EGBS9N>^2:[M5D2&1F](\R2TF@K
M"9BU2L5N_GQ1MH'0'7/PQ 102<)B^-I)2C="F)*[D,:F61(5&!1>HGM=6CAD
MZSE\Y">_<=UM7F/EBBI*'38VX%RO%XLP@$LEU7#<Z_;+0K:[.<3XK:AWB4\
M3<@9FYY:XR9CW2_R1'_ ICI]4C'H;8\[/[/N,,E3O3%YH2?ZN%%J:QHS6P"R
MRFC0Z?=_MF^HI@);>J6U/HKR.6"9OC7]]W/4NU^P]^,2[NE&QX-ECIA'-28]
MB&=H,RY8#Z*9<3O,L(M^:K;$AFO?:*9TQL,6$'L B%&G?]0"8@\ T5+$G@"B
MI8@] 42O<]0"8A\ T5+$G@"BE1%[ HB6(O8$$"U%;!<0%&6I!K>^R:#^?J<>
MZ\"3A)FF213<^AH>% >_^0[6'%__.:TL:9\8SX=Q@?_\Z[1ZMED2X8'_ZZ>C
MG^YYSK[7F8QT(%2'5KW55X?2#!V=*/+ %[$QV>465_,O;LN)]_,:O;^Z968M
M86SM[O84+[X?;;1L80_!?Q^VL/Z_FQE%_[Z,PAMTAI.#9A08"-H2%[C)BCTL
M4FB1@Y##:T7$!A%1T[:[&W31"BYY78-,M?.WPF=?$6N_=-(]YA9/3V,^?;Y(
MBLR/ U% =7?V)R[_%WOBK*3/RSS1(RU,,#E[UK*<[6BE98;[B[_,9DK-Y]_W
M-B@#CHXT^>6Z5 -IQH&98R^V!O=='WZS%OK-!V2?W X.:'$'2EO8?.(6C"T8
M;:N@!>.!@[&EQA:,.\W5.P@#R90@<H'&22T]]C"5VBV3V [IR>E7*D0K:&CO
M>I4J"I#!,X[G]HZZ!V2NMO"KP:_;Z6\/?#OP<?[\((+NT*#H=@>#E@H/%WY>
M9W+0X/OYH)TQ-;WDQC:1CT;3?-3FP?T8Z63D;9L26RCO&Y2'VV2W^^'">1@]
MZ/!AW7-[XZVK1KL&=@OE.I2W2M'[ >1OUJEVID#=H@7N8:JY/[:5,G;[@RTZ
M"UKX?6?XC8XZP];7<^A0'+CCHW%+A0<+O^&P<]BNND?EZ[FQ._FC42<?WF;8
M82KO0Q#JT='HL9D4+0[<567:?G1LUSCPW1Q%CPT5NKV6'?SH.-#9NN:]:QPX
M("_331GVG\L>:Y0C?WTA N5=W_C<-8G9!YR'?X\2C6]B#!4NT <N$"0%]I;;
M0S:P^6HV1I-Z;G^XK2K!%AL.'1NZW<XAEXQ>APPUU;'%B5OBQ-@==\<M@VB1
M8=L,8M^0X>?JN2JM^O<D47X?QIO];G<JYSFV]IS:&YL/\W0\^%.:DTLA:=GA
MG@?2TRAV12V.SSX??W+>A30&8#\'D)UB.:W*S!#+W<\;LP!F-J=;_)O)<Y69
ME:%^C&"*G<<OPWRA!R?JKN#9(DEYF@*-3X6?+!U@>2EUK\Z<>9K WW[\Q1Z,
M'F&3\E0&$><T>" F7L&MKFE40YQ@2_DPRPIX\?3**:@)_)E:Y=S8G)J:[R7L
MW_JPT:?ODBQ[AIW*3[BE/7SV!H<S_%,/9W@%V[B@-((]F$97)6?J$T\5X52G
M"Y">)RFPQM@A1(AG5TY0[AXQ8:$"../*3W/=AST-LR^9[D!NAB3,_&SA8$\R
M /X2[@DP#2[FDXJ783P-7>=EZO\)7,_'<:%^! ^]+M($_G/BQWZ 'P?8J%NF
M<9PE!>#C\3P%&8,3"^* NN0ODP"'*?"68&]+&OIA-F<VEM((\LI$5CULFX<A
M"OKC< ,GN_17Y4&I_7I]/3B6GN]H_=+,.#6C^GR:[JB;V,\,>E1G=]@7C+,
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
M%=X!Z.'E#7FBHO<!XZU[<YT@A;/$^%.M91M8P2+_Z)QUZ/0O4__/,,+(T@S
MG\!V@ &=V8^B$AFO*Z"P,#)QWM.(_U7;$PJ "BPKZ[)V"4L;_5+?4_WDN';G
M8:VOS3C_^4[,NZZA/^EV>D-G!6>[!#Y;X2;PS;C^S6VLI@9[F$[FT78U3Q&@
MI_ZEX3ITT5FQ6L%2LP4.GYTE&9+2+"E6$>SX$DBMCMCG3#]\R##.0!>)2 G+
M6KV^U>L?5*^OLNY6M]^E;O^D/[&T.G80#2P'T5%OM*8:B=+D>KU!D_+Y>1%F
M]Q&RMW.J')IJ56'[I0:5;;@8 ,A1KZ)F-^@BJ&"@H'?Q^<&@8G(U//XW?R72
MF!_O7O_X,9PIA>/YHM: 8+@"X,PSE2/&^,9+A!![4MLM^\?@OY38XC^P=-^6
M;_4$Y"6>9I-_=2;?-_M8AV,/]-\*"8W _- D!$;4>+1F%AN3>;1N56W!QXK0
MOKVJH!5< $,Q]V=YD:(V!%H<\V_TH@+"@I*$_ZT1[]K=6,;2C?3,6 ?';;YF
M?!NJ4A@6PU_!=]<ZO.G"Q]W25TJW/.ZA"=MZ+;^7=M/M_-CZ3>NW_-YG/=G,
MGU'' 55ETJMI.8,C2\OIN8/))CVG[X[&DV8]YR86;46-O@>79D^8O*3Z$'%6
ME,KHCB/W:50$9/$6*;P!M[A*HJLL!,#B!5WZ<PP+X3YFP/8SV^,J-NY@5#%R
M=8B5_2_&1O8F&Y_J'HXNUQMWF+.>:M\@PB%561'EI+B60&"/6+@$OI@S^J&V
MEH89WO8Z3#O.[X@JR1<'GJ??P_5.BS RB#$MY@ +ZC\5@_ ,V?T%+TB3"\6
MG0&+AA7S*W+)7(<B$LR$_P!/#U?T(4E5V./U"@4(J0BV26A/@K_<C@\'7J@H
M:,9/^!=FX<B^9XCB^ _8?E#,."*:I&KF9[FK=P?J9YR%.3Z6+\(T>(YZZ)43
M)>=A1K+(X3P96E'6AW7-;DM30GMO:"7E +C")3U)RFZ@8+F8+D&3,Y_J"O25
MR(]G\ P=#*!89*4?DM;BX '"VYFJ* 3.0Q<1 X9GF9]>"1'/YW#1])O$45_5
MK("WXR6=I\EEOG!0U<[5>:@8$Q8^+#,O*&D!G[(5K<LD_4*T[*^0 Q.L;3"0
M->?U2@^Y"YP/5--2W:>8RM ;U]W@WL0M@RZ,W[;;U/:$YXLT*<X7L(ELX<RC
MY#)SSE6,Z*75+UMKG!:YXT=9PAZH;)&DH#NH=.F *@/GQU9KI%K&2L&)O[\K
MT-#U[PP\ ,:,[QBV#W^$FDD3F>6IB@-AV@BGW/^B4,RI%2'8$I#\')$+L6.5
M8/H.\G)F!00>HFM<GFG:8N@Z?% BH$_H.4O#*5RL/P5:9_)0<29$C2Y*Y"<A
MKD0;\@/U[P)WX,\0"6E39ND(,!0D"UX),W%<0),>8-\Q:&((-C3W7,3JI7_E
M$)EAW6L"U!>?,_"$B_GGJ5+,'!B\+#QHER0_K.WA05%Y):, B #N&I.H6 OG
MY5!\6S*0=Z] S\=]6MPBQ?$<*;]XMQA#=QXG.<UN Q($?A'8H31&>+1;!,XV
M^^\XOR:7 )(4P7I5E0Q!F*7%2O-&ZTH( ;),,&N6+%=)S-S9=EFO8&%S91EZ
M@:.@%N(+P$9CR63SS(U+&)3W+1TE@,T#9U* RF#();'(1-; D&<D<^!3G())
M*\R!U\8SWGG,R-9QWL !YT5*80(X]ZS(,F)=F5(.IFOVNK^<8JBTWW'^KJZ<
MTWB.2A_^%K_U>K^\ZCB?PNR+\P:H+$DS^10_RL">-Z8H!2,Q.RSFS>#?IW&
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
M%$X%=-#QB"8OP)K<UVB.P[EPX"LBNO%>FYR)"\6ZHTZ]2J:\%,!GT[50GV\
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
M 32F*YNKE8A>>1F>[2&J7T9EEEGO%IL8VAXO>+1J,6_80J][C=Y>WP):-NL
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
MN%UZ2SZ"DIUD"<BLRE+E#U\608"=,H$ X1;Y1@Y+3CD-A4,T-.P;A--[4G8
M?!,+?.64&QG]<LVJ[&5'(Z^9?9<*K.X4:"99O7!>^?].Z'I9'21^W7&>_O:O
ML]?PY?\\^P7XRBQ-+@#*1C:Y#CIRX:'CLU?'__/">?_/L\_/?M%!(V1%_@I$
MV3OE@]8#FHS1'Z4?K:;(I[_^'=_B];VC9\)H4* *[QDW2B[2KIHCSF3#9O\_
M>]_:W+:1K/U]J_8_H)R3\]KU0@SO%SF;*L=V$F<3.QL[F_?LMR$Y%+$& 2XN
MDG5^_=O=,X,++Q(E42(PZ#VG'(D"@<%T3\_33_=T>Z+X.MEV^ANV# "C#W V
MG(H0MH1 7A&-4;Y2;PP_@OH&GU"'WP5@TGX"Q.<7"C\ZM)/H><#WUF2=\SO
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
M;;% HJX@SD6*^>?4;\7(L'@@/5:E.[#OE($&E0D!O0M*QVSQ#..V<E!8E(H
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
M* ^&$O:!QJ:"Y:90*%VW/S@ZF5\M=6 *A37D] :C!NK %$HC*)2-)!3F3QJ
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
M8(5@/F87'W/<$^%/*]%IZ9Y7*C5A&OIS^.,;+Y( _:+8$?#_#@I@_>TW4QN
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
M\&T7-',XEG X.I[4)R#29P*'@78]"9RNV^OW+9*GS:"FTHIT(,XA;6,CPNK
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
MQ8;!<=Y/4,1%3R2[/#L)D&-H5D96QEN2!.=XBEU[9TKKMI-BT*?"F!YJ(,P
M)7)A TSD_,.U<E0]U?S:%U?Z[)5JY:J"DCN<-E#B*XDX.,Y8'=^COZANOVOX
ME5I/XRUCO5#,L0(=C5B)SRJ50B\@];?R&D(?'QYC,M+V#B=0EU) ,8I4T,,1
MLT(@-1&?9< $,2^M0W/.P@#3PU3@KZS=2N/GM#JF*:P_; ,["X-Y.E-Y9S)9
M C8I$L)E2CE+VJ6+%PNEKW0;34[1L>%YJKN\RX :K>#A'EE<;)9QPW=CBX@R
MCKTO9<9X[LU57H.(U7&\@WGC:F8@?<JKJU26']Y9 :9( V.-@)]$%%T[;PNE
M#O#3CTMQ%3C_2'<PN::P@&(2=U>9P>U/GZF\A0XM'[O$S<+L*<IWU> M?PH=
MUS>_HI&#U1R$ESI.B9J6[Y^X#7J)/G,7FU0=T#L!*SF\PMBY-A,WO RSG[Q'
MW=?'+B60T&K8!H8W+0? 9G")N9[B \DUN-$SV'!<_36C]SOW*TSJ$M%LN;4R
M8,^ZB,2*GJC!%WZ9#I"R?\,*_N0*KM'5183:"VZ/P'2G2_.7O7J<)54I)<XS
MJUB)68GOJ\0'>< WHYBM(RXP<^H7+P#M3#+W/IYE/*C.?,U "*LPJ_"ASK!;
MS"HXGE6FM"!UQJN FG/\K4%^(!4_!5]'%;G8(K&*WV:-9XT_$?*X*8VZC+6+
M@2_\IL;>)C2P%X\D4JR8S61U/E"=U3$B5+H+\-LB@ >4 %NH5;'-A2R)<4Q,
MIDQ>%\/'=!DLX*((R>3:,AYR)SU#=".>:#3GE&QD&S^6"S:7&<<;O^E4B93\
M4Y9+8.\M1(VGT'(SKD[! (IXM8X\GQ1"'6O;^_5=N:ZJ-NI-.:Q$AZ;>0L+O
M^:?;E5_5G11EN'<(64'2'47EWG[\4>6FWW*/ ZE'A[E'WE&V\WO*:G6F*\\Y
MD1=_UFAHC<?FT\!3!1#C.)QY=$D638L3C/-HUCT+J17P#@-VUL=#]7'F>UA[
MZS9%9)5BE3HX!2!CC$L>H#K]CY;+FP$N%#$%[(W>:0SMPSYZAN<H-O??K )X
MM'KIL#*R,AYZ8%%[9KE":I(A]](RX/?287: =>M60Z==6N2@G*FGR[-.!?@V
M:,74UJJ]B@W]LLOSW^LA'=G[KV-GH4Z[PP>#^&!0K5H+W;D1W#M<!#)&^/:I
M4#.]$KW?\O?Z+8WBM%!JYOO7W[]^A;W83!0"CRZ"H?'P)QUV*/>4<9;POC%]
M@UHYDNP]_?*4%J'*%L/[X[T*]>,=;^$\%R]T\&+/)7%>_5@GP^GGNL[SZ8OR
M0+!?'3U8G;C4%>QUWFN"Q7%@7.%-SU/IY,]G+QSI:;Y*WC05^$B1C[#XVC<^
M);SUSEY\FQ#H+OL'@$)< ]"#2;Q:AO<<:<MY==,@YB',+NY;J /W4H$57.-?
MX]%QD<;R1E4HY$2J>-8J#0KU-&Z;ST 5H553DA^1$0"W<(/&3@;ZVVZAF)(I
MT(&'=R\H4:*L_/0$ZHP(7_&1B]ILN52<P5P0]U@LJ+JJE-D5H AQ*8VR%W0]
M4W74'Q0,!M@37[F0ER&.3IUMR(*,!HL5JBO"I:JPCE13ME>+T\ GO\'W-TXH
MT>CVO^3-=_4"_9HS$4M'3S(^(RM+E3\(J\&9UZ*RP_EK;$_\_>W4W::>JJ_
M T$$A1)UJFZ$1L>E*&^B[WV+':0(P9R>JL^2@XB$3W,PQ6^F@2X<KS(OPRA=
M;3[X:BG)K(41:4=IS> \QD8_BE,N2VBT,(SRS5O.#VF$=W=!%)34MK&IZ'@A
MEMR]97LQX6P<";PYK"L4%NJE:I-6+(R&U]!\P']A1A9>HJM-SV91JLS%TEN1
MK82;J^XC>#FJ KQ7ZM.:ODGXIH @68$8_G.3)K6<G\(K>:DL#KP..@'.S(MF
MZ0H<@@ [2]WE[:^P1("N=[@]#>J]YZ0"D:1'45\!7 EZ+O*#(][B-@W3JSYK
MIU?04835]%D@J$"ER0\+DMSV[EA6:.RF$MP5_=><R\KN3=O8W<8FLLX)!:NE
MAQ$O12110/)1AEVZ_2[C2KI7M$*?\H?@"/1C=XYGCVW2"WPEYG)3\5$Y(]6X
M#*8,+I)8XA.T;)Y9M%BE1YD!N6K)>D%*JQT?FEDE4R -LP@C3!(A\)W;%/W4
M0J<IO"[6NGOBYH*['/$KF7G6>E=$2ZXF+D/GQ8Y&6912!&:OD?$L\J9F$O+6
ME'FSHV$K;^WL.A_5>OZU7#_\K082<=:]$C[<NM.H!=_#IB(?2UH,E_ZNF>#?
MJ E3T:$@:71??M^ZX9J6?FIMNFC_7@1W^/[?AU$48DRF8O[3AU*Q(URIIM*1
MW$:IN@ZO\(PY6=U8=99LOSJ,M&&.CU14^+%31^[8@EP@+>ICZT55J5C9TCT-
M('"JBTT@U'^Q-KA<"G^QB=/!SU1+;$J*Y*S"0%X;NP:O%VC<)E:XL;K*DH.Y
M5RW*P-E4S\*/X+8SG42JKT*!Q_J@83#W=.KU4L&CZPPQ*2FM(_027J+WJD9$
M#82PSM\<K,=<3F&V*/A##R!S!!_"/$QA;G5:MW9.PS2)5-X5X1DSV P.(6#0
M :*H\'T]-]10D+ >W4PY1LH!UA65<3<BG$$H5ZX\!)3JM0EBZ/>.;WS-F7[-
MBU2 14*]5NMB+:Y7>M]3PL"-?6,TQD_>*&)+EQ5?QV0OEK^MC.SS^0MX0)1<
M@#G&^V'9#RSL8: P//9*J!H>NC<)56OR0Y6^9BZ'SRXH]Y*^E$VUU@" ^[XT
M\XF-\LP^GSD V-0W57M^',M$B9?0:*)2]Y^T4^\13?4_5 FX&<FB$M:Y8%9,
MT;[-=F\%4XH*_%EA.&(QT/ZB@N,.3%+ZABI[@1GU9KB[TA\<C/R3GTL6V,&\
M7JG]!(]<.E\*,-M4AS*A5RY:\ Q!Z?@(>+I+#>"U'<(*"U0G\%J!CD(M0+!P
ML!AP&46PF*ZER(!N[J&H4GSPN5H9YKGUT2J%E^AU7UW >ZY*-'(U]OX_-[@
M I<R'[C(!J[2DV1!&7>4VZ_*:[W*_?X;7F;W2U S +7]T'I;>+!.U ;9<O[(
M.G_NO"_!==S6%7Y"*FWC6L6T;>?!Z^V*$ "8<[#3Q'7H2!F@?UU_Q-RX4)]O
MZV98871/VX%\7%2UO/ ..Y_?:SMS<9T1;+<.)ZV."KQ;H"SN+ >#.["S'.[+
MN2^EV%UJ8!QK3)*1X-OWR1X<;\XT/N$B#.?Z$4068M2(N,*2]X9*"G_L=!%=
M)$MC(@5NZ,&%+D=#W13=+ B1TCDW6,F_?_PC5H%:S83L*):_6LFYISI(9089
M++QF@(NRW5Y,A VOPM37"._*@]G!9^\;]N&W)J=ABGZK7.E=#6V4?K&'C)H@
MZ[[9*),AL-M(_#-*+T'\E*@ZUB0_O /N6CFS=OC;A3/ 7?'++$IST&A0SEZ0
MRLV181<"V&5]$>EL45.$F_18ES\B8.A]<=8^#/^]D<HB]/TP*\)RV-CS_BLH
M?<UVX;AB-4BX4I=94JU*@H4Z'Z=/T.,AS$#7/,*.]?J<F^)T\(,XA+T4=M3,
M9U:NHP+-!><A9S2F$EZB96B(]X::\!18"5(L+88OHC#&\YQ*)(1+G[[(_)P=
M<K@29O$JWB[-CS3%Z12<!4]$F,>K^[1HI(^3/I5@F *=2/*S ) $,NJX3K?=
M'BG23%5)T_#[!@$4@,0T3105]&4F)7V]TZUI_D27\R<X?Z*"^1/V0XR[X@J,
MHCT9KJC4Y@\R\=,5J!JR1D2K.5BKS,]"*?!YN#AWGG=>/!90 !%TU<WS1,32
MEO^\IU\*U'=%Y+GQR,.8E'#I&3H2]PM"#08EK%(_\=:^9V)2B\A$L/7NB;2O
MR@_(B %0&PTDR,G'UY&Z5MG6E97Q!HA$V18[)3*@]S8_)TVG@'*8A<QP[:4F
M@&^XK1S3@%")TC,Q?P,MD@C#7+&<188D*UR(=X!'!Z;&"KB7%%+-$S7@Q_S,
MI:N*WV&7:]=9B!D:!0]_AH^QPEZ,D6JL+TF=]&8P,>%*9K4%HL\RH<*_,[G.
M\F0VF$A4B'F:F*("V=$W_21-S&KR9NZL"]E6Y<*6>GT5IL\+LOFBNL*$GGR_
MA ,!RH%(U;/+$Y>%K-%QI5D#T;GF')0J5@]30#?.2G1J'+;IW2HZ"M'DA:JA
M2=LT3#0N>2VB4C;12@V7R%]S4TJ*4+83DU]I7>>^S<9B+H_ )1.AU0OIN31
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
M.J.>O\5]NGU/.,$:6S>B1GJ,=5MC=X4"*I^130!G]DZI$$TYO%J$D@Y# :G
M"Z%I3*@8P,@7W<NHI!%\D(@CQ 4QMKMIN,W:)>FQCZC9_:L"!IQM  ,Z  .H
MDZIW<9\PE^P9;$!=?5I>T>^"*!/STMA!!D(,H>FI,7*J%^ST%73;VI'>_TZ-
M,^JL,CHBVW[$1FW, %(""TZ30-!]Q"'\\;'U\U^/Q' .VW&P !'QXS3ZHL*V
MK7=JV#1KX(M090[.C?^WQA5ZUCH>SW9V!DW&\Y__?GQP>/SZ@<O=R--^ZJ3Y
M1[I&RT!B.D"WJ*5U'7*8T)",@ZMQ][XY1>UL**JO%"5XX9]A$=(7CQ 5[Q.'
MOX&":%'$]W]H97*#;G)K!W$ZD,.B<M*>2 ,XZ$FIO7;BBN'+0LV[2%EG/ZJT
MPCK8\X?[0W_O:%AC^4#5Y&40N[>5_Z\I%MG>!HML@T7V1"RR&7H+I+1^.-C_
M2D&XU1"DWK3I;^3:D9;R%"T))J#JAH0A2$H@M=,NM6M<&E9P.PM&8+PZ.R6(
M8_0E<6^,*C24,(@*=\7QQ>$D_%C')UPH*%?)='H]2(CH3ND@2*C',,T"Y:.W
M HC+;<S1.3"AM@>Z5<P!]U#EIA MZJK3-TC<R/@U0KODEMK<PZ,%XM[7S:RR
M293;KN)S=K#<!QDBY%NL3--GG7WR"3F_+1)TM2LX^8FPT10MVO=N-9"R#N28
M;='PO70RE5Y67=M<;W(^>$G?[[/#EG]>9*W#O<'N: /54>/P\^^ F3(:[&[
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
MV25A*NV907D(D6>!<@\$4E0'R<G!#M-*L>6S^HR6):D*8#<X#^$I^M58O9Y
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
M\,D;U+D1O=$*W9R=71<K_1.P+\KO,R7W;C]TVLF\1J SV*T2]AJS$]I:(32
M\,E$HN(7 @:C*I@\A[..]1%Q5Q0G+P"S;7+;X8$*9W/*)X2A7@W!,O*PL\QT
MNDV^U#_*M @8=PQU=)3_>>?\GC0GP19Z%:!1!@]L\Y!",M3>9338]V[@WMX'
M12&8TZ_&=J:MR1%W*I,O.?.#;^UB2-2*3.Y,!7,<+TC#0?,&G9K!#?P36 ^7
M$8_V?]!N9(F+X4;@:9O?<WB#?\VM!'ZH>9[Q;Z]Y\B.</*)#R *:^^MFY7['
M^4J";H-$-9]&<WVF1.A2*R:GG.]07P<Z&M62MVG8"4D#-"9(4\(,:!_D^P08
M5Z6C40CJ=9S.3<(Q##(CSF84<)8/W'3D(KL)DNA?C)71)WZ!P<XA,XMCULN,
ML$3];SQ&=97L(M)U)\C:"5J%;6_F+]Q<TS 75+5XV9=.IR<XD5?4;^7Z<LM
M#R*$(28^YT8.$Z$TV!#NO.0Y@UT>YR1ALHC21^'WJ"..HVG +>!,,E%.(];^
MP!]@ !0'%^S8IZG5S ?D!R%VQ*;@AYDJO@S6E<IN%K#&1-WC7<^]]^]/:43S
MQRVDK]F<12*A1!&RRO6E24_3 S0[8!25[+D<E5SBT2 _L=\(&WQ@U?%EE#I_
MZ5)&*XELEQP)C)TW,'/T$-:.!#($^U-4G<ZIEL39YMC\*2PSFCR00 1*.)FM
M-'Z!H)LYJK[<O145*7/NWET:E]@X;*'1;8H*XC8:4)U[,^TZU=Y<+=AI4]VZ
M(Y1E[5>T)X!H%'DTX>9L!Q1RDHN%FYJCK_$&;H!V=3FWI&OQ2^X/EX09?X2>
M$9%+J^-NE>'R6VVEZ8-*O#'I6&FB'9#4&,R6PQ/_[U[S  BVP(^A+H:O^NQN
MY&TTQ K['XE7*2WQ9?5[&2(#:J@V0KL:W13U;#!NT_BNZ3U!)2^9V(S7E&R^
MF881B&,U<0USN\4B-^%/BL4%/F)VS'0#X@VOP<N9NQ6A31ZG$^[ ]Q#HG,UQ
MPZ/$G-9*YRA8(W:X$C0BR4V-*D!Q.J)1T0,M9!W:VYR,P.M'&X<UK I'L 3E
MWE79(;,%EI;&Y)?5B]<&MM/-RV.CS46DN@LF08-KM@\,2UQNNG8R[;M!=2O0
MIG6]G>Y1 :W=$-'>IC%=SV=M29G$P3VHIJNV27E4)O&Z!>B'.YL _29 O]8!
M^IK@MVX-5_K/8!T@<FOQ!"M2!$@6_;#DZ<""JA3X4YJQ$XO@(VIH)3L#[P2H
MC3%]XH5?"=3!3$2P2P338N]=7[JS%'P25E%HF*H: H)Z3*>(HCR=@3T@3DX1
M^<8Y8BQ=IQ#2J0IC3 MQ)*'7-@UAG_4HK6Z(UJ@GSMG)=!(WC_Y.TWOPZOKR
M'UOF:V(CD*U?J!MDLVA7I(GNJNE8OEM5Y[N%&JDZCPR*!Y:A4]$C+]U436J5
M1%9"V*N38!X0O&M91+%8B6P*@ZX?IPL4-[U1;:\K#J49 F,9K=T0DI&''.M
M%25B^>86:K&MB6_-R/L($B_XC*G*"UV!JST'EB J5X=\BMJ(&^[H,(2=WG56
MSN8ZH(&]:N. .YK#T_#_T8HU*/XL;^L#M+PD5</_,OF-8C'_2$XKB3C6 CDU
MA=#1 *S#PEBC^[R0U^2=X>\)K72JGYA!#R)KN?X3A*!.@=Q4,U1P@/!S[+:<
M:G"O_4>^CZW5,U-/+$?%1<EH*S2,D"UGK57/#%:2DC=JE]<; ANROG%2G67A
MYF@M8*C4<).#-L@_.]RL2"4!TW6JMTS,,64(_RC4L6%+2*AAA6RP52FW1N]H
MPJ)-$YK9&XY ,>/+?]2AV0PCZLT-?V=<0#AEO#R!!->:E\%W/"%4B<\.5=U7
M';CKR=F5]Q;CS]&8PB!G]#"C"?C>*4IXT,KDU]Y/H-[-42?WO;.W[QP]7> '
M-$@=_%%CU+E1.?F*BUX ]AY</)JQ?OGJ[/Q$O[VE711%:ON@"JDYB^60)>KE
M;$N2!Y&0+_'9*"/!0:O.*ST[+ XMB(L(@Y-HH+$!:W>I:J?F@BLR+>5F,E$^
MP$?&:I&Z*(02E&643>309!]:-UUE>356T.'W0:_9E6-I^BA)K4?I6//?*DD$
M"1,%!K]A;)<V\"!\(.LOQ5D6U"@#7X53WA*/(U9L)I+BDV/O:P+ZCYQ"9E@:
M.S3T,2(%M[!O71C#AX-B"3YKCD_P'G+K"[%,0!MK&)$6=Y1ZZ%CX**4): OG
M]I<P15_B4\C9+>^M'Y;+=0E[+ &%"+<+&;I]K4<EQQ6+_Z!N\5,+S0=M^57N
MN\+3'#2L>Z8[%&%;;:<<3(HJ: &%'>!-=LY8>2,- =O)3/0W[4G%(7["2%!"
MO@-RU:D$3/B)28*8.]\0RK2^AH _H;5MS'A#3V]0-!V$+>ZG-M<@DQ_S&H(:
MU5]R8B[M>D:%K"I0 4-F.@*AZZY7H\:0[X_B[^R6@G\]<,YR5$O\(?1[^1YG
M7^2ZIH;9;^V=9@5Y#66[$Z6P9XE2PPX#,[$PCG6XA[KZ:()H44+Y:2@GR+4O
MR1%YBZ%/:QC2/#PQX<=H$;FQ'A,%:X;+.WHU57*/J,*[ 4,@)FDE=:C%<C:.
M3!W?3Q1ZEP..X2/T(]EWF#DT4^%"8I,KQ?I]H3>WY!*8>TB"U<RGF2L1(23*
M9XJJ>>RZ '9O :))3V142),Z@4S@PK'QS=6RG.H-_L<V4JLP(=89EEK4#AAE
M2T9)+1#,I;MF-LRU#[2:[ P<IB7Y57%8#/+,C,:!RJ^)U\.,'1N\H)8L-K+.
M7@.4QW2; \?+7I^P9G&D:B"F42/6[@,-P#WBH'6!K@V-2+PW.*PP,TD@;(MP
M[PQ&^^T1;OC*O@UF<RXS![/A+Y7P-R=D.H'N/?-'@3G5@>ZZ]HD578H1HG++
MW>MQ'VV\M!PW[8ZV6W,)T*5P,VY23J</;C*E.,.:]%=*2>72^0_J2S1)F;P9
MZE0GXS4$#P-4F<CYDI#4^B; F63=DUH:Z6DUC?0MHS2<?9E'&48<T)_0LV0Y
M"O_ONO ^<NQOF)%>P6I 7H-6=0,<;F$APM]<&0/*^@Q;^B#7PYCN=@DNV[^,
M9.+HHGN?X0*0DIUK!9=['R)14?*Z6%<PFT84D]*+&(.,<N@$@\T=6%OY]#Y[
M$6N)V#H]3)8]206S]TX)^!DFLC$0ENYH@./B/R1/A!@SN@I>:4>U9]*.=#V'
M_E2^51M_&_/%HRD($HMAIWG7Y8<W.X.=X1[R).]7X)FLB&%84 [4GB=^L(KY
MSND9UVB3XX_F7,^OK\VY+BWHL*FT$K=*R&%S9_&.5:7%!<6 ->/71XQN07R?
M4PY5HDL%Z.ST!_$U4,D[X*!TC-FG#(2$!:O&1R$!+<EM-<DA6U\E.4H)DQL
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
M4V- >8@3*H'!AFI*>$)2'M)ZN@/O)T['C!?,.(W<((ZQ["AU?=4M[!?[2V;
M6L@FQ%)@!A\UVT9 I(@CJCEE+-A5\#,(F&QA\I[1RM5)!CBC7],,9@,R+%3>
M1783)-&_#/GI;U*N--O8V^D]+IK,N3EP0,7EVD^E_!N]/:A;WD9C+1E E8@I
M>\L$DJBF)Y"M8@QPQP'#7C!?$)CX(;]*Z<C_X6LY%5H8;"*'ZI#Q:U9*#=M!
M6U4HJ1,X:2)*X9#/6C&>#]SF')'_",@F*]&!@7B0&J/*XUI"[&BOL6PPC-8J
M$4$P(Y#8EP WC.60V^7(K1O7(M$E&AQ -+O0"ED"H$WA*Q+'&XL\SDQM?Z,L
M0Z<=\VI025E4W'2:B9G@"Z(=#[<:MY7&G@6_I]2$V7JG[,C-Z45X&8%:M ^F
M2W?06+?VU=?>JU'K'"Q&E3,;1..'.\AN8]O ==4YHK.G=&;9=:1M$]5NW@CA
MKQ+"2;<8P^(4U3J[_:@O^;:5:>!EKC*)*5PB+3KXG$D#M-(B=0W5RD*I*MI[
MM?O )CJ[]L@3Q=D^]E3[XZ,\M[Y(W[%HGZCJ^%HV)8&$+P78?J$%F @2ZF,>
M1CDZ$?%!K$(+\H@--4(3'"N>3A%\5HD^^ZD*Z0X;T7=C]8@H,=UX^(HB.QYG
M:8!KRAC>?NIPTS;Y#.<H"Q"60^H-R)A8B0&/"/YL?U0T@(2]K OKT\856BA@
M#?R/T@,;-8@1:W1:([H-5&.F8G5'D(1H,W L3?/'BM1 !BF3-J6DRF-'I.",
MQ!&HV6+X5=28Y@Y,M,X>)6@_(/M'^[!^G -]GM?UJ="..T=;E1MM')Y$?F42
M8DEF;'B([>ZPZM6(;.!=&F)K/&HV*,JU)]R9L_  36X.E>'4<$+I!+[#9(RF
M/D$GIWFQC28SQ3J0F@E5Q3TL+?XQ<[>,174P1^ZJO)]*H*R)=Q5,E33U."/W
M $)O?LK4')NO,(Z(S@+.6U6&]O-\8 -K>@GU<LCK7Q;'&6OR?#E.84LG$4C\
MBX1?RAC,MD)TOB@/;6]:2FD,]XR%M V$9XBL)1>@GR"GE@]5)E)?,2FHA;/C
MH!Y'N6[W OIA@2\V)N,[<-' DQ<Z&<3=DR#_K $<-=M#3%N?75;T!NG4*1$/
M,VS;-M+]$MH8&:,X8 \>^'U$J"&OHL:"C/*&5C>B.X=; ^\DT5I-7@&,Q1W#
M*Y*668 8[T#OZ"9'7Y,PRXR[A& K&IYRFNDODW^JH@_39N(W"?;!12?4<=9
M-V#3J*Q5#*9?E?94P6/HYG BM\Q9<C91P @**U'YP/[L("7''!J%.4ZH3<U8
M38(2)G3/_F/F >R?0K8$\I;\ONN#F?S)GB5M/KMG&'4C\<X8E0-._JV* T;[
M>$MW6$[R$_MJ^"2E+XI$2T#+Z45(H.KKL*J_0\4U'SQ3M0([\4XUD7R%!:1S
M3.\J$_$SYRHF;VADO,L4FM7$FMY9A%U$'B%4)W9AP3 3PID/S1:'[A;/W2V>
MF"UV%$F'C+])*;F-QFU*:W%"__GOQP>'QZ][EOC5 9)W*[!X M2#@D@G;ADG
M#O=UJJ5F^;;C2T"&'<9=T-0QQ1^-#EE14@6,H/R4@7?5V72H'=1O2:<@XEES
MNKAE')@4&.J/IAL#&86\6JJB.^NDK#\0W!'9E0RW2[WIY&NBW@$5LTZHT(7/
MVKHOJT;W(_Z0WI,*@,*D<'IF-28>+.^+U94$]S*A](=%"D78#[ID"G[(R46F
M] &Z3,!/.?3VXVT4 D>FRW$TVME][8J"M<OQ.-KD>&QR/)Z>X[$1QQMQ3#ZU
M6D<.U@=;FV_X587432/MJKBL-M^H_$6#MO*[-]2*2"(IF7)K$U!ND>1K^[[Z
M X$Z1&BW/3!+\X(Z6R9%O#!=0CJ@\9?EFPZ\GT&.WJ%KI+(-Y .L[,58%?<$
MFE^%#VGT=%JF7N@RLHJNHOV?\$TG^;&6P&MSA^S)%&F!H)PMVP-SMVU4<%PT
M4R6+ X>N>)KM!\@77H)Z #.T'\,0USW&6O0VI^($)-V,/;91;LE+VPDFSXA,
M>M/?I3*W";;*<[*<I,N, SKM1/]M(:>[5DVF3IN7KMQB#$]@!QNX\)'&8\S4
MMO[NFE8$.!D"%S9OO9)YML0 9;>4X09MIKDRIODC[$8,Q[?:C8)'S4.P+UHU
MFMD'DHSD5X,:F0EB*,Y?IS9R!&F=W*4Q(WPZ0U4;X6'N1P1T1:;!.KI-V)&H
MW7<V.?+:Q,Q/$"#;^Y5VV.U199_]4)([WWL;Y9Q>U0O/B4O#+G6&E!NF*7'A
MI$V:)=L"MY"7)!#%-B0'8J'68%F,'XH>,-F3.#()II@F5\8& %."3"8)A>^(
MT@,J?:FXNB!*IBB).9<MRMA:U!GH';VV<'@= &;VZBQ&(\KFDN@&ZREU^B>)
M4#M;WZP4N38'YB><ZP3[X0O;C!=\[?5/OKAU^;;J[DN^B4':?=%"0NZ7B38-
M=W[H"/?JBI-:JV;33A641$S((N=T8[R!]P$%/=<NN.%/3NRS!"(Y RZCNZE<
M%DLOA"$O3,CM=&/I92971!]O./!^2<@!<843R4U<QMD82L'5S?0X-J!?]SF1
M3!^]+M9,,"]AYHUVMM]53PTFXNTWMO.T5K,D7:#8EVRW4%/VVK"W4QM-.+?9
ML<@$3C03L&R/W;X2MYSC1_O&O:YMEBI?62?EMR)W+7E.[*(FO"@1VX7XL@KD
M;A( HLB_28,=+]QL5Z1!-]9CA/K@$:Y:XPUHF&(O83"]T!D]7*O>/$08?%FB
MW2GFV;$-OM28Z^T"/DA*-$=$@@DZ%]P5O;!S[_E7Y5?%<IUL$TI.#KD],B?=
MRFHF>C6NV2$:JS'V,"C('4ILD6%2,52XR"TT7=3@"Q*[/2_4C#M([PV\<T=V
M2[:0PW@I Q*;4N;JGM1KF@=&\-M8.W\4^?OF_CU,OF_7_?Z=?1'+1R*2?;]^
M5TH]X0H,1Z_?#+PW^I9= %%BCHO\R4FKOC0Z:2Y_?"=1ZU/R,$P6GMXQ?;7P
MRG[3&;VE3O0P*AA#!581D!= IK.YLP^3_+K?V>O@"Q'$][BJ+^HB *4OFKN)
MB>_$1($5(D.R.(TFY/#(46SDZ<=_G\+_VT%J][Z)^OW$2D(I+.A;"8Q-"Z'$
MP[R<S:C#_52<](VCU-8F_"&=@24+)XK)_U($DWNV0L"Q!<B']LO@:L!<]&>V
M<5_ID@PJ3]WRR=Z4OMF93J/*F\E)E8HW^.V5_%8J(*B5*V:;VJ11W,-FLCV7
M@= R@#!Y:ICVKVO?[#AZ\>YCOO<JVN*?(LXLL X.-M]-&41EGJ\]Q.CE%S$G
M@:L+5>);E/N04[6D[M!B#J09OU;)GM=_WG)\0]*Q#]>-O@44&CB/Q@G@^-1U
MS_1D;VPK3=?,M_T9+*_1QB+FNX&86>![=UMZOE0;B866,^,RP#J[XI9]K;AD
MO?KI-(HCZM-,?RIQ!N9#*1==>9B*)G/VW;?MSE2>:,Y8MQ(TJGHE5=EM!R5[
MBK-PSILR[22-N9K*ARJY+N.SJ0Z5,E;]B.YNH%M.-7+R,[>#2'4!&+C@IGJ4
ME\?5':S2F"WTPG(V)[<757E@L2S'%L08&(X&N\:CTT;C='&Q-H167UN^*;VR
M_5 <#Y93HU7F;OT5^KW=60R/7NUO+9T%#]X8W5;W1@FE=;++T<ZFXP$\-E,?
M@07&Z&!K%HAU327Z8B<2V,LI"V#7'#^@_7,M;,?FN8/BU_*.94LH+RF<@5VU
MA\='.PY;,G\Q=V!:(N=U,4XL8[+9./9%J0?Y4N5'OF<N6H49L>/;HR@ZYG33
M#<,"X2#!+3 )1[H"0;@1WF/=A5P%;G]59VU5EJ62IW,L[BK5>'7@76G8(:[@
MTI7?M,PPS+#D-C1&M):$$B?E*K,6(6;J]- /@ YR^17R$[K[7*!=J7DB7N/Q
ML?%;%!MO,AW:?FO@IY7A=,<Y1MJBFS\.DL^KDK*->=?7!(N_I7B8).9+>B=Z
M@@O] <KU9MRR=4QL.MXD-FT2FWH(7O,8Y=UA4D&.E8HV%(ALK2J;A)_4^D#G
M2^4N<$SF Q$'H'0U2E@9AX7Q<\?"X,%=E!4E^TVIP,M\DR)6[#[5Y=&ON+Z8
MV?^GR].MZ@<*B[SA(-LZ-LO$2AZ=2N.P7%I?94"_.O7JEW+U1TEYL!TR@@1H
M&$VGNBBD[O]%[AYQI=>3F7&:?>TT@B<2)_P3=850>\MT3D\S ZS#SM)0*C:P
MG'-""06=_59=B(W&$HXF-A8'/6YBD]K$+755;A#.J,8KHVL.TT-U?2)IT/,4
M:"FJ*W!84Z<2(+D3JD5CK('(Y*@$MO$$=3^?KN:?]RK;QW59'(J8$#72*";W
M@ N,T,#")V9*-JO]ELF5;-])WHL)FNY)@I5A.HG-HUMR&\13O1ZW..\=J=G*
MLY QA(,JNN?C5OXQ)5Y&^E"N2Z<%-/56=PKE%>.)X6HYL*GA%U3"@*VB^:"K
MUCROVXW"]LD>V[YRZLMM@&1^IUP?"&ZT+>Q:Y@-9@0LP&3LG:Y1L/.+J"5.J
M$%!?-,?MLU"V3G0V#N[IL0ZJM9 Z<(2_ER'Y)7RG>#.(&6A&H'-0LS<&; BT
ME=-=PD)!FF?4-DUNBLQ?+C #JT@I3,8@AZ22XN:X^#R<V^%X 'W)?N"*.I='
MJ@=WW'ZEP4R_=U%Y-0B_,NE@5429P3'GE-@&;%XGY(11K@L)Z[X EB]JCG<_
ME3J..OD9+N@6C8!-[.(H.1R;0)A0>0HM ((IC(3Y!/$""]33*9,+[OW<2-HG
MW1KFVR+L-.06_!WL<ST%'RD):<U82LAGX#LH "<ZGU?@FJ7.7);:N(V4*)AR
M]^L[I3?=H&O9W1UX)Y2^##N/N4E-^=SUI;S%:;-$E'M:BFNHF6C2S$1<Y5*X
MM%0M<*>*7W<^KER6F3A[1NEB,Q28D[[B\^F86?[]_>K.C3^9(7?$JQ:1HV*"
M);F%""!Q UATB4[/&\+3-K^0N$("Y4"D2F(;P4(0I#2\(L/G&,ACS+>3W5KF
MR[AU@2,+G4 $K,*F_AGPOH"N!>$XB,])%\,;EY.S3JMR:VGMI)6;74#L Z/Y
M(_UK%RC=D4*F%):HG62B7 SW?V@=2/@:/4;>L8QKT^1U&!9>U*[@@!W!RWP\
M)M6PU:=GU\?VPSU!60N8,^4D<KYG%4Q%I\^CXXN!%R0,'%D"<AW^/#/\2U^O
M9*YM9EPPYLY5F,[WOZE.(^L.6TW$CT.>#H]]Z.;6H%<H,95C(S<!_0UF^R]F
MNX&6ZE;QHH,.JWN(]ZC*N U^ED,\5(=@WFL+>I X13^XR;6 ]9"OQ*Q$AV\<
M]SVYM>O;]#CC7EMPC<^(IF$!#US7-:GE:C870"79=7[?N>-](28'.BZH;+S'
M&&P$+[.4WCI/H_,8N-;>BFPB!(=[(\Y4(%@=^#>-,.5"/=0*(G#",1IWFD*E
MZ!=#-T4Z^8R5.YQ:](H5=['GXT4UD/4QR,/@CRW3\<!U\ O+Q4H-PBXYV.%5
MP:R*6V%P!(VZZ1#_U>L(=P;K4DG8?@/0.:.[!:"V?'\KQF/C46-O8SRZ(QP=
MQ%(,)W"K<"O&$9>\DV;$5WG4S(BO]JCH;$UAM0T6"=7+YXL_KU>=C3:7H8^7
M8<9UB##H/FN6Y.X*P(H3>)6[("[=>@TW^0'=)1GA2[>7X+ '1FY"_1K )U&'
MH3?@JW=$CT92L4^!/7 :R=;(,RR#!?/8/!X1,&5$%9^M?R-7[MS PUF]2FP<
M"R*=&L@)N;G&5:B_58.8=O^^ *$&(B]_S?<OS7IT_?Y*->WK<_U:<J R%[CK
M459^I]ZW_C7 37?9E+&/9VUI9 @QB7*5, [])?IP;V)B3^TK\93\G^]O.=>]
MVM;C851_[27^XH($4/Q('$(F[#=H\:7B)2JS&TF36>XFK4!I\C,/.J':C<=U
M2U\9[6S25S;I*SU,7WG!*H(6IJBK""QS9.[2BZK;KK1ZK+LNJ0F)"5&R?\34
M%+97<R^/+5=>T>GT3N*?SJAGQJ<S+N+@WF^-"C52[,5Q[DR^GL71,D_=^,GF
MP>H9/B810FK0JX7#U<^=(X-$A!J=?G&:AAP'.#XZ0/18S@R0@ OK&2'H$Z3D
MZWBJR2*XS@CO=E')BH"_SLKXABP9-]=$1])=&,'N%!*Y?!V[TEC&%1:+35@'
M.K^\\IVR4:>80H_,!A(WMWC<[@Z\DS@V-B,8DC<I[8K]<+TE$GO\=*A>_'\,
M0LS)L9DJLI2Q8F/&E.6_.CU_8MVZDUW6=<*V 7PB7H*T-16Y.6+;LP,Q*PE$
MU.0(P$:UADD)IH&30V;8+$/[H&%0H"S..\H4PT"8;)&66VO@MW4Z2N+DJ'@&
M_@BG07G'6%)0L%LWN$&4*9H<X7S8&?$&F8DTKIM/OJ64D*!L+C8G*;=0DKZ,
MBH;PO9MH6OC>!P0")IV:.I7$1&U$F$BE,X02;L3@Q=Z7[\3I!$D]"2DJ5QVS
M^2Z+&+RQZ4HLQC:J4U^0NB,DD1H9^$S++A>M;P=YE1NQ[TP(GQ(FX'[>F'0G
M05H>JUJ%DO8BFI*+!BBR[K$04**UWUY@0/E2=&<9!%_2T<=(+[=,2>B^P*V5
MD# U<>'67S:-LBQR!ONJG34?IN/*Y.UJWP7=F[T)Y"WQ'UT%>R(A938XL)Z+
MJ!M,5(,=#K-[=W*-"&W<M:TW<9>ZI*)3I<Q[D[3?U"6LS-0E2J[@E$@XEZ(U
MR,"I=@)&H JV:=LJ/YHRTL3+7MW8<)$Q:ZFR89IFSMW98EP@9WV)BE@D2,U"
MWLY/!;K "0Z9'@.)R=E!922PLJ!)0*TW!',+I)8"WS!I1#DYU<3^SC>QFXV_
MS-@TR##S%F"I5A::O^Z1_W5#3WVD)ULUQ:$S8/@;HMD0S7*B$0./%'ZGE<J&
M?C;TLR+]&!NKT@D'*X@WY+,AGX=TH"S]+ GCF(&"_Z3^U>E$5".+X,@8F Q-
MM&%-&]IZD+:T:4:&JV!?H _/@#,*)$9 Z2&P[&U)$YFIXC8E]&U)*X=%;,AM
M0V[+R4T;<5A?AP$&8%K_4DGNNK!J3N^*8\3Q+%^Y6"!'AX?RE@[4AFI#C!MB
M7$Z,Y&>-JF3507A85+F-JEM&KC1" MD0V(; 'DCV"KYL<R6"]M:+NY/@683Z
M-F2T(:/5=+0:F^H*S+7@(VS$X8;,5B:S>P(9F9;)1/KY3#34;917P:A;166(
M!)-MR&U#;JN1FPZ;-V*E%B81$V/",%:^=ZO"&P(X(!P>5L8DH?\FXZ0;"YBX
MH<$-#3["^P%$4W*/F4P#2.B\),PAKM)GIJ3%=DO?&(S\<U<SJ=BF)J>>1F&E
M IL-;6YH<V5QK#&-PQH1SLLL+X/$:(1@:V232. ($@\,CSA=*"7UM^F\DF9$
MY2:8DI+.YBK)@PW'W%#E"E1I07!SF[$V#_)\6V>Y:</6%Y37)5)>OV+3?S96
M\882'\<?W4A%,)FHF'LQ,MS+)+U)#!P&IK7!NF?X[YLL)<!<2K"KIP&WINX1
M5B66%6ET=GE98T[24!J?(W$SX&RNDLGDW12,;LC\"2HJYGG:]H>^6WF=$F!?
M4)@.,'X=KD,S:]LBT*V#+G.+OXCT'^&]05Q^PG;$GK8*&[BM?V7I^52@3_0N
MO+(E(Z@T4?(UAT$S+%>05 U%UB7Q ?=EF\&[I!!')^]N=:4&^R:+E@82/"X[
ME $^<4:V#3-<&+]R+G4VU%O2> #U=W0Q U5<5)IA.I\>>">5D3H3VR5%W9DD
MH^NZ;_OUFENLJZS48UH\L-948L0QHIP924C')73.:$WK,H>;NLQ-768/ZS)7
M+Z98WJ#JYS/OW<7[]Q>_GG_\R7M[?G7ZR]75^<5'[_P*?G_IG7^$__OAY!I^
M=?+>^_3+Y:>+J[,K[^+C^W]Z)Q_?XF,?+ZZ!*UW]\N;J^OSZE^LS>N_TY/+L
MW2_OO>N3_^M]>G_R\2-^'E\X>?L_YZ=G ^_GB_=OSRZOO*N?+WYY_]8[O?AX
M]<O[:P_F<WY);^&#5Q?PQ*_GUS][EV=7G\Y.X>\7^(AW\NG3^_-3FI9W\8Y^
M]<O'\^NSM][5]<DU3/#=&7P=9GS^\?3BPQE]\/W)KU?R/@SQZ>3R^OSTE_<G
ME]X53)L^=>5[)S#>V?OW^-^3C_^D]W!J9__XY>SC*7SWY/+\"I?RRT?X/HVK
M1SJCD3U8^T_G[Z[MB!?\&/_['7V5GO2]]Q>G\![\_>/%Q^WJ].%M'.7OO\!P
M;\]/>9V7,BI^0C;@S7M:&ZNLUY=G)]?_')A>8SV@O7<MH(I.W8O4@YFV,YU5
M/1J[CA ;VYHRM55V$<*COWHECZ"4R70WM2X;5=_(":I])!A/K+]%OQ]CAW*2
M5+7,KRM%:N,WV5#9 U16:4$_$<,&K4-34,JP6!:#J%F@[Y*<;RM_=9FJ+I_G
MCJ14/:H3\^)R-HZ"#9ENR/1!9JBKTI&21( ":3&40%1)AUE)\KKHTX0L*@BY
M#!^W\<AM*'-5!DJ%.[X736TK3XO?8'K6M1 ERG.IB3:QNGD64?.$W\LLRL-(
M4-?OT)^"@ \.,HB 2@B\(D6;6\8P$1?$P"!?CT8<$6PL;.NMB[>)_LLQ8O63
MMT\W\"!WH>TWVH ZY^:'W,X)FRFY[K$0[AN0X40>JH@1I\G-6"&"B#<\/CY$
MY?P.* 5[UG%:-^X4/#J/@5#D"XY#O15Y!6.@. WV09GNC'8^O!3ZPZ.]F.0\
M^/INS.=V,R#ZN" OK]L,/'<:CO<34/VJFMJ(\41,:]3-8!IEEPMIQBAFGHOZ
MH22V$\RXV0''?4)G.SS=AFR&C6E@2&"F*\2 *G[BA7R?P8,)?P%>RM04"=@"
M#\(M^G1Y6F]'@)Y@W<I 8Q4RJ<I!^C:B7U#+*\+S+PMCA HP$[4[GI0SJ4Y5
M089M7W*-4X08=C[W=30MV/@RK0@ZP6V<8P1=N7)"7K6=L#M071H_1:N#N[S
MB5?";D*4(7;*[,Z]R=1$$>3L>('?&'AO%+>NO<?&$D[#F2JP'X[6MA]ZU'$@
M?6@>NQ5^DY[H>&K^>.JPC$ RFBV*]T$?L78V/!X"1,["-N5PH> 57,"(@HZB
M@IO'MLU&AMC&@L4)XA9QZ/0/V'^XLQRC-_9!"P1BV!\$%\OW7"()"'1(+Z(.
M>20 +HCD(TLV6Q53FE9&CZ&U@T&*"HZ)'"&_%Q$*LNZY0<?D&P_2M+KW5%)'
M5$+S:WQ'\SEGY_6G+)07W(M08,%J;(\^/U,%!FZ:@$NNN1?59/72*7BO@JT&
M7[1KTNOAMK7.:S7W&)<3 C]$6)TL8(; 07+3^5>Y1:P:B;JB1^G5H%XRWL(=
M)CG_X'(;%\)M:ARX9.]<-=HC9FPM4Z@VWZ9N$X)L1K$JK&WCX8'EW&3!; !$
M=Z\(DRMX8,*5K@ZK'U2$FAQ[BU80G;*O6O(L%&'\B&'5U4I&^BY,E!9BYMW>
ML(-?6$]T</407.UC6A V7BVA(U.F$YSI5/9R5,H,H-X4P[:W\'Z*TS&P]P_T
M#9+1+4DG",$&(@8EW01;*Q;>31EDH*HK 9!KOL/X<13OHTXTJ0P_\,X31'Z2
M'B^D_"Q:!4:]Z7?S6NC&IRUXC4 S&KP]S<A"DFZO%6)&E<BX,BDZ"N(U5XZI
M@$\(-*3W*E<&=TR0CS^I%$2QZ<%PJ4R6@G<*YE=@,#Z%BR(P%TSX*ZY:)@W;
M;)9<&8.8E1[$Y^DX;;5$(9T';*1)E>S#<HS4F18JP(B[[WI('$%F\95A(FU[
MX7;)TI(PZ%7+G#-L[!E-71V(<@RJ7-,*W*7<TU]-8^C4LCJW2]BRP=Q#"Z#E
ML*;:F*>JFH,=5(A!Q)>93HD8CH;;J"1S:QL8'S:%VCOJ9\649H-AVW!O0O5\
M!;J"S;#0E,6?XAX^)AT(!$#<@ASHU1I!PE7]C"_&I,JC,D(N"N".6U2+(9*Y
M=1/)OG=L]:JTX3L')R>WO8($B7_32I&;^"R%X-[P8/=5N/5J;\NM>JNQ/:)N
MW)7,J,#F6!F/M*+A.!K"$LF+'UV!?EA%U6?JBEB!F60Q1#8I!??A9^G-ES>T
M,(L02TDWQH$38R,-N)!!QN$B^8QM"]"/^_M/,+AK:4%D'B[)"PKN EC6.(HC
MV]:*%79\B>]>55OO5-.Y4289<6T,N T4MI;V!"1ZKQA!ERX=>[1T#Q_6!:-*
M#B@*,DK&>13>[GIF,XTVV4R;;*:USF8Z@6O\H _/BV8,!)XF=:MX=9\B->(C
MH8$R" Q)I:R'T6%GK(-R0])&W]$V<:-[CSY@_\+&J[M 9[@NMEK<6(Y&Y33G
M5K5/6Z>2:3OK!=BX,A?>_F"6;!P)>_?KE>YW04;M_AS-5;>V)@\6X3FR0Y@]
M#EJ4N\W$>4ZYL\!7+E:\*",F $'.1%R2LY[J\C5>,&K7'$VA=39PUZMO34W*
MK&Z]"'-#,WIKX-43F29!/"DU-O:M:EF.OR+E-618V^EJZ8@(Z1P4S;OQI.D
M:L3B] G5;@@$J[Y)LX7VD$F+/*V'(A&#/)7OU)]F"&,^6!<DG$2H>'I-;['V
M#1)#GSK+, 3VXOFZ1] VD'9Q?Z=&V(]LP5./CHB"1#2$YZ)+_EOK_34)<*F_
M)25'KS760NL;W&-.DS>[;4$L*1Q3V=B':%*:ZVDU*ZGH4*17SPN_%MG77=LX
MG,0MKCFHB)VMI7Z<(3U- D%UEMC!O=MY3.%58Q'H[:).O4#B:!OIK@=-CEK]
MJ+2OHU;Q@:%]^Y6H=D91OM+L6]1-V:I^MK:J]7_N=;CRG\1BX]B6?55.GAO@
M@FRB4W2]PTT-(.)J,;Z."FT6P^&BJ;X1KN])'G7;05.]1WTTX77,V#C:I36'
M:CN%6NS5R9QE?YP8X]N?A*5K[/]S:YV?LF=9F^<2BR4W0&5?FE>ATN):'AN
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
M:S )U:]V6_5I%)VT4G@D_!KB@Q%'+"@9(05A^.UA-I4%_8BW1BVE34L)9M)
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
M#,6^((I[[& DCRP^W)[9A=$AW' Y!36/T\GAIBU[97NXA^W_4K\L9LY&OQ/
M:*\<Z+I?7]@3 K>>]'&A]6!4V)E.P@9Z<M2$^[UIS=$58OLA\ 3?LE!!V)->
MM5+^SS9)8HL"%6J=G![D>.K8< *1RNV$3%VK1<3L:E+$=%@K\2T"F!Q]$9B(
M%,K%L4G=T-B!0BG+\#BTNKEE, QD$(F#)<WR8+EB,5O2]@'W@@PZP@@,$%F
M[%!LO+WG@->%#M ?LV=J]1)]()N%1-_"/ I 8O$<XB>P@%PL+D-K#Q.^&CV&
M# WHX2XA(C2]#)DSS6XT/*5,1.>PXPL"\J1@S#+@*]2+V>-VY>Z;$>D=NV%:
M0\8NF52KTI8].M(8A\W1CQ0(&CO[&,H%8D[/2-4Q-8N_M8S$YC'*<'0QZ$YQ
MQ90%([\CU7(K!!M1&VL4N[H?1HYK9+8[=Q.++&#_2;?&/L$QTKF1N0S.FSIR
M/<MS_>F,AM#(H0YQF):49!DK"@6/-:19V-4P&YO#0C /9AS#-Y@">.R,8GT2
M&=^C#$D&6&"_$.T5$99+W?40CBU,#F:2?%O:!Y&4!Z-%MNP^QZ2TD[JJ\!.-
M7>[.]25S .S#GUFXN3YB9;%8^:J-A8X%8]?B,%J4H.,DSX3> C<PVT1.A8$7
MY*&@8P( 8)+D0H\ RW*A]RF ^]09+SVT* .\^8")/^TD:;G4*AU'4)+6"J2X
MU=JH?D)MU/X>M\]D/2#V04DB_5.3O*>$WQ/"[P4SY6 ]1"&N@K2%@@R/0(F:
M\"M"-3S:]>5+>]R)&2MAHPL[V"-&0UG'Q;CTMPV\E$:8DP,3FVX6WRC\7+%[
MD U@NS]=E;B1]09S8:P9#D=" (Y,E?/)=,4>7-OZC@CG4^A@JO=Z)HU$4J(D
M3?(,7<MDDQII'#M80\ >=$X4DSBT6ABC-M/)3RQS#,>/1  NI UFG;)@-@;
M(W<$X3]V]/AT%@&,2:0#8TR8#<:Y[&Z-7,\HZ%U=5CL&WQ<[LI#3.WHW;W34
M7$_@"RJO&(J^7B,G'FC-4J-2;U5JU5JYJ97:C4JKHC5KK2.MT3HJ5K7SW:J1
M$[=5(Q?9.%<K<^'6.;QW#C;/:>?M2NLZ\L=WLM!?WT@;W+[!"SE>[QA"+M^1
MY;S<T94NW\FKHB#I$B\6<F;L]NO%1JM2Z>14599R6[WBC8'2%UXZK)"KA&7(
M$:J5#K1RL7W::AY4+BH'6O6@V&AHQ4;Q4&L6JP<'VFFENEM4*VV/:LG&,QS;
M.A?N'9=ZXMV?M[5JZ:/)%5.H'4F9F7/2A&;0(A@Z3HK*YZ!5R^RMNNV"FHG7
M5KV/$_\V@=O535,Q^GRG)^<+'5GAD:SEU7S'D'G>[!N"*LK2NL"5SXHMK5$I
MGI[5#BKE2JD( JC9PC*G<GC4:M;*NT6Z\K9(EVV<B^V<:]60J-4XLOF()+[F
MCFJG!UJ#4'6[J;$K>/&+T4/)NNN-6DG3#MZ!*UYWRL7UHR7_GC$KZLSI!?#2
M'K,K&_ ,[ ;1/L E&]7P^=#L$6W53&I4$'AD_(4#E=:M6F2)%R'-.X[#E.MT
MFN(T:L.[P4%$>X^84TOQ5WV;N$*];<J06(I,4E;D8E927DT3^YMHHDT"HW4Z
M.NP]KOH1L;YN>.R(,/YRF>%"FAE.,\.OSPQ3XT,6Y#PRD+H=748NG]S7"QU5
MZ>4Z@B&9>KX@Y76ANVY\Y$JU:JM1.P4K&2O# ^@"ZN3S>:7 [Y;9D=N6V<&V
MC,V(<-,[W>AT8'DP0@Q"ND!'KD/#U/4 ,'8G,D4KV?=H$"YH-R)%6]8TEKXQ
MAI;9#S'U66\Y"<7COX4Q8/JW##?4/395P23#O:!"+Q;4(X5)Z(DV!7"$E_7"
MPS2BAQE!WTT:X=7PQR;SWO2LD/MM_MG0</^'YAXC$!4A9@>'8U2L=-9B. 2X
M9"# Q4!_6WM==]/K8%PEQ-;]*9M/'!X$":M',./AT #;%YJM>_C3F1>M-M;"
MG7GN>>*A[,%EX 8>VR,YO0"W-@ZM$ *$=$WV!I--*F=I&XI1P#(0&$J$#+*
M-HT-: @+?-"DW2=#%NGA-)[G3R S]V#V:'8!G@Y_B,Q-P%%Z<C0)XZ>1IQ(
MK5/(9QO/BYL$LUX_>+-P8\C;GO@D_$M36Q/?MHQHCT:44\.!?*_F3 @#PWQ3
M.L.3B\XM"3$SZ*Y#\MEJ'F&+TC<,\@>W6R1LT*##&6T.UT.!!T/E,QDQ%$ZW
M# 8B[X2@5C;(:8*,'Y]\$TP,8!EX!K6"?^ZA:\3X)&S_L1%+(6T$4!]8W! @
M?\AF !9\7,9Z,:G7WR3U,D%:GV+H[H5W\-0:"&HX97UP)-'9L?0P 32&M(1#
MYKOK'J)-G#B(X]H@(XP-W\7=>PFO"<<[ Q!%H)F>1JY(0/Z(C \V )D=N#D<
MH4-!5YC(H6@:("U@DM@4O<U@X$ 1L1S'\)_265 TJH"OV;3Q"C :$A[-0U4&
MF>/ CHC@W..9/KY+*G2PX-,M B43F1,3:X".CT\GPU?8=0:L1JK:_PDG SQZ
M1T3"KK99A^V=*_-.IY!KFGWH!44TP?IF<>_K--KJW+-F/INP2O#]R;PFFW0?
MKZZ"SI\)QC4EG>C*'*P ON<?,A#)>,XYA[P *(GH4;1#+9#X,SJ2!/"6;;8J
M?"9([GNT5L$'('O'C5+!8T3 $)R2:M'C->A/WN#.U/7OLT:0/IF(8P])@P>N
MF6&S<)XM78.T*+T5C@Z,0"<#2%KA]FG&%=WQK6F$M (S:6)6=-R"AF974IW)
M;* $;#I<TAE@;6%SD*10<?DK6C/3&=UPZY&"G+!_@0X@8',-@GI4( [H6V,T
MCT4L$W&.&Y5P\&(\,,/"<R1VYM:+<6,_!F,E\S(SPINZVX4VOFSM?FPNL46'
M_B+RO$A-5&+645L3.J =9.H-]$AKWM/0<&L^ C";A^NE-KE0SZ?'3?6BI!$[
M&&P2G91IK5M36?C%@%1-EUU]8BX<=\3]%GE!^K,R>A+O:S8CE-($2\;!?D8M
M/L:.G&\+R;;> M%(>!K,F\*"Q/+H81#3.')&<1_JA8<"+DCH#6TXHMTI73XP
MQPX<*==RD-T&_S-$8M?SN1( 7F$'B,+Y%8G" R \0LNGI_4,J?+MF:#,X.@B
M@R\ICF!$3_8M=Y(AX]4ISA>=%O"$0F;%IQC_,3&'"*W=X/UBN$#V\$0*?S-U
M[Z@?P[R5/M3[!-?1"*\C?HNPP3*ZCIWP6**5]$3-Q-$%J:6]C\<UPIT$F(00
M>V7MT4TG&&)8L8UW2P#A#<020)NT ?[]$T'0VA3Y6J3/_@5>YF<G_F)5X\18
MB_#<\UGLD>LCJ)'1BNW?Z-DL0HQSA9&J/O33GTT,F^&Z3.AO4DG_M3;S&FV'
MBEX,S5YRCRBN__YE_;MEY?6[5&O6_N!68Q";#J&<3+3 ,8(>B]TX,B69&M$4
ML ;&\T2"=6^4ACMPN(0FX'!V1ZL&;!'11YDDEPX+.^AJT<'_II=/136[U(C(
MQ@.F07Y08?B[;<.CR1'@:1'>'^YWO52L[?_)/,]9HC=+@YG/T+/QFEJ.]7(3
M4N'(BXK()1Y3I.<"_J((*"$ H^&1>+YO(S]A3 P,)Q2")*:QV:G[<AE@-<T
MIQG@S^X-?D<#ALRL!\E!39E=LDY:*[7_*P&RA(!X-/[]*C5)Q2CNZPV\RXTI
MRQ=$UBWFD]*<$6@2O#-X[5:S&*13-S@9$@6W/(K=X>(6.3LNM->/^?E'%A@0
M&.8$="7N0(;@D[[!B8RZF8$:Q5J/] .MC"' ^"JA4Y0TI+L4SNI+4M$AHG3?
M[.&IYUX8>AGKB]!)B8R:"[.$"5,6GX/J3QY)RQEA=SMEX$ LSS>8%X\O[OD6
M#MX-U\+:/OPKO;0@#XJ[F'!>@Y0"D!/&;X+D)IE.D!C"UKN NLI&.KZ&DR&.
M$QG&L,F:)LS"=D]9E*R,R .2X@HZEU_&]$2$!%FI(/@:B8TOD#& Q8EYCU@"
MNE--+Q!%+-Y+'T"R8<1D(TUU43&W42AUPZ"9&0802<MKY';@83CY1T!LH@./
M&0@0&\X9YFFH-#,LU_ G<$H&15/LFF/+G)MA"(Z<,4U<D-&[P<5W RV$/DD8
MALJG+Q('.( \:=C]>!HF"$A(YPN&!HIKB9[G,]_GYG W!B&#GDDVP?4MN4+
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
M["!1Q>'PP2F@:(?4@X22&85I#P?P4#AVAJO#;H,"!]H#A@^($<?7P!!V"IZ
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
MR ##FT;*#C09.4]X%=R2TYWIZ(5( 'F.C<]71W+,Q:_6NXZ/'C$TT3?<S>8
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
MJ6)&RO\TAP5G3SGT#)@LI-_C43]H4^#X_713,/55WJ1&,&45@;!:^OV3F47
MC;YHWUUTQG97LQX&!^/:Y56EH)\#SCD41?)B1E;XU%])_95MJHP7$VGN;FEU
M!@]WC;:BFR6[76P4[UP,Q@]*1$1.=2%U6?XM]N:D,7/F<)X_G8XMT_6^=I6)
MX5EWR<43=*\MI\EV^ECUA+>LJ_OCLT*^G1V(74,>GU7ZU04.Q\BYKUUBLJTC
M.BD.;\J%G+,_RG9.RY6>.&X<]\D1B>O,]4GU)=_($TE=Z*U7H5""K]F!3U+W
M76.H>Z:7H%2&?OOT*C]8YMJF>%B^:7MNOW%?A+$M8/D4Q(P@K]=5I82<NM3O
M7ZOR,D)V[@N+Z?SNK-9N"H/%L*;9?E8: "$CZT@$ZRBO_C '^P ]<XYQFFF'
M]D_W6%*W^FTIP(">BIB<'LG.7Q;X5LNM'8YJO<)1R32FHW(!3_B"&A,I(^7>
M+T[[58DS=:??EOY[-G$N+%NY:+M7\DB\W5=KTN%YOG=<!.*$S%]&+#QF\/P0
M+[KN.K?(;=FRWOA&]E[JN&PUND'IC;!N?0PCX(MV[Q0MD?)QW7')M/1U7;-T
MFXU"\7XTNAR(L[/9\;WB5 8P(A+IFKR<S^25M)$P]6 ^.ACU!HKF2T)=O/(G
M=^WF^=%$G)8/Q0K4-N9Q_Z J9P0^_\-<F;IK3G6KQYGW4]-&#B".L#FSH>ER
M1@R$ZJ=;D3N%Z/_I++UU%XC2H4;($#%T#6CP*8NSHEV?MF9RX4H3+_9-RQVW
MEM8%'DV,5)24DS+Y=ZQ;^:J4O%,S##Z=DK?N+[V.DF_\B]K-_D.U/+H\RU>/
MF^/B1:^X $I&JDF6D&K*;U\U[;[WA%[<<F;Z^)V4T3>R,E._:>L)GR=8UBR7
M/5N\5[)\]D Z-*O>K;<HX&'WT&><$0K)N<V4=E,/Z?US/$_0[K4E+HZN+OFB
M5LL.1E[9%+KM&J9=4#>9?%Y M/OM?:'W@_CZ:="I:0+H74&_JHYM;-9#U4KA
M^-@N\Z/2D3+W:\-FIX^<(!'C78@917PL/9N2>9I*VAD L$?)O-,>]&==S;?:
MD[O2L7VHYOB*O0 RA\;D3$%X#-3E&_M'==>9HJTL,]P4@J$X@ =@R-,)^@:N
MSTPMSM1;^H  'B%#')%'K*TQ$DQNW%&RM=.*(MZ>:-;5M7@JW]UW#7O0$06*
MEIS+9_*/0M"FI)PZ3^\6P7L1*=]YO+K,+<L'FL(/ED7'URI'=4S*N =-YI$O
M]0[!N]W31$UGK+O<U%F8+N<MO9DY\;:J?WZ:M9DZ5:^O>\"T6 =2;!)*3&#<
MA^+%R;!>UL\U<WY[77&6^7FCC"Q*#*4AY H94?F2>/T[2<RIZ_3ZDH?G$'._
MV._/3X]M8;3D;:-==,L#02X",8,6XH&8MX^-_"4<I .S;R*GDO1"D_Q1ZA:E
M;M%'E783XJO8AC,Q6_H]B<PG6Y(E05EHAX.;KG;HB6-;'5_(LR+B80S#(>3Y
MC))+>X92E^A3BL!?0,;.5*];TY$]U4Y*2^6^<;%_T;D\!S*&CB%)R>3X;P_3
MGS9,;P[FXH;@NE:?'PC'A;.VKW@WMZ?*[=2LGR,Q)V4*N1_4-/W$,9T*3J&_
MO&@>\26[?C55+_/=JDN/*0$Z(P7F3SWLCQ(#C[21(J+>7'N@W]_99SU#433_
MRN?%D\,SSW,&'1%CPJCYC)!_3#O\3$)-O><W".+7$NI1KG1U5I^W#=X:2POQ
MY"Y7,51,J)!QE#.BM/W&YR_A4;.F@3%H%=\S.4PQ:55FZE!_=*/ HQ4#^8G
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
MP]'Y"1TPC'QH-F)-'E3(1%NC2)<5@EP'9+D6G*JB9-FZIM0!I0ZX5;?G)W0
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
MZZDF;NRS%17W:=)NCOI<1P3 B3X9MTFR/H=P(R,MK"FQ&!Q6IWX+9-A#8,!
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
M,EK8E6!\NNI QEP!K5S'X1?6<1\.$Z_=AOXUDO'G1<&+20ILCT,(U=@'TB1
MZY026+)(_G[D]1DJOIM2M_;[ (_W8XE5-BA.+H-A1\1R>)"?OF!5$ $OF%#_
M4.AX[6[]UW=B[&1\.MOKX%#"=4LU+1)>-39G$O!OY9IG$VP'A>.9%8W);:>^
M'2.1-4CE.D\/X'@5P\Z?'+B).L.&Y^OI BIJY*='LII40E]Q SOG7$71UE$0
M9GKLEJNDK@KWMU%H>.Y<0UF9<9.U<>?.2)1B4)9IE5)0EFF595JW4J9U[AQ(
MR?1;J!(Z*]?+4I5K+%5Y>___4G4L,C>4J5TL1VRR5>==?!P/".3W4V;?^[9[
MQYFY]YM'F=M\W#C:U49?G>BF8KI95(+V4TESC717LLN.*;<\C==#83E2]B<"
M%C+.B(VZ*U,6O.W+-7LVF>XB6J;RVA:\BI#%RI;RYF]9V'(M:+UD?N=M (FZ
MLUIK@OHNV!0I.QGV5O,='F> Q$M ?KP"F#*Y]/J0_&[6JB/TUH2I'3P)3S3
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
MMC@*G$H[%(QEDIY4(?ECEA>H+,<?GT'?A0*R!:*,G?K>UZQJNRA3<!6-@FY
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
M(XYCA;*@3\:269H^E6'X-=/Y;S0.&:E?S?1]5X,_^7]D,XW(@']&?F8=PP7
MW&7L*+T,!1)0(,)+K5VP 3FX+&6JG39:Q*6Y[6GIZCU+UUKXD0LTX_!C"&<M
M/F1MP]]0^5@4K4 7AQ&<?V#9>F:E!9$'Q_./# 0&"-#WM]#20**?T%?K3W"0
M,>&W>;H-[Q<^IAJ$Z4.:<8 2Y^#7'&88?BE>\C]IR6=^?<DG>9+0\H!732#
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
M2=U)@8YREX@LG7_MY.#*@E3?:BRMM-V'IH-?+SOOA8I?5Z.R<\#: )5./4%
M(I[T.+74FQ'E41C/!V YZXO0?:)3]XD0LN2).#$&+G:,/M8Q>@&M+ZX;<9Y:
M>A-UW7 HKC -VW/))H==!%OH(/$0M?PYS^DP;"_=WGY=4<E_L+?-^;(\:+5I
M0^[O*#!U92/*RPD"+IMZ]@3U6HC_^L-,_;D?1+D(!,N,YT?@XWTAO'FY#09_
MOL?40GA\H._+53DH;[>;C$-R2NR**\,LV'LGT"&!TVK>))_/\CC9":/[\CRL
M-Z+;,/QR6!K1#A6ZA54NS'47?1&A.RU<2609YHS; 8SN&T'WIWM?;T-W,FZ:
MXHJMMAV;6Q?G?+YET')JNY'SE2>R G]<4NEZPTU/*EI&_MGJ65XO0V]Z#_\E
ME2H'_D\7\%M9[6FG5UG5G&4BA$Y^-AF2;4NET^K>^2PGX*R1N\/NEY2?? =V
MM8XRMI;AC)7MJF)V!U:%:G>Z"+O06Q*RW.O":XS=F\3N5Y25? =VS:C?;C$^
M1Q*@2"DTW^*K$95B%_E"W(T7:3ID.SW$GG".$][ ?+7S=,A._#&&?*I4)9OX
M]B2I#11JV&O50W;!\P%D;5K>FZ&R/(E[R6%T7YQ[]49T)]/RE)QMAG6GW&)&
M_L[T]DE)1.A&T2<B2_/'^F^,;HSN2\AZ^F=T6X28&QOC<HLH6]L"W1J/EZYN
M(70CCXMBL]2).AS7&WUZK-.4-E/1'[K/X+#3_9S!7T97N8:M'9IFGV!DI58S
M_/Y &SCQPNCW?3;/E=E$I=/"WP*;)5\E) ;PC0/X,GK,O09@A\OS\WQ^KLGU
M(*3KQ<YV8\DI@)E#:VDL&+TL -]D .J?4/MB#(J;MVN2!(H"L=O.Y3WO545E
MDL(7%0NGL\+KP?\;"$.M )H[S\JX:"@S[L.H76^_.9)X3MW_P"?S?KCMMX'9
MV*%]0,F?<]LP@)<RG:<(&E(=_;./,%:7MQ^ZR=._;U!NH-_?1']_XVY\6AOV
M%*K/+$-AUZ7I :1_6F^<I++YLU;0Q+RX0UY\0>CKYWE1G39%(6 J>84*MR59
MFRAYK]M%O$!A,"%+L[=3BA_SXC)X\?E!LY_GA41-5DNU/Z4<-FY2K7:R+0 I
M72_2]*TL3]Q2H?/#$>4Y/$*\<;M(#G[1H>-W(GZ'VJM%JI9]<9D'FXBP"3*(
MRZ/0B6+(PK3N.4ED^3QNEG=9V+WUJ-EK,#XJ%S*."R6YN<_+4J'-NXNQ5UXF
M781>Y%MQ0E8@C^&+T7L_Z/V:T\,WHK>H.+/:/"1MN5S0:LQLWZW*K12]T -B
MR"Q/?_P)XB7%RT1=#V)@9!(M"#0OVL&9#'&)JBO8PMS&R>/+I7B-6(]&#Z!,
M08K^T1%]AT&_(NT$;2RO-W[8*7 ]D].[*I/626>R+'5<8PYC^^*Q?<5AJY\%
M](N;@F6TZH2.N%65<J#WZ($QSSD+$2'[$+(B&5RPZAJQ?1O.UZ_:[08ESJS5
M=,?)6F$]:@B5>#N>I.AFD<Z#.5&-[6K#3H^5U%U403T.02:%! X^W<\6Z-.]
MIQ1P#?C02@AZZ-5?6VF*#7Y#K/O+T%D+@L-&2=^)=M"'2FND4]"'>DW!>[G8
MO=!SD'O!_*<[6#^%>;O)*1MZ9NH.R^9R<Z;#]FK-%/.H+4T>(QXC_O)]K9]"
M/-O<S)JYRD17=K5>CW>EH")T1(1X=-2799F/+PMZ27&NLN\;B>VZ5[I#NE!J
MW_'.ZI-]ND?\GNI+U2Q+ XG:D 1;K;;KC05?[S"6RJ3UVLDL0=Q,?2',@I]F
M 7ICDOJ('1N>\.N<\"N+EGS+6T*F$MIL'3ZK9GN92-MF5GYH(_N%8R<X<><C
M%]=OF"OY@?*(N&A7]>"E_A(,M.WK"3Q1I[9,<CY5D>M-<MW(C;0.5X:[2?IP
M"L6]WA@20_@6(?S)\8]?AK#9+N?J],P@1GYCX(R*U66SGR (,[_]S9XHH8P!
M?.L _MQPQJ\"."2U:"W6=XFRZTZGBL+9T5Y,;3#JSINE^!NOO_38G@\Y2E>K
M=;NG@^ K=J->J9SV@,(?2?N<J_V!&K2"RJ8OVT..*K #L:P.1)5A'F1J3/Z<
M#A.&]!5#^@L*6;X)TBTGY/W]N%I4XD:>9L*E5TB2%-+0?Z+(+$/?CL(,0_HJ
M'*U?A72/U0<3J]+Q%,EC>VMC8.KCKH4@#3TJECM9.^QZQ6$M$&5"$$4N6*)6
MO;X)ASNP-W"B-E@H=NM[G7,[2F6XEVGX8=CV^I!D;;/X'5HGB+<9E%9Y>S?5
M%3OH$07-+CIT K<R:0%OBLL2Y'%^ MZ.WU&BP9E]H-?1^N(.G&@J2UD2F8E<
M9R?FQ)#W-*\F"+;0!:+I+'&BX3M&[?V@]LQNSCM1VY :P"_109>0-ES'%X;L
M3+=%A%KHY=!DEG^U0NKUQXW0D*73!K\2>/HNHQV2MJ\UA'0]1\8S/X N9N[P
MS_\D5]M,Z+NVD?D7D?[O;@S#N9VO'^6@(GR%3:H&E;1P7G+]!#Y_E#K])ZQ#
MMP.\>%[M[8AEHRL(]6U^-6>@*W:H#IXEJ9LIGXQY<VV\.;<;^"N\Z<=LH>J7
MJ!T!$H9?\64G270+\0:IU\Y;!A;SYMIX<P-!MI\ARXN^Z,R2'&_'@:X##+F\
M'-?#!347$6O8M!",\'H0^5HB;NRW@)L.1R>S"OR-;0 C,]ME?H]#^(/M_3OC
M?RODJ7T;3+Q;O& 2WY;3"-&)J-MYP&9AIX0H7GZ"X2=X'->IIE&S1XFRY"*W
M.%$=H[Z'/$ZKH+,$ =<_7!+GJL!] R>;/X7H%Y<H4<DE\5C=.T1Y)[?T/!@I
M&]I"T'YH9YQG<+$RC.U/]KX^!MOQE'1-8)9L(MZ.P+9&3<+-+L4VJ@5%\%GJ
M1 3[N?_U/Q%J5G/^C<4;MQ(?\QA/T*-#'Q8$/S[88 Y0V-!?PJ_=(9?-0\VC
M,UH /_:@-Q<!*]#<M$\R.EB%KG(($%Q2!J0ME$W;TSS=AA>%CXYR^,<'OL O
MC^/_&/;F[__ /Q[_G>X"+4#4GS_<_)':-/J2 _%)@OBOC]MDOC@)%//$N3Z\
M8BG'/WGL],__^W^>/O[W_6%.]UT_^//1#CUYKSE EN)/*C5)%LC- J Y.<V$
M7_VGYB;:+GPT</P?%/-HXO[\9LO02&3R?_#\?V6^_XC&XV@PE]HV]V3('@Q@
MS@5F].?A7SU^E!JOQ\\>Y"!_IHVX[0U ]_[AKNF\1/[J3XK\@SW#M%#'&QSZ
M^R3\1SN. J0S^5MF'B K^:]!6SH9+T _0RL#K9][^+KD,!4/'T'&(2.#N(0Z
M12"R?,.J]A:\_CC:IX;Q_'8C'2WF^V#-?OC&AQ>>^:X!_U(26V*Q*K8R_79#
M[!T6YFI+@A9B]HEF[O5';+?@PU6+XD N9OH#^)^FW!KT,^U21A+[E4RIT1[U
M,ZDZB_PK\[N4GKC$P/CW)[_#$=B>OL8;C:&6KI@JX$V*(EA-U4D"^G\TH-69
M!AB5T0B>I@5>($GJMP,DM<<U=BP83*<S4L>.9O*3=CQ?FI;55=-:(S]>R>V5
M[:XQ$X?*<F8L!\!9%VW94JGC*ZWV>CHJ!MY8@4Y! +JN78IY$5[)/+]29B)R
MGFP:.:?NJ/5\<6C8I-R%5[+/K^SG1X7]NK=H*!H@AL,JITX6@:72Q]].NVZI
MV)"Y";&6"[EA(!16X09N]E3B^94=-JST*Q:9D]>.N9V%K9+1R%MJ_OC*T=:.
M&DV.RREMJ@?=MVY-G-8LE3UQI<EW@\FX*CGLKE<*I5&O0\V[*GO\[J;68O;C
M3JNH+->UJ;@B&KUZIZMRQ_><L760C\521Y% A9L):H4PB*[*'U\I!%N>(+N%
MKB)%^R3)CU>EEB:JPO&546YILKM)K^E0@YX6]_O<7K,253@>SR$Q:-1U1LC+
MN8[;,TQAE(PKEBH<OY%=J$1N<^]7E9U0XV:R2)L]0E1)XOCK=3U)"LTJ3Q#U
MUJJX(_E=<1=UT:5'W^\GDRE=]*>FTL\!HE:93@QA8ZDD>7S7E3PHDT&.YPD[
MV* ]6RMI1^FE1\]:4@2X8+*[0(G'LV*EH&EN?Y$@E_CHKJVV/]A$_I1R1G,6
MVF4OH4$17DJ?F'V24\;ER4B7V<HZ8%=K=^<-X0B< -\\%F/=&SF: [3=2$Z"
M"72+X0B<0-].&FYG)6,^5[0]42B2UGC5]^&E)^#7&?N *=38LBPM::T[:%>Z
MV@Q>>@)51F%8W4?]J:YHA";8O:'<TA@+77HT6+-V5^3;M)LXN>EJ-=+GA;%E
MP]<Z@<!N#HS*<2UN.UI+W.NF.5+%)KST! 2;2=331GHD*%K!\[?J;*'-O2ZZ
M] @#Q0+34&TIEIQ^<PZW0N59::HEZ-*C9^U0[0)8]-9MQYXNVE)K)6A+>%?J
M! B]))?3>T525*B^/]P0A:B[]RQTZ;&9K!*;*.2MJ5PF8MDQR&*U:*5W/7J
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
M2D\'2CY0\@>K3B^@Y,=6R[Z:3;2S?L4M/4PNKFX;^KP-E P=0HJ)5&D[">-
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
M1O>)\E3%&67O*\TG:U\VD"PG)\6::PVJ%^?S<6'L%O1)NPR5+H_BZK!L6D[
M%*!"QKFA>D& "4M'%/ZF4F!"I[1.,BH?,PA.')0L@*<!9&@#JQ/"-NF(,0Q!
M=.@'"/E@$V3RX;\1I/+>Y'>]-WZZ:8\5JEWX$1$F0^DOQXJC.\T1-7(<(!C\
MB._W"0GN"5,K,S,!O!?TRZI.G!Z=XK%AJ5,?BCTX?E3ELZS2JUZHZU%.O3#O
M,LGV'P(@2[2R^\QS W@LM5? [?21U.U?794[=U*S%H%L5YK]1J_>.)5:S<MZ
M)8S=?N^CY">V<1YK]N_VF21SYUJC^=ARIQ>6>M:<%\G-(CO^\%W>D2,$4"U=
MW4YS^^.?'\J?V\6'<>W W/,0O7YHYZS-U(_>IE(2EP+I(P9]7.Z"4-.6"%0E
M4_K!$+<UU&B@;984%$ = U!7 76)/D/F"'3SCQ\"B_2%<]"2!( N^.IIN>R'
M(.(EX'O3:T3<[*+2M>/FBZO&N- GU3-=7YX;Z:M%>5MRQ#_WKI(CDMV7R6^0
M1Q(_>4NZ'SY']VIX,S^>\/.OI/NPT^HEC!$+PZ>LP5Q.NHN(=D4*ARR#8?V
ME 6>*EO'%$/_0\)Q1#Z/7->K/J9TP_TFIJ/#RQ@:?LV=62KH&A\*T0WVO/RS
MA8/"LYY#<0,J*D*(O.6$BAI%4H7XH90&*T,D/7BX^2DL+)0G,?$]<(;#_@$N
MW^ O%*-Q*\P)<-E,WW+HCKE+$'(_/>% 'A*(K9I(4+H9I?9XZ;7U^U=+?$[)
MA\SG0^;S(?/YHS.?_1*&/RI"Q_AS3Q=UR(9^^VQH>FV(M$UT"CUKP0K]\A5V
M;'KW.Y[58;^,O?N.?+._&G=TT9^K?0N-*J2%.Q(HM4S=V]!C6?YPC":+WX#,
M25]!1N"90=4.JJ2-X#EPPG&ET+6XWHDZO6Y+H.LMV/? :,7D18['HYII2.?W
MYI!OQ>#FPK=OX_=0];8</U<$U%-,CT5='W2?>8+-QS()/#VS;#_6'+2P5B<*
MN"+ISCJNKCI_23^4/SG\#;X$,@1_%I@]NI29,B7H>G5 7Z57P?!/R1I2*<<.
MFSX![0KMH416<P:U-RS'(?1).N /]4\)E1QXCH<Q@@>IYJQK'N2A$=>S38=O
M],QS("PN$08JH0\^0OJ\[BH"<V=J+ _/_X2.[JORNXY19.+P@V;MMU&71ZV=
M'2G83K G. ;F2<+0?%."8X0$;9@L^](,0O&0W*S35]&9T@GIE*A4!FS&-4&G
M<&L&>7S$1M<U4 >L [83GHK=4K:3XAC]]ZF69VAT>J :Z6C'T-T*O5\ #N +
M/"5QZQ X[""4V_ KPS.G=<QFPR[;0*LV T>&&-!_&>9V^L0?G,?<L^EU1"@Y
ME/$Y^DYF_5@FG0O0=^SI#BE;S90U^K?Q\5BS5-)'] F)A9QFO,LZ-=.IC4>Y
M0H$L=01Q:O0,K 7Y2,!N(+IN0#AQ\H<=H<(*I<'+Y)5/G3S%'MC)QW9LG02C
M_FC"*"=2$"TA/J.C*<;:T1U!)BQI@,V#9?>'2)6-:&)-$I'*K)L+RU@0/_F=
MH6(VO!#4U"4&HF$B(O!(JH_8BTD -M-9J0WPH#@X0P3;\ Q]/&+&27&6/%NX
M'VG9$%_ .)OR*<'VPQ=%P8;0__$]8^3^4V'TD7054CMK5H2(_,5'O%0@L+9K
M)'!O,G,Z0-$[*24GA"B@,X S!20;/4V#?9NGD_.SWWH%IR+*W,C7 L -2&KB
MNM"4GAX(B)R0;/1EX>9H"9^>!."<B^GX5P>N+)4**!VCSIH5B X(LGNV@U!N
M&($[E_TE>2Z0_J[)Q#B N"OZE0Z@[8F_T@L45JW?WXO==TAS5*6:!=!!4'RH
M.KV>UY/)\:-,'J[/CQN-!^M\_/'%AUZO\ZHQ.B]=(Y;A$*O\],!*N.9$1!7?
M[6^&AT!6@3#THR@21$'$G>U$R%%H@?ZB&8[0<;S9G!$QLK*"Y8'X10X7Z(R1
M/%Q'C&_@:R'^3" *DLI;?D4P:AWC[1#[!9$KIO&TB2WFBUVPD QQ$[/)@E!+
MA6=^K #&1B(%-D)J"<>(EE67W0E0)LA!E4/31U"W@JM2J*;[6\424M@3?&7^
MMEEV"+U*S<J0CA6*705CT2N<I[/JYL_E^+/1!KYP@:ECAAO[([Q37& ^7:%
MIV:$&ODD),E8[EYB^YL:B9J'_*L"Q< D)%)#L%#ZS-#3QL1E,%<\G/ ??:4A
MDG;[9P*GN$3E&D0\$^[^C6X&8IBIP3!$@JL9P2><O 40"U-[YG-#1WLK G0'
MR)))+P^=?P>+3X&=Q'5;>^8G&L,Z*</-6#WUZ(,ANO?3I1)H0M 1"$M),"PP
M]AD*+."-:.46=NV*C=+@/@7X,WS+B1TCYK3XX%3CH6* O3RP3$18J-QIAE*V
M'(L2&;P/94G<2P36V68<P:_Y&5$8Y_O%CPPHPA25$/3$;& WO+$5P**ZZQ!'
M!\3+R8K;-8%9$V1Z^U_73?I>5HDL!-D6^X80G5#<"$KRA'D'XTI4DP9UEZQX
MV3*+H_=,1(@#*);%H2AOA&M6N>LY.PI*LI380(F,+A$*'MFN NRMK"3AE8O0
MG4_B3(W1""_Q U\0.ZY0>L7JQ(I*Y3D;A.XWE4T:'G(@7* BC2@P%'HXD)J(
M;T]NXML!M@A8X"3#PJMA9+H"RW<X6-%0.&I^1'0T!9 &/BG*'MOXX6>-(5@X
MWM=FQC=6YOCL873:U]NC@M.<-$^62DP4/OZY;Q6%UV+THYV]6^-Z2'RF>_"9
MB=J\GX4F*>P"$JZC4,*.$^*&(VGW8+PZG-\5PP)?ALF@O!J9L?\@G_NEY>#]
MGAG:*F[54NFJV92Y#)9KZQ!F]##7B*W39=(_S<#@]JT?=V(3(LWH'DU0V\"8
M ;@^V6$APU/9\4G6Z&;#+*IK,2/3\54TX0H8*N8TLD%@JBD+13=0#1CML&N%
MW<8V"TJHJ1[Z . +.E0QX+4@#0+E^I@S&Y6&!/0WL=TD7(^\QCO'6?/R?N94
M&EI0V8!R'-7=^I!>PS??=S'$C K:^EI<ZCM?@4E&D3<DN)>%D0IN 16NK&@A
M3QS";^#DZ+4X(QO;$]H*_@7.L&S+=B,'HC;D/F,',B'<0( =2!VP P?LP $[
M<, .'+ #>XT=2+\*.Y#9_8YG->^X.^TKHPG>VV;JV8I&J%&$&7<<3T]-)N$K
MZ9N0S4ZTX)-->REY>U=2TTKC5E9JT]S=>%(R.L7W\OY^M 5$8BR@<IR/R>/[
M]*GNXF=G%M&^?><%\RB@ BD\AGZ<',,0T9Q<[C1#_YW.(+CHH_4<JA$2.Y+C
M!)HH>Y7C<C>";LXAB,O\%"Q8S0;W7XYNG<W:VHY?VAFD<[55$7G]'.:A& 8J
MRPMPK,8Y/OWH;Q!>H9.@2CTO)@08Y\!EPN:7\$<"#W T!__G.R%,&>%%YOY<
MEMS)BS_'.BO%<1U)30XP\?<SB&:+-_KK8DYHQX. %S_91( +<$2$/BA@R$P(
M\%[[#FH(Z^DNCNU$UB+24@U**_I(Y\$#GZY$!BK &K97!"YDC5K0QWS*/ #!
M'&X+C)JN0W.&(#\6SO>S/43%;.PW &K\1FD#X4^#]>&CZ K3#<@U-3_-$X76
MX*7E.#7A::S[CL9=^1_JP_W<-=)GMOQXX91.>^V;87[P7EE*'RU)1S&2E,O3
MW2[]3Y6FQPQ/L5VX/I14@*9Z9/[0$=$%K[S/"\,U0Q8!CFEFF1",]JN[^VYH
MGPO]F#9G/B<&;B"0.[S4&$!BS)#782<7)N*#'B'_=2A(@@7OQ8NQ+M[/UQI;
MEIR)'2)>X2.EH"V$!>HJBBW N8UQ7VQ"E=KH33(D=*(++**OL#8 O*(\.ED$
MC(#*:YT2 L@$L7D)$!9#EO\!P0LHG@*W!0([L ,F_Q8/V6B\1I[?"(5$XD%4
ME+,0 B\1)V!TX Z"#8[N7TL$@7B=])_0"18$"&?_^Z $C%;!*6"Y> &QPTBF
M'E,2()I:9/G=@C[)"UC&>C087]1X&(5.J]SM@]F53Z8RHE"@+RJE0%8ZW,ID
M E6Z9)&^'SUK3@\\D\[_R>-4E$3HZY%.Z?CG"M7]Z=7"BQ(D-I@M'/.!RR:
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
M!D$P3,-DC8P9-D/A]6VA.O8G%66O6?9/%A7M?T2?4-D66Z+K$.M2HSNAK'T
MR&C0#,<E,RC##D4>HOF% KKKB+Y']L9F\?!F.*H*0_IMZ<.AT' Z8HRQ/O(1
M'FQ2HGSIZ)DO3$3@E"5::8?DI'=.3LH>DI,.R4F'Y*1#<M(A.>DSDI,:D_K(
M*:_O2'7MUHHGS?)BGC\IQR4GC0J->=L[&YJR=[:L5?L#U5,>VG')29?N3?ZD
M3F[/^MTKO:ZMJO7'H5(.)2>]/NDG]ZJDG_S73/J1/J:.(9:N:4$&=I<E8#/X
MY"X0Y3@S7Q6MQF0H7YS/2V>I8ME.?1L0Y2P&6]_=KJGTF=929%5AMP!5FA%R
MX1=?BY8<$^A'3/SA*M2,8^.Q!X"[3F(#D%<41 -TH@](C*MS%BWL_A(X9X#G
M](NR1VHU\K+KZI;-^(H"C,( $Z6V0H5%I!I6[7&(,4H&E76VER;2HUR/EX2)
M6IY.3-\AM&0T]"$&$Q<5&'AE^7!9"/8Z'Z:J4%.7MZ\3#=-:K;+?+PUN.KH,
M='D [)/ANB%/88Q9"@!Z7X#YS&K:.*P (S>:MRHK)IX!N":VS.G0'_T-W-JQ
M (G.K=Y08;X$!Z^S*G#1,I;;:0=A6QRK5/)"EYPTMNI='DG58.M9T8N9\@#3
MU$29'DR-"@7=8WT 5 O'.C]H^W)_0PAIF^ E(UG!'!P \\7082#,6,4)I6Y]
M?HY.',\B!MO510)&H'=HN@-50D" )(+T"E[E)):=V5@S:Q&<.MFH.>@#KX,2
M0)LY,9P2M*!;,&L>'.%<GY.":G>^CV 3@AQ.LO$S)*-(9)$C*> !\;'_:(VY
MC1*/(VG/@K)57K?EE)=XL<S-P**F7:Z2E\FR7DTZI)V=GI6,M%M^I]#LV?A$
MEUN]WD/?*Q566KZ>31$(S:;E3?\*,-">A6=_OI<G/?6F4RXT6M/F6M/79]WN
MQ:S\/L@HW,[4O$[6RM N5&\NCEL5Q[F9W?=@.W?XI/>@^Z,H"/@\@T'ZPTA?
M!0X[]*G2?\<6\"[F#( &@HR-K6Y] RG08/A-[0_J=X"*X5PLFVK0\<-%[G;,
MSW/X)1X1>[R>DE_E<S.I+FCL&32EQ8*O"A=NB5"OW6C7UO2&_Y2Y)2-3]'<M
M;B?C%HRB^14,ED8&$S^_5%15<*IUL^PG&%?YA&/XJ\M\RD#C[\JEG:?)NCQJ
MV(_5]71R=EX?U$9R\KW *')_O&Z<%=:7_?Q0.9MW&W>/YG09)_%>@T;YZ6G$
M"KL]/0VW,SAVS_+]M'FN+Z8/\_-%Y[U.8SR\+=W9Z]IM]:9JRJWRNF(W1V40
MF%OW#PK05]Y"T6/9ZVU?9,ZJCTO5NJXJ]&^&\E"9/;CO$S_%G5]XV>'M8^-<
MZ<^NM.[L0=-2#T5HXKD#3Y0(LE3]_LZ.ZVDZ1^OP4A/8O=S1N=T*K?:@,;!R
M.+0PKZ#+AXN$X' PLPV-_IYU3'J!@=6SFJ.1JTR)'3H_-SM^JA?6\L.T<OZT
M7!<;V;N[51G.;TN.P:LC 35(P0_*-XOD==$B<>-&=HDZ,7EO8U <P@,M%5[%
ME-^ (Q;!]%LE#,EFT!:4!KX849"$F*P.BD1-:5ZKU9%XVCU]_+>GG UV?POB
MN=)6=N-V6KV6D[)>Z,]MAZ2\\F[F!YK0^&;S;%_<5,RE):RJ>KC& Z6!<(=9
MT*G$%\QPP1NA+6V8A\)0%^8D$C!+O=TLQ9_BA4"#3G[8M9#U('SKOL,OA='L
M)<659"536!2TV92H#YJ2O9VO+N?+5_<S1O*K\QK()[RV<=T,GQ_OKAS;R[AT
M49B=IJ^M9K_;?&PY?=5-CV9@(252<=VC.2Z $P]T!<<SAH;E0GP,";5R3"P
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
MDS $&4>DQ!"&KP2#F<FHV3?'8N7-'A6=^NK @L(!6'  %AR !0=@P0%8L-?
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
MH9?"04N"TW2M(>.?+ZG0_T^-P#_Q@0- ,!_T#(!X=Z/73P?-V9CE\D$3L$_
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
MUR(T"MY#2,+.B&T1C:"I$K&O5?QNR43X*^S^:#!]FFQUQYDXB:NUZT$=<YO
M6[(%7;EC6]L0PZB-7YS5#'GZS>.5^.:NCHKC)RXG9_/]Y[73W;0;WT((>UAS
M_ [;=-!I3?>W.4!O]%F(O^;9\M1GET'1S2WTT_V'?QM@_3++%_283*U$UW<A
MAK;DV(;[ 36SR2<[QKC/[6=KMNY.FMK0MNGNRS>6_-L[$F(<?QG3A=\S;/P/
M8V>)"QFH_&E'QN[85\4R/5_\)GW6>PT!&0=D?!HROL[SO;\.XU+4SB<.M?]@
M?OW36<V?.=@Z>1./730P!#N41S(IFZ)0B$7#+X C((=3D,/'BH//(H= #IZ?
M\']OIJ@'A /LOQ,J;V<'OR@\8QWMG_(&1*RO12A>'VWPUTX;T5-(R+/?1'@U
MN^;&ZD@TS#HI+YS[X">L^DE> AX__T8)#4U<7#>T79,NH-: 6K<1B"LAUBLP
MM@59QF"T+<A1(74):03(C&,\:DBY&H/I(WGL4_=^BNFLGQ1K/E]AIF#UZT-_
M[74SE9S;!2,I="+M<G)2BDG52/3W;UMT&/DW/9:P<HYI8M/RV-SC^>:Q\E@N
M9SN\,!MGVKJ@=*05&X:>#L>3T8\IKP[8Z@QL]1=Q5;2/5GWN+GFOH4XW?FMD
MU]9F/DS^?GWSN[AJDWGN#O/QH<7QV>4TD9J7>M)<H-/$8ZDP'S_MG<N+\.#.
M< _S$DSB<]RA_WMMYTOT] +*#RC_K_0:/['A^^=G<=X4D+S;5@Q>583^RUC&
M9]-"5\IY 5U^9;J\6K*\3I='4):2+N/?#TUC%I)9R;;U90R\(-K_%3V6*X]N
M'KLEX=V.>#DB$V\-4T^EWJHX[0[[U<1S5XLW<Z-^"N*<T70F'$]Q'Q?H/#?E
M!XS\!1VP*X^G_B8?+]2ZFN\7[W(BXAKE>+EICEH-X.,DYN-8(IR(\B</K7XJ
M<=?A/B\V)@@ _%?2 B/^O*5:ER*'#GK[_$U-03_*NH VH9Y(\D5U"#<R:>3[
M^(A@JM:JL4:T,NZ)*J=/TXMN;+I,->@,+RR7N%?E4L#1?S-'GQ\(%\/0)S,S
M_IRA[U?I;MT62YJ8K$8:1G?8R+40&Y.528?CF2"'&_A';_6/SMZ'[@+$W%L:
MO_]5'?K.&BHY(O$,VTG-K&'/%F?25!(YN=ZM3T?NK)=X.)[^0!LFD %_@PRX
M3,!<C CXW"C+$1$PU.[:J52M>RM&9'5R5UW*L\>!0*>A\+%XF.->FT3\"<TW
M_YB&/[P%SGZCMX)AAK#1&=H@R0PA_!/%N^K*VM+Q^+__NN[NKZ_2&>LCU?2&
M(>X37DTRS?Y#EUOTLE;D=BH5^VA6CT5;E=[HVS_13"8<C1]&YZ$CGGVDLY/)
MNE:M),L_?Y'DZ&#] &%$Z5B&A :2!OD[>)#7#FJG!Q3INE>6=$<R-R&&JIM0
M[MA:O/#4*/QHV>"A92:I (][9)+?8I#4!U@8$OHYBBI525<>Z[-YK%.///=O
MA<RMU(@W7I80#)('9$^Z;*'U',DVQI!M8-Q@E&%!# A;85)2]9"A4]:Y^43N
MW792\[4."XWQ*:3Y7%-AK_CS.3D>A@XY@J(B>@]%D]AA8(WIM5!;.*I)QM18
M\)T4FANF/<1.ON$G/ROT'4N+^181(</#A/6#@"1DJ?C06)3(8PE^@@]HX5U
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
M"5[7G$B([85]\FO/GQYC*1Z2\2-4.T0KL]_L51/B//9@8#T#HM9T@+B)U-G
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
MD8__57)OUSVB(3WL(]%_;!/L 3M<!CL<>$D448?_/<%A_.5A5TG;X.?ODG"
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
M5IZMB/F^K=@KWFV@BB$/BTZ.J%9LYO>@.%XJ WOB%OX;YC#"OP DJYJRM53
M2KN2JT $25,&AB.<"?@P6OT3)]/X$2NSW9'0$-.]0/ Z.IZ9D]C<E(!4G_<X
M_5] O)F"S"4;>#ADJ;AS:XI8GFMH)C &FOG$A2H\\S8!&[H*L->>@O1 U*_)
M"O)WM=O[-Z)ZVC0$L# MX%Z5AT\L](.]V>DSV=,.;@7Q@:#ZMN:ZB@F\MF]"
MD;FV"C^3$8P^EA'PVT8DAZ.M@G8%4M%E3<_A\]+J&KO<$$ZS"!9U4:7;G:7
MX+WTC$W3-6U',<,*,?4AQ& J<Z''9NK69#GKZE):6)7\L"1A E[C%X.US>2+
MW,?1(]Y)EAK5J4\: DT)@Q*5]_+N;-66 %DR>(I&S\ER$YO_YT;E%I39S--%
M(MMM!WJ/K8OY98X&CA@*3 :X@/-F<V<6W@(?S SP06@W@*4'?@'X"-ERW)"*
MIN*"$<#&[\(BT8UD>'M3\=EX +]5C')472,;BF3#K&%^J$<]Y 3P);<HKWGQ
MXA&!/L7]AS NC=//BVC^^[].JH,>=\U@4:YE_SHD,$<+VU<EX6$NHRKIJ/A(
MFH%W_Y(,7PJ<_4)SN0?\,3GZA9Y,+/N0R_TO\O0C),@9-6&][Q'-3NIYHV^=
M5O3N/WNC FK/&-=:_<*Q!UA>O 2_'FJM,@^9&W */P^OCRKEI0L54>&?D+D-
MK<'_\*W"Q9MU\&>@%T#+C9/;=?N/_OI/6$,.=:Q@A673SJ/T2E=/)5ZX_18N
M-O,^6( "PS'%*L,AO5:#Z1X@ @H/M\ &N,)TN1;/]A"^A11:')AQM<CP;!$I
M53F&*U29!M+CP0=-EN-["#0>&/X/\C=DA 8"I.F_8[JH4JN+\!46&;%,MX>P
M7!$LJ<@6V&:>[>ZC^+-XZK.7<I2:OKJ6OZMF)$3\W/(<,-LP)PD#UB*$&K"=
M%/#4(.4!GT.$'5]S%! :3C49!-5'''K=SI\:J4O6YQ% Q%JUYH37W+EZNK#9
M5%;8IM>J,)< 6584NPY:F_*87=K^A.FVV%ZOY5\"9+$7"BE:Y9'$DHJ_F?6]
M;FW.JY< 6?)RCF!&G5H%#<R1WW.KQ5Y%5B\!LFP6JW&'%!9UO8Z7I_EYT1'P
M^45 EMHTFZOFB7%:;^55O[[N. [68RX!LCBY0-E-@8\7RFN:\QUE7=C6F4N
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
MFC;1E5C?98Z7JGSPR.Y)5784U4(5*[]#TR-%J'=+6Z[)?&*RQV(Y!O>KA:)
MDA,IL)E.:[6$P"/PA Y+D?0U49SCD>Q]OM)\OP@XR0:O!&[Y8<5=&05^P.?=
M@5ZW"#_HLQG+KZLBAD8';[D,D:)>A6!/I#G)YZZ,5?EA87:V'.L(?KG+EFET
M71=+!36H=J P S>$IP@2"#-VYQD9(\O>TC,D5YD"NJYL0#KI?AL+?*,#,JA@
M?]^9NS@2IN*1+(&?#07^ )2.64) V%WX^8L*>4$7^QZ+"=9HIZ+2V!\L:'9I
M&Q' '' L.9Q*D>BY6_EW(L5?>^;U"4)\=3=Q0R'N#3L+;U3HUH5TJ1"HY8H^
M*/*A$$<-:C Z1>?.KU[\^]YSFR=(U6\3Z'W=?N!;O:=BM>]Q3UXL1&,\TOX0
M#O@Y&O"E.+'4G9!:M6J) LGV-(&M-WD3#1%-82$8GL(N- 6_GFOZ:DVX?<KS
ML^7[NIC]'Y%O=\ 'Q:HN9M U36?'VLKGBV@'SA!"]>.I''X#G_6I,MSS)J[E
M2D82+_ZP:X%7;@9S.1)DM[+A03(6+--Q;2]<2A5&CJJM. ZG7(H5778^3H\K
M',[6F0(Y9L95>IOV(?8U<"HTF0'1XG<Y+_H^^<Z=[I#=0'P92ALO WO4U]/8
M8L5TA&&CV^U \0U3'0)%4SGZFJW.XI'I'),(T<(N*S*@41+L?8MLYDZ]TV%G
MX[+^OK3[[2^X0G&S663TM:&N:<S)#,8=!G94@$<Y-)&B\*2"ZGMF-7?JQCXF
MYV,#%Q=5MY45RKR=&_MF3^SY'2CGT%,!/T6_6BEX!]G-V_TODKCQ_*K=3^[A
M_GD7"2Y'C]ZZ:&U]5^ZC 2EE[,H\/QW@88N>J'XW2Z6H;W-=[MJN)I'B3[]!
M<%F*A\.&D55$;,.NL_2<SRVR<SS?@5(<5=JB6"I'O9D#W;;)Y1\?:GQ&3Z'C
M<SA$V:X4TU%@JZ;5:XX-\27G7GM:'@3N>.$7^Q &Z<FPFV^C.IL>6PPY]"U7
MKW4@<D\NA1+?J(WENRF"-WH-9C3B&+;5#S:<G\?6M*?"C 7>$3B/Y.ZY>>6[
MB;+AFUYMKJJDL.R;$C6UK 4APF:G))FB+]0*7Z-?)?+"7@CX+UB##<P$& _F
M[4!D(/C'Z7[H3)*AV=&  0E[IX?-V1X?!-\&9[8\("SL!VE@C&08(0T>D#@W
MRXP:E1SU7Y$-0&7HW>?[AS\Z;_B26S1@>1&=ED"?'/3>29?2!/J\S<I__]=)
M_YC'Y!9V;;/L7X=(XVAA^[XU>!ATJ$HZ:D\CS<"[?TF&+P7.?J&YW%$L_@L]
MF5CV(9?[7^3I1TB0,VK"AG!'-#MI^!9]Z[3EV_ZS-WKD[!GC6JM?./8 ^\\M
MP:^';CR9A\P-.(6?2-OS1HS2R?.?>/L7,K>A#?H?OE6XB+X,?P9Z 6R+<8+
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
M/_^\S7GMEQO$!$4WL0.)'?AV& P)BNYW0M&] P&/1[GN$8*,\70"]4U (N]
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
M2W0_J:D>K,EKS]2P)C L5 =+=Q_T>7FNJSWRP]9D'[1B.ZA>O"T:?5!6>->
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
M-:0B'@F5::/+YH.&E13TX;2@MPMHH5+CH@ P<W+UP:S:[Z%2&RC-<4_.S+@
MC"2. %">F?FR@#;XQ81+&BNMNV2Z<"1UM'8FTZJW^X,>3XO]A4-+?B^];$:!
MBFJKY*R;XU 4;_?]C2Q7:[,0?D=OKUMV)U,<\F->TGMSN3DCT*X=@)'[M[]P
MFD[B;[YT(RLPRT&MSU7X,&L,$_A5MP/>D39MQ=A5)9/%+-;*4!M6<PW5RQ8[
M>D&K3[N[R[.A*<1Y[XP3X3#L!Z(";W0.7NXYOGJ&FF*O;?+WS H,#RV#-^QQ
M&%K4E?]$?.]A;WV_]W"DPG-M_AP6U:?R0 [3B<V0H/ >O [#?; F6F+_&PPC
MSL-T'&@$+M6)KL 4$.CPNV&.Q]P.@(\_-R5K%S\,+W_I^[Q5,&M?D^!ML/",
M0E*@MZVK8?QQ*3DZL-<01QV#\3"S'X;R7MQ,##$'DRHJV[.LW>&$!,;-)-TR
MP>1M91<0#+_9:&42" S.@(_:VUQJ.(WPDIITN1@FW-[=MAXD:TLNTJH+^T6$
M9W7[/0#6[VP;YYP?'-A%\?0O5TCVBMY\,='S-</'^5QEF*Q0:3%X$49*NJKR
M./*= /CPKFI]1@!TP(3K&G1S8!3H('2D.,/BU&?KG+' NLNN5C$WZ6+SQT\O
M %NUWH:(7@=Z7J:W2Z9KAPG/BNK :/9^)[<Y$ON-PG!D!MX^ ;\X"+3M$[LL
M'@@.R_;"R+@#(U'V%AIO![<OAXN;+)BWPRM,];*M\'  ;&^XYXBZFJN6NX^R
M2Y#Q3=,.W,=P9N=7/& .&=OUPOC&*XV3=VQ_+OI&B^2R6"DEM,M$OF@UDFY/
MY,ZD1GZ!ML_?A.,^2>FP<.-3C&Y;:56!#NS<51_W/QQ."D:U=A$MZ)\JV^C/
M/B89!M DW[/W'VS#9^$G+X)L!V4N=V..PYB>LY_8/H2V7?3GJHG3[ =E-0^<
M[H/GPZ1)#>!MOVO[WY.P8.?C-B()9=:'P<!=>#9\\7ZH)(>W6]6SQ&L_@PSL
M\\@XB.3^87U3_($D8T+< "$P_(,"^S$E+L82>$R'&Z!#S!$GIL0OMOSX4$E?
M9-7[QV; #&5'!X\IJ.92A;.&CY0L-WGTW%^PL<ZK/?]XAXZMRO>""-M3C^-_
MGT\TSLN0)UGN>\= 'VW  'B3VWR#$RWY UT0<\#]8B*6AM]"&IY6]EVQJ>2?
M\L$^ 6N[+026V/X 3_3O1%C>HC+\DH# OH"D?-JBHY7'LO#+Z_Q_W8E$NWN5
M?W=0^#U9=NT>O]MJ>;LS1$2Q7>_Q9#+JVFN[0MN]G>J^B<;-)VO(%\JJ:Z_I
M3\173/M;-[2>+A;0X?.YF0TFMY'V%6+#L\*DK25]5]UE-=R#)75#(NGK=LN\
M\+VPG<(,,P9:<*5U37#5\"KF(6HCFFG69J:/KIM3 L6-@3EMT8LI9HYA-XX?
M/YD$2AQ?=_IV=F;,$7=X^>_W.8*7[!'?*^IYM+ZHNWZ6Q#">@!Q!POKH"3:B
M@N5=V]NOM%QQ7V+#WF6>(:8NR;N\Q=@*OT-+['9X_H):< ]C?IO"%]7?/KO*
MDA-6%5$\-6)H=5Y:R7.8*H_#9FAD1&N1V&OY\E[+[?#*!?7CQ[RR<>1:1]#L
M@=!NM(043]7T_AK>0(,Z,4%$U.NY'R\///,IMQO1])4Z.H@[Q0Y=;+Y>0Y6]
MO&T D\ CN'+26%1SR]RL8$C=57F.93M+K0UO>T(-QB9HXCU+-7;>8O3?JG+Z
M%/H70G6=982"S9?'CB&O!T;7P.$50JB3F 0949'PKOTT\,SV!'BN27@'Z!PJ
MZMJKNR6?[(IY#C?&ZF=6="&DX6VZ]UA]7%0PLM\L:T(Y69?,^2:7HUKP"CH,
M4E+GTW(WQ1$WK/AB!KJ>KOP4 [FEM+H<N;6,0+<SK056+^629<A H?_&,,<]
M'^_*?^N$O2ECK^TD27T$X-61[<.[F-^/6<^L[=[C4:GC]A<<2K-"F2'):IM:
MKID.K+,#E!R!)E#L/7LV]N9BKKA;%?8>5Y2GZUZ^5JXU#-6;5IN9<7M&%,>
M*X#F(N@$%=%;X)7J^G=XK_SGK5;7O,3=_#HL^X:X_GQNJK":25@E?4N>;7?C
M72<7>U]K0H==C&?@&6%E95F%]PO/6O,@K".]P\&^#D-=V]7:F4@>Y\ "UKM2
MSW4KO:U?T0YK,T>51^C(XD@;-@R\I_2$F>4XI76^LL)AD>)KUT:(JR&P#RP1
M7W1]F;I_K:O?\=WO6R $,#F8F!*W0(F8)6Z$$'$YA*N70WA?2U_V6MN%;K&]
MS_Q?[DKG^TKGZI>9SE'?X)["'?$-MU\ 12S?K@__Z][2A=+L2UY0/V'%@MNC
M?URRX#<0\<<E"VY)]AVM/!:&7]ZT.V')@NM;=+&)=N(B!% Z72'YYD4@//6
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
M[_Z*Y.L@[XTXRS<RC:,0>)CI?W"!00$JW8$0F.SO7N[RP@CXTG/<8'@S_XM
M#RH!;Y><2Q+TZWL*_^=_7ES >((EO(!J.X_[++:#A>TN?N A3L=J<GN_0]+
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
M:#.^XQR6K7G&JNHN9DVZ&32,3+[*>UEOT]7#Z\;TCY\$D<!(]AVLWF=X Q"
MN&?K_JQFSY<H*G5MMOQ52PB&OCJ!'<&>F_*RT*&]+LVW"^H2KQ.Y))5M;FN-
MIA(L>49-\G60?0LABB^&[(^LI+<1S?MM=J&WRA/!9_LXZMJUIEK852/%4@F4
MPF-(WT7XY(L@^K,F5-$">(:PCK+XNT*NZ4Y:=(M?J#,G.U\38PD; U #*PHG
M$RQ+G-R*NK3)1'YW%R4."UW0&)HXJAK!9QA>6&6$0GF,M@E))3)KL;9$N5W=
MV 1#O,=FWQ.U<3CH H;.&V@=M+-\*=?EIWRF(@_;E4!GA_YX6\T&HQ-XZHRF
MSOW"-4;K68T8B-6WS)C.HMKIDQFV@TJ&4B,"BFG67%A^"9HQ6 )#W^L5<+?!
M("KV+^)@T&W9/SG;=Z+,GX&.365,]-"%XF+6P.Q/9X.QR(3'80F&06/7^4M$
M@W8%?F/BQ7&/&S 9H#!ZRV+(5?.^7:V4BGQOPZQ$*56VG!$LPTA_+)'N(^Y!
M?W>3/(Y[7%#OZ\LH1]),.1N%E=$%ZF^R73LK2C@_@W61@=['$P0;9\'<>MCC
MU!K]?LER2U2Y%U'R"[H:")"W=#6>4RM+L4BU^8SJT$YFD,^0,I0B],=2Y&Z<
M^X\27#L3U5'#_C*Q=?UYK_^*EYJ_*$O_JG7 0<B^8R(,%*W/2[[6%O!"M5GU
MB]C&)<*&"# V@"9H*DX5^9/@P/UP0!P\^-7@P?W0]EZDVV<-EE ;AZ(M0J15
M\1I=+$P(,!?.HIK3=EFNIL)^"/0G1-IM1A<^-$]@L2M$"_<,F6TW;5?D?;[;
MMN_N0\3QB,M8'%$>A#_@EYC.Y0R)8!8CINX/RUP3MAV!^1=H@DS%-QMN/1)Q
M;W#]* $C J9NJ9-1RU2CA*IXI[->+ZKU0CN$*?GC)T4D4N^>8W];F,8H/9^A
M$X%2M#GCT)JK3=',G [ZU)@MK]BPAQ,P;U@R@:7H[Q"0@>KH$=%G<]]31X@.
MKV2KKA=[+W%PYOJZYUU32;!&N\;PZHA?*6 H-X._1;!Z>DJ;^"J7[ CEHE9!
M@ZFB]J2P622PFZ@$>DZSZ>LPP!>(S=P; T0:7[\ _*2C*G.[6NFC>7J:6_H6
M9O4R8?-!8(D1"2J^[!/'K6X)]V^9<WM+KK@S3XJ68OHC=52T]G^) +^.*ZME
M.^BLA7K&\O&U8P<+V/HS[ [+)&C\_BX%?63,U1I=N,EQ .M72XX3@'E'M@^[
M(<;<^Z=:ZPV#+8)%4VUCQ%K]'LY+JVF&V02#<B';A!UO@6%&4 D2/6-*[9W"
M-ZH6>@S?<QM=$>!EO:$6"%PCA68Z'2M;*"D5!0W!"\-<: *CXNMPGRC1'F/W
M H93 UA-X/]=R?35NE93O5=_CZK]U6WCLU%%+?!KPDTY67,E8F38C1R:3Q1P
M'DYC/WU0MO[:;L2?U*W_VE4N[VN;KG>EZK[V*8;3C5]CNJ]]BN%TVQ>KKK)-
MMQE<>;$5G"69:U=W$<E]O$^C_04QOTAWF%M8Y?<@Y6729F)2?H&>+2=<Y-UD
M51P$#/;_T>'SVQ/;\9*>ZLR^IO'TQ7VUKQ<9^B H_W9EXOFT@:^S.L;RJEN5
M>*'H$F,R$#%Z5_P=8\Z8Q?<-,7\'=3'N#?.1D?RW$<]8>*\[M%<--%G4+96I
M#7"?XR#B8<$P)I%ZMQAWC/A[\7F_'N"?P_^?@'FU44V9==YV^$5OD!%M>]AK
MJ*%@AS7GT01+D'>7&/&F/5:QK?%IS;&OSI57[\C^17GT T.L9EO*V[985L )
MT<;KPFQC%-;)1A7/Y(!F"@NOXD0"Q[[*C8KK&5XQX"]IA;T+=R70AYZ72?4$
MO\EI]0$5##D^@'"'::M8@D3?TU QW'\U!2-&^UE,L'<Q/C-*_*P\FV_0A2J4
M=%?675\+,0ZL,(I,T-C7Z_RSO5V]S48U=[NDJZ=+2+WV^FXI4A8G6=U ?NO
M&Z;YSJ+91<LYS:R0(\GM.$T18RZ1W_H-N>&35Y1B;KA"NJR4M0.QAX_GPH+N
M+GMS/S.9*!SDA0NDRWY/7HA9X6JV7P0#M(6E[Q4YQC&2ZR:OZWV<P>PQ9(!/
M)]3^VY, I4Y*"-T" /0>,>84D+W$O#@7L34DJRKJ3%8=!+B#"* EFD  C7PG
M-"CA 'NOI!$ $D3;"JECVQ,)5$=%)!<0V33M8)?L<ZO[&Y)__YT=(RM@XM+<
M51_W/QQ. P9!)]L.ZC-IE0R9P=I/)&FJFO<H^9Z]_R#DQ^TG.];?CCF0!;LQ
M\).MH&'0O^!J/&<_K]W[L.TJ/^V@,%?UO0\&@C]>*/L$9;[9DH&[0GVW-7]'
M,E\[>^P:9/YFZP4TIB^=E'NB-?]Z\.Q6=!/S9806\](14%1XL__5'L@O7A)L
MS0K9-D=/5Q*/__WOO^7[4%1_N@%/0:CMND/OXZ1;\.TA<'8E]J<;L(N\G T
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
M;G11N7H+Z11X9,!SK3;"U[)@25D^PU?3? LAL 2"HQ@+_\51!*A1^ -VZ:5
M?OK,6OXN6EL0=2:V[X+9NI 7A(?V Y*U35-RW 0P#4S5!9][$]4)=%=%@"(#
M]I)W2*'WY?Q+(74D?0ZE"_9 [5D>*G>19%",8C096"$C621'"B%*TH@6)3;%
MX"E"1E&9^;'E5FEO#E2T$</-6+$EK.LK-D.DVT:KPHEAE;27(XLS<M'#\LR4
MUU63Z,R#ML 4@>$ S>:7(]-UJ4H.DGQ7\/%N/YG)D&B6X43\^)G#G$/KZP9:
M,/PLG_*:W3'=GP4B?OQ,JR92=+I>4 V_21(8VJ@/B@5.)(Z?.2GZX%%!:B'0
M2F$\U]H*SJSAR*-GJHUNN57*%A8&G1IN!FT^LUFEFR(IHJ]'YN4ZKJ:#38VG
MI_W:4O/,?!<-1.IX9+..UF6OFLX:LYDER[/:,EA48>O/HY$9S9RWFYE2FY<F
MY>RP[HZS8@";$AZ-=-;68)*5T:21F<R)=77A)#>#0&2.1Y:6 G#VQW+*R&C^
MHLZN]5IR# MU[T>^L-A>6*59WPG-(4#0T"S%Q([];*1B8CH9\&JR3I0%.E4L
MU,S&L$8+W&LG+*O*7E9W%=-V?4?M@(>G35LQ=M:G+,H93Q!I&\4,?8"2U'1
MYQRAN;6/0T'&>>^,$^$P[ >B JMV#M[J.;YZ)E?I/4& $2$OOZ%!=0\(&^4_
M$=][V.O+]QZ^%3'I>JM5[Q5K^?:)I>'IK[N=85YIVW'L )AB+@2&J[L>E+1
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
MKTT=-79;VH ;REDC?K^=D33<S#'"15OM*;\8RAXGS5M=DP:,2V+ H8U($4T
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
M=,(5U#IGY2UO*<3U#^8K(0BM+3644;SA=,I729=DD4E)=2QK%$9UHC?JM K
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
M5=<>2$(S.:2Q:D5P^G8]2%C'L6@B>98TW9"VOQEM$]A!?@PF9J9F+M7-2+A
M%%K3SMQF4^G*^+*T72U2TX9=SS:%;-Z+38NL+<H]-DA ![2-)\^4$/KM:/N[
M9()^E+C?FOQU2>+FRX14)HIF N-2]=(@ULO;Q1P$LZ4!<2>B)/Y22NBM!P]>
ML[2>3S*\3W?BBS71C^',:YE4B/YJD/I88\AO:>\$EZ[(;,<<QJ:^5NV[:C8I
MMIT,MZE((*(TC.>>2P.%!'P'!'PMN^G-!#Q>][QFH]#4>'6^%/)QB3"MXJ;N
M (^?T3FX7_*]K4+6C=;\'H&7#<9Z:*6_V0.]X=:1W\-4V'9B>U+C<2K40DWJ
M8\K-%_A5O\<NDRD-*_7&(@UM 0:/DN>"_0D)_4<1^KE,BK<3NK>.9<F5W."%
MJJP+,:G6'2HKV.D$V P)/,HDPICB9^(N(:6?.2[S=DJ/,^,JKTH95E/;TMB/
M\7A&F-4!I=-__1MGHGC\)<"76P_"!+V =R6DVP+,T,(_RB+[42UMKV17(2<V
MOZ'!$ZPX+6*I:;E?&6FQO.WIBTX_H[9@TRQ@726I:((*0RTA)=^$X?0:)1>Z
MBT&]D/4HC5ZM2'F2T+UR%5(R,)\8(DH0\9"2WY#?^:-)^4*6T:NDW(JO]:4O
M5WA/]EKY,9,R\1@D96 ?)>)1BDY>M^OX5Q=M'?7ZOLEIWDAG]/.";T!(\99B
MSRJFJS@U:74:<T.METQM5IP7-,5A%$49&HMJ@ST3YL:>-,#>T3J3VK3.;.:J
MC5:LQ3?*D0KJ(5UC>VRJQ)^CC_*;D&90!B!";3$CDFU+QEB!MPA.Q%?=260@
M&1KXYP0(BL$*P;4$GZB.XRD1 QX+!)QQ'Q^(0M6)?YS(0C&&)FRS#"2^/'GL
M;*FO(F#."P7^#LP2C$(_MZ05PI<92BYJ6[Y!F#%E%39DCDBR#/QG,"TKH(*'
M2#MX?F0FK2(6D&/PQ_!'P:0@&LWVD7!E:-Y1Z/_HWG +/0,_0TO9?@!_&P5/
M4\&O-\MR7/1^(%(]&S #FE\T,O#<R%@Q%%O2P7HD%[Q@J#IHBI&1;<[03T=
MQT6D&?IPLR+X@@ 49[O_JK/W(!M>@=L!B,]0036O$2BB 6_!2<B2 X]$A^ ^
MFP."#]VN(%ABL-T0*,=SU>#2'3Q-G<V4(=Q*]!:P,X\;X%E =>V.=G-^X(Q<
M5T>DL#]WYR&2!6<8C+<\&TQQ>UK@'P?THSHOG##JQOWT3*/[=!292!!92(;F
M # I/+BF63 <?.$\-AL(SGM'%JRS?9$3V2-9M"%/-T$=;H<\)=YG-QWF*:"&
MX=OSV3L'!TBNS2$\$N)F8L"* 7^ C^"+-]0://D1PFE'./ 9:"5@DYY (NV!
M(46?W86(#[;H/U]LG7P ,_#MMYPG)?U36Z0"Z$LL+-+K=FZ%]_C5T*VDBOG>
MK*FQ,":)16GR./J.MNO,>_$6D+ES[$5[U%C9NK#L"M)ZE>IJK4Z9KXV!@\'@
M49PY#M!&(5U;6S'\L#-W+FZ3?2"S?M=8.]'-U^*DJ?.:UVK+L_S"RDOUTVW2
MY>J:M(W44%#B[$S0RD9U-CC9)GU6GBE*O9^>8I[E=R;.-(_E]/JI-NG%'E>H
MCN*$+#3C8SDY9U71:9QLD\X.9\NII<IE09I4<D.AJBKERLDVZ02?'TSC,=GF
MLYGF;"[A^7J?/-DFO=$C)6UA9W6MD_<7>9L=Z5ZS?JI-.ADK66O&$M):<ZQ[
MZ69SW>?SXU-MTIO2*D/6=8P2BO7:)-VA1TS./MGTGD]UVME^O=K#BH.V5$[W
M:PX^&9]J?E[FS29=I8B4P.7H%4=G[*HY&.\U/]^-S!48IK9<)P>8QSO-?"(V
M9/Q1763VVZ2?Q<#<>D$UVQQZLMM!NLM=I8$6UTW'LT_8F;:['L82DM32/#PA
MEW(0)QP*O%NR,^,;.Y/EN(; IR,=MM%@*ZU>A*LV6\UK69D[O>IOMCD")=("
MVE/ 3'"\&?@ALE0&"L0-.:MGL3WX1V2_)R104J5 'CT#\9>/2STOMC8TWLM[
MN353XUPE=2YW(X3X^R>$^+LOU* 0ONE&#B($-+N1@P@YXD8.(N2(&SF(D"-N
MY"!"B+\0XB^$= DA_D*(OY!1;@[NZZZY((3X^[DG'T+\?5T*V+T=?0CQ=^,D
M?P=[$**^A8<='O9W/>P0XN^\AYY2P+^-(",.I6V%A8DAV-F3G"V<$:LYNH+[
MPFB *5F:'J\\JZ^D/U[C]"2+@)5EVY/TBADDUI_$Y<A;O50JV\O4-'I=*=,S
MF5"7]7& VQ?'HC1VQB*1D)2_#2DGQ6J3,55E)BE:U5UTXE.NSO5&%R5EKT#T
MM'RML!)BK-84.TP2(P@_@.F+QZ-,@@E).83INV!:\2=HF<]JQEBD-5J+5:DZ
MW5_8W?:<#5#YR$0T01)W7!"^W0B(P <M7M.X3\L^!"N[S5+OT_Q6LQ5EJ3JP
M17K>D&U%<I2T$OS_! ,.?2L_JW#]F3"/%\<MJ^MFZG)] [C'1#$JA"S[V41\
M[BKOKR#B2857U(;3:0NTE)L.ZW.A.BF- ] ]@HXF23PDXEO'W;OO N^OH.("
M61VR0K.E:%)2]/M$?CU;S2 5 UN(BD>QKP;'N;8MOS./9%@5__5X.==>W[=V
MNR'+_OJ6YM.FHO4$@Z;:Y7X%M],4'VLFQZ5A8NZT.#8 )"3(*,$<.RN_0VH.
MJ?F:=M3SU-SJQ958:RFG^&I[4<HM$N)J51P'J(,4'<7HXVX/(37?1QSI$N1\
M'8/J>7(&7]6<BE=)\%(M57!\=[+PY^, 6I",1ZD3D:3?]Q-*RIBV F8149;R
M!.(^;# ^[M.+^4@IY9WGN=V6-W1NRVH[/XB5CT!)$(;^"7[>D#6'XL/RJ@6^
M<W0TTZRD&B73.<7IW;YNVT55S6!5M^;Q'#4?KU-L@%P8Q[^+JQ\RR;5#!F<V
MV,[+)$RJ-%8S^1(C%(F8+2ZG,;]HU -0Q&3RNV![7H=)KILW^P.,OZ]E#3
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
M>X;N6<GGXS'^_6LJ?KMCK]U49=(]8=[K-SB-GA.Y(D'.;:$/#?X'_+@"_>^
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
M(? '&M(%^'.S*IQZH,YP4L0QU]"[8_D_Z9C)T=G^%9G84)[^3ZO*G10'\-^
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
M5<="EI]W-=DNU]MEZ+6]J?3@F\92:@WN:AFAK9V>G4E3L)<!_@7T (!:<%1
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
MC?S$GFPL?9?-_BOQ^&.0/_'\-E$YV<&=/2D7"S_UM&!L]^PWV<0[P+BF]9/
M[U#UV@+^NL];INZH,T#J:>>P "3T UC^*T9D%P=_2LQLQ 7^P;4+D3D,Z&=(
M*9"\]?\<QO%WCW[\XH)B/G.:*(15><X#/HLG+_1\(=D@."SU>-C7$@\*3(LI
M5IE6HM]N,+U0?%1;A;N'[('+VFZKS;']!-=.%-HMN.-JD>'88J)4;3&M0I5I
M)/H<?-!D6US_P6S[:U<6#>2_+_10I78OP578Q)AE>OT$VRK"(Q79 MO,LSV4
MOYM Q@3ZE\"":MTGN56?=!1$3V\YRW$B2V*7PY+8IZ] ,:T#!SY'/<Y\U4$M
MH66HFKB'$'J=SS]E4E'<1]Q+R%DI7YF[3'N%;<@U-EZ/\IF9R0A!D[2 )A]6
M9N#FQKD*:VKB"ALU.FG5%*==N))ZOK)5&;BRE5(+[##3HLOYHL.3N"\0Q^]T
M_-0D)\&KX$'+;K<VPZ:4*3,"<?S.M4XW!\[&Y/G%=(8I9KMDK69=@3Q^I^#7
M9\Z\Q/38LC>P,6JU!1T9K3QZ9Z-=+;C;%&U@9:'9U<;FJC4H,@(E8,]7THWM
MF!^WU XOFJUT*9VQ:XU45T@?KVS/ 3/!E],YUEZ;JPDI2.5U$<V_/EI94.U:
MJ9&JU5FO8E>-B9I;ZC8C9(Y7;C2N8G/S99_W-$QLCWJ55#77%;+'*^WU?7N4
M7]HUC<ZSQ%#K^V2[Y0NYXY6]7)4CT_D1T-2^0><5/)?;,$'7S^.EW##;U8WR
M6O.&9KW<XQ39T()&>D=+,^ERR2P3.8Y7+:NJZZ0_\$'0.N%H:6FB]G6.-7I\
MWZHW-JE>\3X[@V\ECY?.#$VH#%2^I='%_I#)5$OI=A^^-0)0+'Y?'>0XO,RJ
MVDP4IVLG.Z9\ 8^ E)A?56:]":ECF[G)W+?MU=JVX U$@$JW]!4]6:9H;>E#
MM5-E/:]FPK=&P&K .D6ED<MC;%^S*XMI<5NW';@T E@.*-;S?F]0QMI&=40)
M;7)3AO=*1(# K_C4?8EI=%C/K1:J1';2I?.0HB) 0*WLO@"YRXA5!Q;3JO,S
MS5@H A$! AK@*2(G+%6L;FS+;+E3& IUN($($*2FK6)_).H55FRF9H5ZJI:K
M0O(C(D PLF?&K-9,YWABO)IVAB+C.'VXUP@0F*-2W1+JGLH22[QA*12^+@S@
MT@@0= N\XC/^O:65%]R,R).9ZF8"CQ4!@B%+EL<6W"L_W*:<N9$2&5Z!>XT
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
M2=PWD] 8X_7U"[%WX/6PVA#=57HH8P5.6#8(O51;%((F^E"$4;DXRA8DT[O
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
MC:(Q7>1Y4/'D"KU>3JCL2;(YWT$OA2Z[2A&#BJ>I/,<S>JN]RG&^$(PN0ST
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
M=JEI_7Z3J<GR"I@5],ZCL_>+9.]>,_BJ5E:&9*.CK%3#4**F!C'E,C^2^,%
M(R;D=E0>DOE>R8^:&E16.;+3N+\?L6J'G=FC/D]9LA*&O)^N7*OU9KF) PC0
M5:;!DL)H/9FCE4<G&A?2J]R\V;;Y)5=+%?AIS5ZH#%QY="*.'4U-(;UFL53%
M7HVVQBB5I@YG%CVL7*J=='ML4"NV3$GXTE0F3&O<%7+'*S.N0I7JQKK'#VM3
M&:^#AKQM^0*.'2\=3)JE;*:>HOA^L]K=6F*=+\X8 <>/E[8RZ?DL)652K&IW
M>^,&!C*U3A>Y1(X'1JW6;+O;4UEV@V_)R5QJ++(#2$ID!#Y5>RVR SI%;$%D
M\YMF:ZZQ,Q\M/;K^9K$P)@V])O%@:VZ H@V)>CMXZ]']^Q5[D67EPI(GQCVC
MVG+M"H]UT=(C + E;\(0<GG&#E=M.J?TVUD"$C,>025$RI:H8==J\NTJP+=-
MSO2:'08M/=IKNI%G,+<HCK "U?)X[7Y8!'JP]&BO]J0^6';OUVD>T,6T65:(
M57\4;.!HKZ,FU<?G<JFJB0!B(W;?5.XQ)HI%Y0HIDAVER@3KM<0%-9K.YG8C
M<@2:;1,S*2\ BO>FO-W<;J:D,>]&C4 ;=KLJ164I!EN492D_U"V5 $S4"+3Y
M$F36:;S0PC:93K=96]XOMRG$H@X&<9VU]3HKVJ@&W^D NS\3[:C.ZGQ36@^Y
M?!<C=+8XJ*4<Q9^=J[/ZRVKJJ].\<KMI7E!K:%5;Y7ZB ]6%?H7IL>=0#MXU
M"" 8= 4M1C0B_JD? &D#$VCH28$F(ZNHH::< #N H+E6"0>!Y%D;_P<-X><G
M]^9_CBIYM'?&D(OASE]HS$_UW'QGE9Y7,8#I]Z5UO8P1[@4TYK_B5OS94W3B
MIS)WN;BM['/#]^WN]M.U]\7OLG0,B(L 1"8; ^(2 $'>X3$@+@ 0Q%U,$)<
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
M"EE'HM<5!"SNU09&$UBA]UGT!  Q,/",+;8MT&>\DOR#<P^M.3-DVKPI+6T
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
M(, SP%*=SJ#_%8X>0A.#8S<<$N%3AKYH2(2$_9!  [_SH(C]UAN85,D$,@3
M?R= D=;7$-?0Q(6%A><#+"0+Z<&X P)@1O+*F1@1=KKLH%G+$)U"KSKB)/S6
M/W#"F3)AN@_M&Y'+F@G>;5MH[(3I,M*C)N< 83PF!3XHH9Z5N+3(F8V%1P^)
M_C[FAX6*<)0"I)RES;F: (=:_<.>0(BR+0Z/EL*A!32[R$"SES!UA$-.' Q@
MJN167^J3L$LUHCZ'*Q;VE(._C3,V%5CG$1)E<*P6:IHSQV>ZD@Y[MON"690+
ME/UA'7L1#[<(:8R7X/<"FNQKB+MV+*0JN8>Q/[</'\O9[7]-+U!_VWO<F]\9
MH=0$S E-OW#%Q=&)@!,SCW!P#H[&!F<*;;PCM$+S#,(>*@+0>@.,T#PM\,/$
M1H.U3!. 4W5!@0Q3?\,MV*C>=$>)A"&_-H%"AA+')J$?Y$^P((L#1S*)H!RU
MI:U;'%)A83I:"$IX\^SZ/K2F,%9(?W P:@)NB.!/.OBQA5^@7F*A*2#--6?!
M^Z&$^L'O5QI4N@>GECAO\JT/O(LF_NT7A9P&8 ?7"-C'!!&'9$"O 3<%_P2,
MQ4*X2<7^[6;E.36*\" @M+W?<9T$_ADND-P_XB3RP6M_X\53</%@)>X&3L_7
M/[OF"]?KC+$Y05&7"\.XZ%QR1"I<CNX;%9APR0&!1@J8<^*Q#<3FH=6$-" X
M)R@,I+< >!,Z&]=$$8$=H>JX#1VZ<0L6!)F79VE@[M]%8W<:QI33Y!WBZ/=D
M#CZ#HN&4F9*8-:2P=N7)/*C%\3Q4.I&YAS16:$_,86S%B:=@;M( RA[6H3R%
M"6^R+2V@:@0P )W_#W!:;*?;_AF:&H" L*8HP6% IB=.$5J<,!UXSL[L'TZ3
M5!.)#$-&PU7 [U#3X^4))T#6O._)9Z(O'EW +_B)-/.&8.E.&[=4&"WM2/V'
MU"\:W!KGM'E+A0\#HU$RIENP1TU:0\HV0]5J%GW1N_@38M-\@64<V#"*R,//
M>"$F]P-@>4?=\JV#IO<F5%411P8"$>"E8\<"8Q63'K:EN2D'-0B\$X"2=<!I
MW#YU*;3C_:P6KT\^_,3>/ 9(!\QJ1VTYNU0;\;$%-/" K886#U! QKZA%_Q]
M\&XXL FHL:AA-E**/+B'5KH*: 1O8XYB<5 -1AP?>06L"V<S.0?5+R(D<*[>
M5$S"P:.]00XM 8 B$DH+ 702X5 (RB$C>(0F3-B8 GQW@Y4^FCBWU0O4@JU.
MSZGBK@@A1V#H]9K/F3/7LG+!HH5XI"SIFAM"1J;^?@PUXNWG]_P"T-."+X-*
M%7PTC /&^!@]U 0 D!W7F&[#AZ576X3LYD1M<3 52"9/308&J:ZN3EU 4%O3
MA/U8"AU9:W-W@K>J.N:(ZR+RCMB1B>"2A$4!O,4[,4<F.@2P'V!Q-'!"AG:T
MJ@NVI8.U>'WC'=WQ>&[%OE,E!"4</ $549C@@R;5@CW.992ICT8FX=;ULD_Q
MVZ>!'>AXG@\>V<C8ZX/W#ZT3K#T=T/\>H?R4Z9R0=P1[7.)19-W=/-+G/7Z$
M;2PXBLD%\XI#@8EK/@DV=\E*A?1XACFO7@X/ 9J:3F:4#SP OZ8(46>ZBDCR
MMX[!UE1N#51-SZUZ/-?D9$[)MQLNX(])_4.3"^+/Y()G<L$SN>"97/!,+OC6
MR06)=R47))_)!<_D@NL-N[WKV6_=S0$2 Y/J*.B]-QF0& ^CV!CR1L/AL3K0
M0G4#1Q:@EPGJM)YK"G[L)90&D(%(#QUJX8-46K 2QW!STOP]SPO04_VK!*2$
M_=F<^YE#,Q,88CP2=-!4T^>RX(:?')/.\V)[7DK?J&??!%RT+=?/#R-INBA/
MMNY7 EW(@7G)<,V^<D3''^^^Y]3S^Z/;;OWTWN9X?)"?UI*F4*6&7B)=<]S<
M?J_ES\. J#.5%07V_%Y^-R( K^!QSGCKWCQHU^1T=@+ %0X)W +8 -8V9%M
M-\8>/NS&E.8+5=]"T^*+M/?N@>M_#@ 6\CPN'MIXE@Z.-D.#TYE2X)]&B_V$
M\*DY"@4!6X938(_-K3M1W/7Q[L%_0"C(('0=<"3A!H+WR^L:]GSAAI1A+H'*
MS;$8( GP_Z$'TN*\F#$R7(\^$/"0,P5]YS7><+R=OU!XP4F".0JE'YGW/MMN
M[UKV/(DQO)&_D1\=O\_!C+/.!+!Z$BCUG B,8& [@ /] <>1+W ,!EZ-'5P%
M%Z%;U9EM[APS'I .O38G[J"?OG4>^K_A?&OD\Z?Q6D7 ,/9!1N3$<!;M@66?
M'._,DT<Q+\Y4?'P'_0#;!_BCDP$+\SF5  Y+L$X7LX(]$D"[5\2NLT.L.\)5
MZ#J$WB716[U'NR@%J=TZBL'L6<87T6+><[3#!4(TYYQ$A%.T#?O\S1!>3I!*
M!>AO 0P"7"\-U(0<3%Z2>10]9M#-;H Y"]4N8&$Z/X<*P%1=0(](.,3D\CXO
M"7X@],,9F@XN.F/0?_KS&)RWE##+AP([;9HZ(!&T8O?A#E-*NT__=!W!%FK.
MJZH2[,^+$<NW69S> 7TCV(>'HC(<!"N\5S800T>[=@:&>\XEQX<3 FQ<AHD<
MT#&&'8?[4SKT#^)D$F GV@Z5811\@^)Y:0N]FAZY1UV-WL3Y)=@OMP^&'&SO
MB*S/>-=A;*+C\_"%H83;^^U3+J<\1 E.PT@!$X7 M_VX 0$1!DB\L1B#.\(,
M^"B \D\GK@/'V6I.<8PI+3@D;'T=EG2X->Q(=L$(,3B T;J]ES%PH  !K_7
M!\-ITA1&W5P?])[D78<9S-YQG/[26V#!H%S)IIN7>,1CPQ=88-@)\%_FP7X>
M"Z/&F@84%7A<A\SYOL.7#X-Y>^]J_-B[.I-4)"FNH5\)0N?EQ%>*\>AG$,0X
MI GKM@7_AMB'PK+@*>S@WDL*F./DJ,%!3 [I2&[L"7ZB "/E&O+%HG"'I$UT
M0_"2OQ:^=SA8MO?=<O@5KD8+Z[Y@;(RS3H,L 2[\H/ *1B7,-P#KEKS:,E],
M.EBZ'Z (4GQ<[SR)&0@5/MDO8H.<$S]!B4?8M0_^!0%QP7N,?G?NQIEEIMLM
M#3/*HV=.!V'+YCX]S9\ "S4]SR"BOR[:MD?N$W-,PWP<;^,@;>I$_?+2!60-
MI1Q#[HW"FDY^EPGS&(R#$+87RC]-\#F*KAXNT-%BT=BWDZ'HCFUVD-<88$)Z
MC@TW(TF38!B-PUE'8)4K9.C M,:Y)&Z=!(NKLI/"#MKXV^@#;BHB2>:MYS2G
M"]PVYQ24+!#"#AS 7SGQ%5Q%2 S5,)1%L4_Q@I3:\!F['O[OV4D&_A\OE_20
M4V A?=&TQ F;YS+?CK)9\!04;S68<<9=+=3W85&W41@)?A;&KN>>B(>ZI9=T
M!%;L,T;!_F,OQ#X]")O/4  BHN1\X<3C!;M\",EV'O"%DX2A,, !0"(X\\:"
M-CXD4_ \&7U)'%D,**\Y*$V'>*%BP6DZX"VQ?48.+KO%&3G@RD$.#TZ?]V7K
M1+V+R/NSS]8Y5O=@_R'$AD6P4X\%'P>X7=L@ -SH=%R3SG3R#G1 &5,=-U_@
MIH8DX6)@I#"B @(\Z:\F;61!Q^@M8&^ DRE\(AW !TQIG_YS(?9^FQS=MYUM
M_Z!07.(9BGN&XIZAN&<H[AF*^]:AN&=P[1\87+N Y1=3MMS"3IB1]49V5_JH
M^NZP"#&4PQ.NF<U"-F "& P%W+FD*"#'&J=8QQR/#%9",]BLZX"U Q/?#*51
MOR'/?YK-=#S_Z3Z4ASOU',X*/PKK^0\'%^DY42A4KX(\0'[K JCCR,=FNOXM
MY"%!*BZJ>7:<JV U)\FCJ&)CJNNB,YL-?MD9)NY^V'7IH^=Q<.^HB-<MKW&V
M+>@ZL$=PPKBT03:5X1P#3HWC<*4(_(>3>H_,1!@7^.%RK)!7R>$V0G)?9?X\
M^G[$=%HSN4N&[=,<2ZI=RQ O!!F%%E*H#RPX[+N!V9@.0/?PA"\L043$0 %
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
M:8K1>&QC;*3)]-R\T_>Y6_<#<0#=GW;>U>SY4>==US,+;$- 'HT)!B]4OQV
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
M!791 ;+*,^6C+]$;0(HZP$<$DK@'EO_E3IT,"+9_A68&Y#O_ZC:R@07#\-\
M10$_40^*AIV?_OIO%PW*UB<AF(H-U54/O[G/)+5+5;UHL]']9B\VO4K7T[E2
MNA[J-*KI-HZBE>K9%Z_P]WLMM][H,IU0MQ'*-NI@Q:5<NLOD0OE2/5W/EM+5
M4*<+?J@Q]6XGA$;34W^'?F1U9Q[[SV^ZJ7RC'>H6F="02;<[(::> UO*,5FF
MEF':SJPOH";!B5]$"#;//AC]=:>M0'JZ9B\_2AI&HNY,MTVP6A/2 OO2>0GE
MX)1XPPP#G4 %YEP(<#;)6,NF%)(U448-*O<0NLSG#YG4"??Q<Q<2^0X1R4/Q
M/:830 .F^=A8)**I<50@XN,4R<7&*2Y&Q01.3 I"XB],K9PK\$L==DI8K\:6
ML#NI[C*KO?84(PTUDN,[8Z\;46)G&YZ07H=Z.],GS%9I.J:@JGMXYV@[6,I2
M?AEE.J5%WQIDTNE)>CVF3^\<C 9J=Z$4&FPGN]@5FD)KGJZFQ]'3.VMUG5>J
M]*3-5-J<0<Q'U$:93L>QTW46Q_E.L1PO[@B)-/3)K$9&":,%[HP>WSE)1V)4
M77M]99;MI;QN1<>=[0Z^\^3K)K_H\J2D&NP\14Z'BC2+]%KPG<GC.\=T5A-6
M$=H@(D4JUZRSQ0$5F8[CI^M,3:R&5;&W!).-Z:59IC@;EPUXY\DZV2&;B479
MX5:9$^H"* 'Y2CD&[SQ99YH6N8K"FTNFD[1'K,X51WFB!>X\6:<R*#(J&^F^
M,OW5S"B\VGQD ?:>&!/'=UI4A0 KW0V(K92L*_/YH#5!*?,G=W;SXU2K,$XQ
MRC)-6F:KE]XQS?0X=7KGJKC8M%L%OL,6S%QJH?5BJ7$3V4V'MXYY+A5+IL#5
MB<!SXV@BR8UYF@?[(>D4EYA,>$%(';_<D",C4RBLMD1GUJ.DL9%?V)UU$$I7
MM?*X7]]-6JQ-M-.TVDRO7HOI()06-COI-4_-^TR<(Y1Y36DN8[M6$$J7N>RV
M&C$5BIAOQ?^?O7=M4I19VH6_[XC]'XS9>[VQG@B8A_-AUK/O"$0\"RKBZ0N!
MB(H@* =1?_U;A=K3/>WT]/1H>QABK36KVT:@*O/*O#*K*E/0*DUSU9&34RH=
M2A)I:.:L)FUU@RY4_9ZP*PJG5)I0UJU9('@U3*WH^2+-,<W%.CFETHG@,X)I
M-'<8H0>#L#W0V^BR=4JE%]-PP#H3OX$94G6.TUN9<*B3*BU%,Z<]84HE3*QL
ML5(0],8[MW5*I?O&1'/BPG3JH"U2;O5X7'/]UBF5GDI2"6LO:?#TG8HSJD]8
MP]))E1:%P4:4^LI4BV>S&CD=[Y+Z3CBETAI578XERV0E:\+ZA9FV*YI^<DJE
M9RBU()4QJD@K96'Q-:Q)-];"*97NVY-YJ^<)&Z?D,_6M5JR+33DYI=*1M1S[
MVT1N:;5Z2Q(+X7K;FB7/5?H'PK__XDB?6<M-O]D*UUI<#MDHM.JM:C/1X:7$
M/F),/;P0_>IJ\LM/GS$>10UYHR\\3:%&]%S.YUU@[])OX:^?\<;5Q 6R"S\2
MV+=\,$%\W?M@52I!+I2KR(!B-(1.19%/TJ$T%GT*2/9+P";TULO0^G;\X?F[
M00I_<+#0&9M[JGL,P-)HP8@C__C!/E9(/WD143Q+6!RN>1VS1<'QQ9XU3?YR
MMJ7-K"ESUJ;\[Q+$KS+IF2 R1/Q=@L@0<2."R!!Q(X+($'$C@L@0<2."^-5"
M:R:(WQ/$'6Q1O;ERL=?>T7#>.3!]%W[X_[ZP7SXX'Q3SE;SKC@ #RPC"G.2-
MK7&N8)GI'IW#@@^!99T",KS<X;ZYNVC5EC6PRW0ETY6;UI4_]:W/-L1F;2\?
M:@MJUO;RMA4BHUV9*\T,:*8KF:[<H:[\*>V"^U,SNI71K8QN/9:AO.TYR%QH
M9D S7<ETY>YTY4_I5NP9KNNG9V<RVI71KHQV/8[!Y%Y-P5N&8+_A__6_9S(*
M5Z^R_Z>&4E0KN;3PTKU8R4S\YQ3_OE)0;E\J*%.!OU$%;%@'9T^23A899$ZY
MDM^L.8C?4<W!6].NZS:B^%/MZOB1X69;MFY>Z^]@#FX^Z/R_]^) ,V%GPLZ$
MG0G[,3-&9Q;V??:+DJWH_.U\KSVHRS>S^<1$YI4K1F(O*D9B5RWSC4['HLC1
M:]&Q1M.5$[D<F_@?+[]ZGK[?+E[G-C-I7,04NCIAIW.AO)VU=';?[1?': 2C
M'KBC38:U>\?:SZN 4VJ$$GETO-)6JUF_)Y&JM^A<&V^D9HX**UQ7-&9:+S0T
MKQXM1K "$_7E'Y9@$)QYX#9M-]0_ZHJP_,\GM 3^#2S^1@%QEY'-N!0K XFH
MH>-H5%H#3]'Z9$39/^L5W+'JR^%HT=*E$MM.\MA([0Q" 4 +-I&B*83%7[>M
M/U^OX+\26Z?;2/V]+J\X]\OY?M' -:+:F?=6@9 OR-,KNYP@9#G+ES<NQJPK
ME+GK#4LL!RD>!RD>Q3((Q=/WW4\*ME:&E6;/'@O>-1G-&GL_?A3X6TW%J]9\
MJ0"+06J,.9Y::GDQ64Y@44\0[!' "@#Z29,/THTC ]-#@>G3PKS? E0P O])
M-J-00^EY8V/9_E#R$P H$,W1+(M@=-9$[6%QE\5Q[X',3\,U$_/[K!%%G&.W
M!U-'<$72V,"BZ2!<(S@&88C7><?SA6N/#Y[K[JBY<:=UYD#MMYS&I-[!%IMM
M%<6V="L*[<&\5.$A"^,@"V.!ZM._[B!U=TMU:<?CW#)M>?PP29?++Q]D+;G_
MABCN[7;@M5%8R[M:OJ2MZK2";B>JNXAATQ 0MC$8AW#\6^8B@U@&L=N&V*?%
M=F_#K- H!:L$J(%68E$P]EU0*40M #,0S.$4C^#X6UG2.X?9#2W-W3(>LYCO
M))1^&N3U5YY7ZZ_:%4?A-C&]BX;]2("N"P1Y#(=@_.O\2+8D=X$EN5O&U&.%
M@F_[&,JIVHU\0]YHJKZJ6MRZL1RZ$ \<Q ./\/A;FZWN8"5NWSHY-PG\1<[?
M4P-@EG*G#UVQ:7?&WSQE1=S1*:L;L0F?6_'BQO#]0&'B^QJ4HQV_R*P&7AF+
M\3K7J6X\,K'3SI%PF8].=W5FJQ(9FFX839\6$;X/42/.4[;%Z9338MZ<U8:+
M8G<\;D%$P74^$J'>]-H9H&X:4%E(]R86?AK:155IN]P)9!VKB5P+%3P#Z\1I
M-U<0VW$,@G%\MGYWL\?';MS-G#DH>Y^9KXT%IEM<-&=8*3#SF$0.HJB2$B>X
M,D=@"$5BOXK._COMIGLS6ICU]OWA_EE/KJQ+W:,*(NO;>"."R!!Q(X+($'$C
M@L@0<2."R!!Q(X+($'$C@LAZ^YY7$'>P2'ESU8*NG=,Z[QQDO7W?ZNV+\UFA
MR PO=[AP<A>5^K/^!9FN9+IRT[J2]?:]'TW(NIYDM"NC79DKO0W-N+=9R70E
MTY6;T96LM^_M:T!&MS*ZE=&MS(7>AF;<VZQDNI+IRLWH2M;;]WXT(:-=&>WZ
MBWLOWG=GSZRW[U\M_JRW[U^O EEOW]O6KJRW;\:JLF36/02=60?03-B9L#-A
M9\+.>OM>NWIBUMOWWAH;?F[-$)Q_7C,$_';-0F]!<>(;8F$\QA:.+H^4J3XK
MH<*5&[_Y!4-K5P++U92MY+>]U;H]$(5];U\"H7D<P>FLMV^&M9O%VL_+P,W&
M8K+L3PN>HS;KD<ZWI_T(NS;>6%%RDJ)07&DE)ZRN-OFV43:GA]Z^.(>P9%9
M/.OM^YE8_(UB<OE^,,-+;FN(62LJF(6^MA9KGXVHGQ:;FZ^L,E=>AI;3FTVY
MW@A7##9.]KU]<8Q'2"SK[9OU]KTHS-8ZTQ]L+*RM,99CV@Y'S(K+:[>3%UL
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
M<\$"*ZTA,& #$IY!<"P#1@:,=P'CQ_W9[P=&[#G20*4;&CIG*6*[+2V=^-K
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
MLS' 3ED7K76Y5Q;[C-2;V:-A9Z:Z=?S:#+"_*@R6@_*Z*EEX9\:ZL6UH*F"
M:8L&G$!8^H(,, /& P'C@R00 ,-G;549%@U#VRIQL\V@C7YA=6U@%(VX,9P%
M= $KS=%6R<.Z]F"5 @.20 3'+EB,-\/%(^'B8S00X()$FW/#F)I3R5[:J_YB
M)M,D?>W@2(P3C8QJ]0%62TA1GZH\Z5$I+F!6D$<H^G'+P&V707R^8B#7'U46
MZ5UW"^% [[6V >U4"!KK:3LSE*R$VUP]TA/RB\[0,J.ZI#3*;+?7J@Q5*='Q
MM#\#@>!L=A@K \7%-A .]%:YYXOC<:$O+0;T:DMK*A4&UP9%'B\W1B-4RCOV
M>EPKQ<H21;M3" IX2I%$""9#18:*B^T?'.AR.Q\4)%$/-'3*5,U\@XMZQ6M'
M27-;[E9FE>)2$C?)HCJ?U]'$3%T%9(,X@I%OA4GWDQ-L&HX=1O>Z63 KX/V9
MM*Y9TY=TF0X&"PR7:CPS5:CYR%0:UX[<-,[I]ZS-L*59AE(54=[-STF U;1!
M XXA-/<H&YTR??],Q@;TW9GBJYZ$;]H8X\U(.ECW&IW=M7U35%PV5K--;2&5
M"KSKJ\,P\K14WR%CHQ$*?Y0MKYF^?R87 _I.NJV97EIO6<RJ+2K5BJ,6_:OO
M9'6)*)0+@K-Q;)Q<5!2GU*/85-]AJRP.X2[ Q:X?F*3TK&M;$9C2AXFWKE4>
M\2\.S#Y(]KJR[I:9M=1/K+:#=@<LY@QE52&NG:XPJX2.5[6DIXGY^6:P,PU&
M$00=W_=RX!&">>!FDAE\[H4[ O@H_(J/%9*N.KVFS8I61>97_K5C)1;%N_:N
M/JQ)!C/P#:E%U]%N N&3-F/E$89XX#V &7[NA8L"_*SJTDPFJ^I"LU&]3AN+
MXEA(KHV?;LNI!T4\\#"&$IL+K)Q7-#W%#]PLR"/\FZ?M[R<O"&5OC7-"8(QR
MTL(&(K7NM%M$%D-^)FT4)'VW:-!]NS!=8PJW*%1&0;$?4]>FC1[>'@?JEHXP
MVW7IL%A<^+-62\?3?@X4B9!O-OG+]/WA]?V#/ _H>W&:;"MY)C_2""L8->R!
MB^/FM?U4S>NIU,C%FYJXVJTG0C"O[H@IU'=X^I=$^"PG_I?K^\=X&=#W-L'B
MU;+JV9*=K"9\[ KYY?S:.<+!)J$7R]U"PU;:SI_'"]7F"PG4=R;=U?IF5N"N
M4X0U/["R$[U9X'4F E=KZ_WQMCQHU[C($?-K;LUV;)GN7WO1JSP3R4)>[S<T
MA4Z*@WJ[;_0:"1A9>J*70&CZK<9\&2HR5/P)S0.H"-'% #?*FQ6VU>?-G2.U
MF5I\[;!&Y^?LLF;G VTK#^>X0A T%TTA*F ZCT:X2S;6RE#Q,*CX&!D$J'"K
MP4#:N#U=ZPW=HFDFY6&^?^W@IR(-L D]T6L.H1;J$U74VL6Y %$!F[@B%'[^
M\B[78'Y9#]>L3]X5>[B&]K$_B$37"I[:7&ZQ!3</DN9<I97IM5UCVRZ;DTV'
MI;1>SS&F^:FA3V8M'1@W(NV2QW)9S\D,2S?2P?4[EI8%&^^NAO,RIJSDPK#D
M-9MK^=H.E1HXS: IHE6IMI(6M%3OS86U +$$:":/(1C]5J.=#$L9ECZQ?^MW
M+&G)>NAT>OY0$A.KAVZ;F!;5K^V75!+3)&D2-#54(E;+*DTI<R;U2X"<\CC"
ML.>O-G/M2.UO[=YZ._M-,@/S,>(+__K<._.% 7C(2-,,R92)5GL9B/EKIT9E
MLCGS6DK/=@A3-AOC;7&@2,"B$/LNKAC.(1CWP/4.,Y3=',I^DQ+_@#)16=;7
MP[A;QVK6=$9@,[%:*5Y[A='<=,930>AT)'M4*I7RE:)LL0)$6=K-E2$PA*/>
M<MT9RC*4794L_X RKE@*:GQ4ZV"UBCU?H)S8=Z1KHRP_5/.]C5':.-MA?L3&
M,LL/QBG*TJZN.,DCV 4(\J<B28H#?VGE@.QS/@Q=<H$U!8,(LTZO=[)3)T5V
MUC(T$VTFVK]%M/>9=SDL%)8LX,.][<-0T6SA_\J;Q J2SO"5T7J\Z$RT;<5L
MC9OS1;,_O#9[-)=;%=#&)2]9L^:J:HPW:K$[U0EJ7PF$1W"<?]P(+8/%E7>)
M 5C4HS)0;V[ 2;V8[4IMMVW(YK67'(ISMM>NS5%)BCF)81;S6# 9 <("IBYP
M$%*168VW#!:7VB8&8%%D2T7',G$%6PVHC=3%\%Y2NG;>O%1MCKQVA^DZO>&$
MJ] UM=&?)Q 6,-= X@C/OP6+.\@T'/B? .8E *]TOF,"6:CR0+#^Z%%/36=5
M(:ZW1UY9L^F5G<?UY=3TKPWK567383KKIH MC%VR:$U1/1\ 6*>='TB<1'#F
M4>IC9<BX21X(D!%Q$Q439SR+K3RS,QF9>;9U]1+W.N[N!GE^9DE,RQZJ6Y)K
MSJ(61 ;D@02&4&^V1,^0D2'C3X^/:OJNJU3L/B[H#EI<H6SB#0+CZDU1N,3W
MF**Z7FGV>N:&6&G=CV:ISX!E/1@:8=FWCI?==790MN B%&P,]C@M(&YGL?JO
ML0@?9)%R74]\9[TMU\JR0Z!FL:GLN,(NOG8J<6FU_+8Q<A)G4>YN"DF3F1:6
M4YU(>T4P'# (V5Z/##Y7IYH /E274:E1@G8=)E\"+'-EVG3MVBG',>%'FTA9
MXHY8G=05BBS/EZT$P@>>&& 0\DU_FL$G@\^G\%$ 'W%2[&,H*K:DK<*T)6O7
MH:7VM>&C#Q>$KI5K+6E%*:H8UTRYM$J]#^2C&(6P^&.D)M6E8=]I\XDLQ+Q)
M0BFI>K'#-(NC1-IH:E]*AE-C4'*+UTZ^M*BJ J9JA#FU6!0\EN=W]:F@$VF7
M"I9#"")KO)D!XX)4$0!CA].5=JO"\(Z1[W%*A]JRE>VU<R^SGCG2-J,"(<6R
MM*2)Q<[1Z!8$1MJ C$/X2W+%#!F/A(R/L4" #!N$^O2.Z%-::6OA/D%$>C5_
M[1R$K!<&+7XG#K!M9>PVG)#6:JL4&2D+Q!"&?MBR=JH?1[.<, G ZV:!8188
M?C*+' IZ8VLT2P.RC6N]ELG7_8I,#Y;79I'LP&LM_":J2*J;B'*E,9A[L+11
MVOZ")Q'^DG6,,_C\=?#Y(-<$\$$'T^*.7**AIDQ'LV#NCK=\^]H>%8VMEC3K
M32K8HL#GM4$5M\M$"\('<$V*1\A';@&=P>=>""F 3[%=GJAZ<UG'",>KR%$^
MF&M7WTB\7;:<*N93JH:*9)]IB[H7Q F$#Y/6 6*9M[S/_60EQ9UESAX@Q'QQ
M6Q&\\RBPP6W*EKNVX#C@+0TO1%_?%P<WRP+46V&CXE#OH538XQ.1E<0P:BT,
MC*_OW*N[4\UH4+Z+!8ZZ\?))BYXH$PK8@[2K!LXB[,-T(LU@=<NP^B!+!;#B
M"Y)/DZ51RQ'CD8@QU-S#JM=VLP1IF5%3E"9:C7?]B3YN^D-O"F$%,Z(,@E,/
M66XO@]6MP>IC[!7 "NO)O16'DF--C97I,G1C/<*O#2NO4M'R>5]:.<:XE]<:
M74\;[5H05K L-(4PV%NPNNML*AB/9UH/$\EF1_JN3$B+;5UOU(:CZ33?E&P^
MDLOTB&R$NVM#7#69B*+'CJ$IGHD9@U9W7(I:.IEV"<%)A,:S?@@9*B[%)P$J
MJL1 "]A%E]:, 3[KY4U\/-2NC8K5' /RBF7:08UA)S_M6[UQ/H&H@%U">(1G
M+\@G,U0\#"H^1@<!*AI&?KV4EBM98\PR$]<V"IK(U]YW@K<G,QY?&VNL5RM;
MD_$F;.A2B@HF[9W#<W=>9^YE*]\:>-C87]QGG)@U>?Q,=E?*ZX5"V*ZLF'+D
ME/J[>J>DQB7\ZCO%*KV)U_8KF(\IBV*/4!>#@>DDZ>!  $<B^)O;83)]?WA]
M_R!O _JN8WV^ZC%&7UIIFA9JWG+;NWIZ?5[J#O/*E""PK9$O\UXP:7)QJN^
MMW$(1SW*OLA,W3^3D %UWWA<<SJ+MXY6Z]$;MU+<=BO:M<V[Q!MY5XEGA&2$
M:Z]7S0\G&[(%!P<(&8NPU%NUV^XZ/7?F3F[7']6%0ZZL OC9VKCMBU$?2H+7
M)U)173>E ::.2D%<KEB,)E[;"T8QF\^7Q C72L,&0>$;KE7D!)U,VUO0!,*Q
M#]S;(H/2K7+'7T!)TBNTO;$3&HN5D&QY!;SI-*X-)86J-/AQ/NY+BAV7"O66
M(E9[+0@E0"AI&J'(#$H9E&Z@B=L+*+%%G@EK--ETU.+(<]"%J#/NM3?BXZ-H
M,Y36GH01;1_M]RFK.N-2*#%I@0."/<]6R)\IX342BEEA_*P#)'C@+3%:^-<7
MQD+U5N-UA64-S?:)N,F$:\J=7'L!KE<VB8);KMB8.BROI'I';E3)J4Z2^[/?
M&$+1%ZQ+GL'G[X'/!QJOO8#/&*>*<MB:Y:656D5-,RDX->W:M+4Z%#=]:CTL
M.C&^X$=#.K^*JBT('T!;&9)":/J"Q;@R^/Q%\/G]CFHOX.-&TW4RG+J,L^KF
M-VW>']22Y-I4M;)SMK5A:)4<:]K5S-*JEC?4U/L JLK1'$)CYRDF] NN>NT
ML.-'AIOSK"@7[.?U<3*NMW.T[Z4E(8$E&?OQR+7^.E/RBLBN=:8_V%A86V,L
MQ[0=CI@5E]=FI@XW[#H*I]G2:C9V*D,B60:.H)-IQQP2(3 ,H;/>P1EPKDEA
MBW._G.\7#5PCJIUY;Q4(^8)\;:>ZWHKY6F>UK3F+04\I8W8PXY<M"!P* H=B
M&81ZLWU(!IP,.!<FKWDTD2Q4(6L:PU;*LML<RLS5@SELW0UKD\2?.VC1J-<[
MXG12'DPA<  ;I1&"91&<^>5*_W]'!A#Q/\?+Y!B\@&W>C*;?R&O V8$*8WNQ
M<9C%L;W^YW_ /\<[F:YE!!![L\/CGH $'[M''HYA_[H(7$P05%G!<9PD]ATL
M!\ 445A18'E\[_3?__V_GK__=X. FK[K!]^.J'\VL)D%8?F-2 W U$)'@64X
MJ#$!S_YFN(FQ#8\FAOM*4,=H^!OVXL7HKQSWK]SW'^&$O)K-A;%!G\W9P=R@
MKC6)ONV_=?PHM13'S_S0AN+Y%E@ND-/:@O=^<==4,)&__$;@7QFH&>#7PZAP
MZBMU 4D1+_0O%0GSW8X9+^[_7;9?<K, 6J;_TU'$4Z<[TY\!8('%<?=/2_:C
M.'P$@C2(ZYP_R4$3 ]0C?-)GXYS0^JD2'@=+?1_LZ,43#R\\\MTQ^*,HR$*A
M(L@Y5:D+[?T28T46O_[/?X]N\75EI2.IN8Z2$Q49O'&E('2D0JY8D059K CU
MG-H!'S0DN:/F#EN3<O\6]P;$&O_7C0ZJJ+1SG;*4&TA"6\U)<@$,J2")4B,O
MM7,DCN1@^ 7_);"TZ3KTC9\]%(BG]XSEWQ5OKT2=F1^'L"<'Q(+V5?V:*_BN
M:P0A EB#"_SKOG=\8H=6SO;&@$=%SR7TMIU_::1.61_C:5/>W/=\RV!-9]OJ
M)A6BGF_QJT1/MURGF'RZLHC6C1AU>WTGWNHE>B=Q>AF;ZNEFU9=7-A8#UMB-
MEEUL(:W'<\GPC&8YT8G7]T35<&C8M?E,(@8"M= 5P8^*\,I7]^3B3BQN/ W%
MQ*"3G^4'G4K/!H'LZWOB!;XWT8"[T$3&QWV7;HWD!KSRU3V3RFP\#X9D2RHM
ME=9V6QXJI<54IW3LQRN%&MX0)<'S)4OR1XFW&G1*UE2G7U\YJ ;2I$?7)E+,
MEOKZQA$Q\'6=>7UE[ M&?A [G*/FEZU9/+"<@!1T]O656V?5P0B:JF(ECF.5
MLHVVJ,Y4YUY?.>W'@V4LY"FMM!9:!!45;9))=/[UE6MI470K-:HM*;LXJ)I2
M>=D'5^+8B4N=FK1>>$%5$[?+ZJBUD/WYNJ7C^.M+V55/W37GPQVVH(2-NE8F
M@[7>@ISUU:5,:^TU5IZST'I>15U.:J%6:PLZ3KZ^5&]*#HXIG96$.MQBQ&V6
M0I<&EYX0E%S0@EJYZE<=>U#<%&N+H6TGTU/JS-"C^8#!,5-;F4(E"NPVZA#"
M*27%\%G;J]>"/&9WPWFQ[*V&5/FDDFYHG""),B]*3"/8-3HH051,>"7S:D[+
MN+N8S#:2%%<%U5[X5+O8/JG.\:0/1+3:##1C1JU:\9IUHG9R2IV7_:!3+JE=
M31+5VF <] ERE8?W?/5T::Q-:(MV!<?J5G:8HO#CC9:<4GP/'4M<<:K6G%Y<
M[ \FFB9$8G)*\:O-FJBTBVS%4=U"?T8+UB89GE1\L6LVFQ7%GV$]HS[>%G"S
MO!DDIQ1_UN_@XV9=GFJ]R7+H<MN.MU0@1%[-TF(3+A;3<8>6%(/D*J,E-B>\
MUBF(6+5ESYA054&SRR.NTQV%81!.3T&$]N*6@FIF'JO9<TEI&$%A%;5.0J0N
MLANL($\,J62%?<(0Z@Q6$$Y"9#D1J\../5$<U%Y:<0O=;6OT:8A,='6PP,A"
M@*DEJ5QW)Q'7#T]#9,&VQ]MZ"VLX*#-=K,<[>\;CK><0^2%4V']QI,^LY:;?
M;(5K+2Z';!1:]5:UF>CP4NH"F84?B>9;OI(@ONY]I2J5(&?)561 !1I"IZ+(
MEZ8MP.4"/_\-YUXM,LPL$%&[KI\ EI]+H]1<&"_ -> &80[X;,!L%X#1;E."
MQ?XGS+D^#!& XQWG#! W1\#%V\=8.K>$JTM!M$5R2]?PHI3 6*O87L(%*20'
M8E_4C(, _ (OG5MF]'23T =\(;?T$RO(A=LPLA;@PV5@+0U[G(/]OG(Q( ]I
M(!*F][6]R/"F-GSE_3UR1I0K6&:ZMG5@4L\X5&ZTS4V?EL1R@34%>H/D1@:(
M_7- @^!8E[-M"',\8)#F7J\ G0%_V MN_Y1OJ7!>!/)G27.\S%[4P2S7X20+
MZ4/SV^^K>0*(!\,T\.B 9^;!JSI?COI?UG6R0S2ZJE;3%:W:M_R=(H&;6Z%I
M+,'MHR"VSAL:_U2U/I(!."C@(5;>9\I,2"27H?7M^,/SUX#1Y2&RA#S1W$=A
MQ]Q &L@:<>0?/]B'L>DG+X+=9\FVPS7?TPG</D:-@N-['2/9_2C??8"#Q]]:
MG'_&?9_=WP?WG !P'B?M^#L*$XW?]HF!!$S3+V/R0Y8D??#Q4F,$(!='UD72
M)K^HF[2_</G^.DC?$RI_F)?%OW),)HA;$ 3YE>$R2=R")#)(W(@@,DB<5Q*_
M?\SR;2_]>:.&=.I5$/$I"Y>_L@9_/ >OF>);8=.>>K_^]WON\+*0.\MPWTJX
M_FH"A.]!S7[D(+(Y[Q1D K]+@6?&[09U_1[F8(^ *VZB_E.$P+S.O1B_3"$^
M1R'PS#AF6/@;Z,'_S2S?WROMCYFU:^^^;;;%LRGLM<=RMKH,1Z_[-Y5H%4)=
MF7R@\X6L;PHH.L-F^4CJS8=6/\+'W:'Q\<W!LN\=UB'WZVNG2B98?F5-#<LE
M:=7Q.@&93/M+&NXJ@+6Y$0PC$ J[R#'H3,\?3<_?W8I"UKMK7A*'_5E>6W75
ME6$/QO*:O:B>E^8;=%DL!J$C)C+?*'8\T:VV]/1D"(X0)(8P^%M'JNZ :7=F
MA@UW$#P :WH06G1;^'RO'^J4=9&.,*4LM<L8T]@H]II?]?7\QX]%O@.?&RP0
M)SMJ$#M6;20,RT2-ZQ1;.@W]$,'3"$%=I)I IN@/J.CO=41 T9=U?1'EASCK
M**."P^(!QN/$QVNNOD/10[J,+JWA7,;L&A6-=Q%6-T0!*#IL^\ P",>>M\+]
M+41&50-H\L-PQJL!^&\FE^]U7M6F7N].\MMBC::T>& 9K+3S!^4_.-/_#DQC
M*#>Q=J)=U=!5OKT,2I5BU(+;J*'SPBB$QB]RZ#B#PU\+A_>Z.  'NC-MRLNP
MWI-62=1EG6(4R'_0Y^4=</ --]^,8B6OU<:J+RY719VTIP .,-;B<80Y<Q.7
M3X^TA&!JP8WL1L9 ,P;Z)]Y*:.N5?',N%7KLUD&MF6EUIUR]-/AX(8UWP'.'
M1DF1[_1Q;+5<A&A8[*&5^N& #D,A!':1ABV9GC^@GK_7#0$]7RCV;I<W!P7-
M&K"ZFE"M,K:X:,I/J<CRAC273<R:.\4^YR_G50P>68,%"F&!M;?T_#X#K8:U
ML4T_HY89M;R\[VKT]:+<MCJ)+]><7M1AW% @Q(BXJ._2@M[.[C&%G68;LC-W
M*Y87._#(*%RN(A"2NZ#ORM#P%Z+AO1X.H '-8S1!J3RN$9:^J>BU930I7-3#
M-::1U:5-1])LN3LA.3-LFQ2L,;#W<"1YGG+W5XNS#ETRT]D_1UW0C(,^($+?
MZZ\T52\4Q^YN59SQ#M';F/42L3:=[44S@Z0Y]JR:VE<U=8KS VPT4P=S6-MC
M'VMAE]Q;D>GY0^GY>ST1T//U(!8K;DAN,&8>KU>8MAP)TXNF_,J#ZKQ*D"M,
M4FO1>%C"C$;9@7H./1&-L-CC+6KE V-GNQF[S-CEY7U7OJU[Y@H=)8*WQ41R
MX:\[AD*4>A=EEVW3L):U37?E*.79V._+I#MSTU(Z,-AB$/R1-P9F<+AA%P?@
ML%G%K(BO2$\KN1%N<:/=8-:Z:.JA8I@C37=\45,6K; P*$Y*E7E:?"UM>(*P
M.'/?T980AU$ WB5;U<H8Z)^M:FEZ<TU3,V,0#"5%4<Q2L%WDA>BB\%RNS&&I
M0X833,1;=IOUYUA82V U-]C.BT%(,MM F"GZF9>U-#U<$5AAOEIC6@TCS,@I
MFP5S>=%0J\LJ;787A)ZSJ@_YDAH-] 4]A8H.MU?0"$90#Q=KB89GC,_GEZX]
MG.S4R15.5PGZ)+3MM<(8'6UKA'6T'W3]@G51IR2H;J6I#UP,VQ849=O4?)ML
M)O#E@5/B$(Y_X.6J3,FO<+1*T'%F6O/(I&AKI2;/=4;RQJW(%\UQXX:F[0BC
M$3B]NLU)9(/:3;"T."YP2"R"O=D'\@[BHK0+]ITN/YT=A'?3D_+:;@?V3U<M
MV#==F52\L;VVQ['ANMO* @ /?&ZX3XW5#WTJ9TTUVK!YU-=62R5".8(/\_I%
M,WQ!LU?;3:?=M:1@O+1LH)ZG[,NY _=$,0A%$@\2,V4XN)9G^GT<F#-_:PZ\
M)NJ@K+D)NYLVOL,NBH,UWG/%9*YW,+1MC-G"1FVUT2G$ ?!@-(WP9^K%>DLA
MU;[QZJLRYQG]?#_]O*,F=Q?WAFV6649%GQ$TM%-EYA72:*#X16FGY@2^T!_T
M!AJZZ-I:3Z^->TS:8"0M7<'R&$*367R5*?AYW)R5Z%B=:;J6UJ/*?GX3;I<3
MYJ)>:8"/&L7:T&PX"L_59]MQN(OD*51P>%08P4@2(7DV:\JXO$#[CV,S\MS4
M\JP MO'*30)_D;,,<P9[>HQC,\KYA\JEX)W6-D#5I[3,4,V9-8Y=2YE(7@1F
MMV>/K8JWUSMP\V?]0*4-X%<>X%>'7J!A?MO<OWDH>&-U_]+AZ^X:Q4F3L(BB
MRCAB0;;\@IRW=EK67>/XP=6Z:]#<5X;,ZJ8_W?9Z%>R)KU36YN06!('C7\FL
MJ<,M2"*#Q(T((H/$K4@B@\2-" )"@LTD<3Y)_&;&\Y?$]6\HPOPK:W!?<P#B
M*/CA__M"?_G@?)#<5YZZZW+\ \L(PIP$8M?QBX:<?U3+.L/*9V#EMGKU[!G;
M'2.!P'#^3).1B?[>1'^V)C5_G^C9>Q?]A]O1_&Q6/LG]_6K8/W>(C^'_[H #
M_#*/<77]/U>+FDS:F;3_/FF_F9"Y-6E_+(B[P@Z1%RN2[%=B^7*%%=U_]/)L
MC5K)J;YK!-_.IMW7WAKS6N&O9="N>VCA?=SF2N%]IB29DF1*\OY \8&5Y-?N
M=0%NX5J?&R3^KB\][D;,,>E;I#XUM_#A9JUS;*N^ G$\WQ;3B]/[*V\7_6%O
M'\X_W]L'?H.') Z;[Y3@L/7NV?D(J"J-O:8<#D$<MOM]/UF1CT/;L\)0M:;P
MU_#[M\703F]P^,OA!OHH7LW$R2XOK2@O$=FANQVM/KY?]=F^0A&,&TY;SXYF
MQ[V%%<]T8RA0N)L5_'?<,3:G]FS;4WF+[J30B>OU0L3UI?PR/'9Y0C <_(^^
M2%&A##SW QX">[$Q%KL">)H;F];879V0;+73#GA&V4KYCU=U. ]X5J+06ODE
M?"S9Q+8AN*;3[ RGA\Y1"$EQ"/MFZ8>_%CR7337<&'A^W%7^^>"9^H+']2:N
M)"V,RM(5)@5\DO]XF87S@*>+[NKS">]TM-6\5%UC=;PJ+"!XF"__D A)< B)
M_5FUY%,4]0XR0"=9:[@-@>QSCGV6 X&W$<J=VQ__5?4HSL!OU52G:D"E#A>>
MR]ZX-*%:<J%..>)D65+#FMZHY*_-= 5>]5OE7G.N&:M>LXA5QWVU/]VWA,-Q
M!J&H"_+<#&J/ [6/L.&+0:V]K)&DBFT3S)K/^H6EUG"GPVN[=J)<!S9 :N4=
M8T,YK?9\%LZ+PJ'=',TB#/U68<X,:C>49KP_[GPQJ.GCS0R=]>,I5ELSC0EK
MHWY!O78(VI2+!&.,9GV'"?/+P8X@YU&Q!: &631&(#A)GIU#WSAASAM19 5;
M\"I^8$RM7+JM'XS[3E.^5R@N>FOIK?00.'$.FYK)[Q&]Q.\1LH-]4/?F03U:
MAW.YB4G0:.D>PXN2HLER:S$UNN7NM1E9P$T;8(RDYBSR:\47I:H=6*U]YT46
MX?A'2?%?!VQ9.O-:8-,GRD8:%!82UMN..%-O&VJ)O7:FH5W.^XK5G5.8(NR"
M2.Q+[7(-@@UP,H(@0/CS9\7+'B.O*<YLS\C!8B[3[7]+33'W;SN=7O .EFN9
M46"; +FY$$QN^%\/$QU>C0W\S6'D;R9'4\V44L54 LD#KVR!\7E3\ TS#E([
M)7AC8"#"*(C3]ZT<-%?ZKKBJ<<8%'-(QUJ8]\YJ2HO*-'KXIROW:M4//!ET=
MMXMKM"#U)L625Z9VLTYENN_\2G,(QC]PDB>#\>WS_-N#<173%-P9MR1'=/0>
M1R_[PU5R[="@*Z^=. D::V=!666^9A.%H"#L6];B+'VI#LY_,XZSK.[OA!"W
MAV/'E 2='.&>9''D0A-%4L6MCY=6/1..^T0_V/'F0MI.5$.;8TW*K\-&[ S$
M,8=P;[9;>LA,\+Y/0"Y+961YPS.$!:DV'0W"L6[GN4P*7N^.J5:S7' 4<2$.
MF&:5ZD^NGL@8SAF;(CA*4U?%C6+90M7)3_>]L@F>1@CJ478W9F"[,?)^4;"U
M6DTQ[R985ZHEK)(/F]WA>'QM_UT=5BIYJA(TI)I:,XQR0V)ZR;%A-X8PS%N;
M(3.L93GZ#Q/LBV)M:;56)0Y57 D=]L95S.*&R]:U'=O2=]=6@;=1;=7I1O/\
MK(P6A]"Q0:Y,X C._+**^R-FZ,&32ZX_,MS</MQZT//G?V^^[BHSD6E I@%_
MKP;<7*[O3V;B-DMGGN6 #6!<N=$/.P>7@3^WS#.>N+G?C<A_4ZCZD;,T33^Q
M('=.]>7WN?.>=NU9UP]G]]QH5Q;:Q0F&<FVA%73[DF!?.U:-VF..4:IZB!'L
MNF<OE5'4EQ+8\9P P2I-_*+%;(:BOP!%'SDF<S$4L7R#:"?K?$\K-<"\,D-%
M2,QK;Z!88Z/R>N((74VQ@PU+#U>[72E%$4SYT!3"$6^%H7\MBK)4SI50M!E&
MBRU%L(966_ORJ#,MLIW>M7T1085]L4B-"<P:+39T,>#&#7L*4023.0C&4 C.
MOK6%X6%+"?ZX&OK_&8OE?QHITTU;R^; 0P'-A0+.'3KF/<[A\BS>OWWFK"P$
M;YQVVVP\:>*Q"^(Y[98B%LM+<5AJ.<I.0Y59G2&ZY+7MEJ*&,T+!FRM-)/*F
MN^Y$?'LDP,F#!])YA+TDA<[0^1>B\W>78#\)G4&@<1$N>H%F;VF38B>=JKZY
M]J[(H=C6A%ZKS3HJ(3N4.\4:+;4%)P_6=F(0DLMV-S]ZIO2FF?YGH7-,%-1A
M;[8UG(6!]IE@*)?J5]^SW)!:V"Q?PF>2.,)'@YV[EEP^@9,'C[W3"$F^M3'I
M(;/8A[V.GW*(ZGY3!]=M[7-;!N<CVQ^?VXGC3I'S[;;^N162B=IF-!W0N"26
M)3L_,=@^P5][%TF_-Y])Z[K<EPQ--S%EW?&C"> ()&3P%(/PY%OG/#,,9AC\
MT*[(:V'00@V39>7*3+.(M3IMEOBZ-;UV#GU6K!7,HL\WM5*AT[ !%'M<DD ,
M IY.40A//\H6Y;/7E<HP^/'=DM?"X$[HH\FR["O.0J?K(A[QKE^[-AOGS95A
M.5A5E!:K7GTQ)\H=CA(@!F'! PJAV3^KX_H8Z7= #@PWYUE1+MC/^N/DVC^A
MNN1+:T4":S7VXY%K_7WFZA5M7^M,?["QL+;&6(YI.QPQ*RZOG=W>C;S8'@_K
M/H8NE%TKMGH=C@#<F(+<F$0(#$-H[JW2=!DD,DA\F$47YWXYWR\:N$94._/>
M*A#R!?G:;E*JLR;:I45.6@1:W1)B(G1C 4*"@I"@6 :A^ M&C \%B=/)X@P2
M/R6U>321+%0A:QK#5LJRVQS*C';M#$JE2%47ZVW=PF+?]/R&+_,,GGH)P!QI
MA&!9!&?>JDV7DL?_C@P@XW^.E\DQ> ';_,S&G?CR_7V(P4M"N=E>;.P'<R,+
M.)\W6^3[9^N%1,^B[WLUAF'6MX8Q]X.CQH8%.S1=/XP#JP.>D7=]TSGHZ0@N
MMAA4GJ\&FK@@MGAK'C;D!0"@!31Z"6X7!;%U :-YC!X.)N/MWM_DU[V!;0A5
MI9T3-;6C-*2V^M0V]8P&[A#QX*_:M\M^SCS.9\XP36"<(VL,K4H.Q_Z5\V'W
MM<#*^9-<]"H:2J\"L75N:QG@VQ9XQCA7L,PT\,V1.)*#;!?^2V#I'B8HYJ^?
M-K3K0>KM]^J &3O,= CFTK3L-;2&2#JW$V">W^MH@+-=Z!YM;J/!UBE))<_<
M."L/FVPZ9R=?%;GXPM6@H65"=Y, ]QU:W@N0 NP#^2N3)YP^N1%L#T_9" )=
M[D]K2AFW>@Y!<:72MI,L/$KX\L^EQ_[[7O;\8]_-8[[5T\2QTYLV&UAMM5C/
MJ],O_T2SP+).^,X?/GB&V 1X\!2"+M P*XR>Z5-N9+B&9UI0QY:!%<*$U7LU
M:PELJI[O!E:P[$1US'+-?B'DR$HY$'X_,??2:#\[?7SX2/&L'Q)N@)_ 9IG[
M6[?MT,EO\Y9GS@",G/3[QPN% XS:3Z/^]9TZVZ7UXB9B8(WMZ-65Q]5T.VSB
M<MNJ2@Q6JPWZ5I*DL_!=/XC?(&&OGM*T OB!,;7P)U5!B6>Z(BR!WUHKP4ZK
M3?UBI1/FF]X*Z,KK?>;_0FY2O)W$OV'QVCHWC8HELX#9F]%R*)9,O5Z:?IYX
MIZJL]>V1[CKV+E]FHNV@K"7 #+Y> _E7ZD)O4L+0;-VPC+5!:SAVUK61Q'C;
ML#1;SQOA,/D\&?=*RFHXP,H]QZC4.[.*WFZLA-9I&4.B-7NRW<=?#W0A9T0_
M\BL"_/L9>G%JU?.^#3O/!!%.T5'LQ'1>]-$H\GWQ$PU[W!QV*\U!4]>VRV0P
M*VS"SGSR?@*42?)F)&G69$G7Y3:G+7PMVHWXJ5Q13[KH:_CLC\C[MGWVK%3=
M;8>"BTM;(1@W<*8>"\-/]-GY2LU$AZ%<UY3N;K<0RA.?]X"\7R^.?([/_I"$
M;]QG3PG6"M>&%TF+:L-,;&71JKJM3\0T%<X6S:!$.<R "1>T66:QG7!:QK_M
MLS$$Q&3AT@(W6%ON]FNN\^SK:08 WN 8Y;TGR,O98>[_GCD_+82Z,GDL3Q$[
M:]]=Z^@.0X,X7,S6[7Z0__C"Z^LWEJWHQZ1YJD[#2JV[$49R#;.V=<S#^?$"
MZR=?_B%8!,-?\\#4;%Q8GH\0G%/CAKVQ*EW,(1J;CMC2-X(\^/@2R?OEZ58P
M8R#U.HRSJ$=4?M[6;=L%+H B$ XG3L@SA&;AE1UXRHK^8!">UAW.OSAR_ISI
M?X_M]3__ _XY?L]T+2. :X*SP\V?EO?@0PXK@ACVKXLLXD$]L8+CJ,CGNWKV
M0RRB#/'LO=-___?_>O[^WY<I4=-W_>#;<2WRV<!F^U0^D2Y+3BUT%%B&@QH3
M\.QOAIL8V_ P4([[2E#'O7O?L!<O1G_EN'_EOO\()^35;"Z,#?ILSE[L:=I_
MZ_A1NGYY_,P/;:AZWP++-:!6P7N_N&LJF,A??B/PKW"_TP+\>A@53GVE+B"I
M$YNMGBV5&"<6Z=(_Y0!5 >;K_W04\>0"%?P9  5@W/W/\V66PT=?_NFDGA+@
M#ZY[PC3HD_8:9\_ZGU+"XV"I]ZT+B8(L%"J"G%.5NM#>+Q%59/'K)=:%SO"Z
MLM*1U%Q'R8F*#-ZX4A Z4B%7K,B"+%:$>D[M@ \:DMQ1<X>N@+E_B_OE5&O\
M7S<ZJ*+2SG7*4FX@"6TU)\D%,*2")$J-O-3^V<K69P\%XND]8_EWQ=LK46?F
MQR%XV]07:5_5K[F"[P).&2* 6KA6"#Z'.V43.P1\TAO;IA$]E]#;=OZED3IE
M?2ZU,GSTWDW+"\%-!&^<;OAM^F$46)&][S< *(HUL:,WUXS;HSK*;FQ^Z2R:
M4[-0K,S$57MZ6VO&U&'-6&HTZ\I DG)Y29:*E4ZN61?D3UPZ3E^:?GII:;%T
M_:UEA<?H1_07P,1N<V""H18!?4H_;K;%G!& V,9?6X#9Y4;;]./O<@)D:V;!
MMQP#<7G[*^ ]W-PR)5,@U(%X"ZQI[*8Z Y0WF=GF++TMW+@"+(OANMNG&T!%
M"^Q1VL7N>/=]Q 7N:A[N E_[^87[M6T+H,^&OL-Z&AZ(LT9&"&X+OO/9N?A?
M+U7^3DQ<V,^/^&S431!+'B09-(S(G %6\>+O^ZCY=,1,K#;V#%/#KL.L)3QN
M=99*/ :4&']][/HI9#:62Q>8&3C%2V,; &L$)@0$N$!;TKT"J9BLS1(@&YHD
M,PZ>*<U1Q2(?_@HN."7Q\$FA$N/\(?(G;_3]B<A$,&4@9/&G'D#N^&2\8A#-
M=NSNG$0SR&10[2^Q2&H+0#@XPI*O2^T@EYZI2^___/A,M>*EN]'8!HC4&WRI
M7'6Y=MP":LS!ND2?$ZA_\L; C\\5,3>4B:.R*XSI)NAVXFHAGH=:12$D<R(*
M_LA^H5.1\6=$PA4O!\,J^.+(T1XA+^R.#7=6K&+[8)*@:W.-!)JC)P.46KC
MWX!IC\#;7V7UMFUXTWU.)<WWV)Z]B!?'_(DS%OC91AEAEKG!HZG;<X7DMSU*
MNO/E%^[D^>="^#W]JDR$)Q^@&H",VE98](.&!>FG6_$ 4X/YS2-]^\D>B1$A
MKD+76&&U$CV0B$UQ6\%;7_YY[7G0&Y" L7DF@9$\]?)5/YA*ANS:5GY8-PSV
MA8=X#Y2O+@%I3A,;*6E,L%Z"X1-7$!.-!I: ^_IZ>_P5]JF<ASE=8);+/CQ2
M."W&("K[B6X/:[C>3<2:(Z*3FF=8Y+H>0']T"_/ZY_;E2MJM>7M*_SPT/#W_
ME5%8+HB=#NV4YH4V%A+#M>HE7_[!3FAV9EW./_]R;[*J8R.SZ*"XC0OFQO.'
MT13._XD=<%?;(G67($C3)/!P<QSYP?9M,:S;E7*EVY5VCMA3*TJ#D*3B)A7#
MZ\,>&0PN(8%6.!M-*AU7Q42>"#8^Y6S%(G"QQ"D7"P/L9\%U>'ADRL 7>\\.
M2.W!M>=&AP<CN=G>'^4FT"'!M.!WF*;82A.$@'T?WOC9-U\O:$-"/(5Y'B_]
M.J#+8\"5S0CP8'@QB,W3W,HQ*%@:^\<<5],/=_X>WC\E8?:W-Q;['?3?R?;X
M>*_PZ>O?HW\KL.XU_/]MQ4MGYF3$MAFX07=.>&5':?J3*E_JH.XJ2?, %/8:
MR7>;!SCGE EN937)=YK2UIWUW+%L\]/J8<I.E!2\YXS &6>M7<6K[K"M;#1K
MBC'6=,NK11*F!DB$YD[D4<Z5&OCL$X57/A7WE,-Y6M90)C _87GA?J\$7'^!
MP@RC4)T9@96'R>OFWM2&KY= FJUF(QH;<B 9-5&+M$D/'=H'94P7[(3HC>MT
M>!E^6PLF]&'!1"T+;0G-"ZI4R(E*HRG)JM"I*/(G+YD\6[2K>+F&$9BS_?L1
M&,:\S"\98W\)G9J1"Z'D8/X;+FZL@:L$>$1R!\1 <.X](N!32S]\VH &_P"]
M+G"@R\!?^)&5?AS&I@G7^B"*+&^6$@#X^=IP8^O'Y1NX^F)[#J0$J8^V@M#W
M4NX0 8<*E.KXA;UK]^%:XO?%$O@(H!)A[ *#=W3ES]XP'=<,""H]? @N!N^Y
MML?'I[WKGNGF.#C0I]F!IL2/HQ :67@K\-*IY4L'ZN>F@!D R,&) '^QP<6!
M%<6!=V0:+][JP&0.,PDLJ9\./35/X'(PJ?8:W O)&5%ZHOJP.!49A_6N8Y'V
MWYJF&'"C7)).U#P>I\6$D*<9W\MM D84/1?G)(9+)QXL:_2##--%=_8_X!66
MUM[4I*M8Z5["=)EL::7J^C4'%%*U@,I!FWM42AQ#3H@*)C774#4]0,/ UU/B
M=IB^=+(B.$]F8 %KDWZXV//QG)>>C]NOMBT6<$$.WC<\+.$M#,@HP=N%P-)
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
M8GL1%%[-^_DN8:D[-E2.AO[*R6[0Z;1+;2TMR(652OH%-U4Q1Y%?CZ=>YI&
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
M=?G)<DH'JWG2K[4WK*DW1R$F;T0SFS$9=T[-Q!^_69Q,TNQQ2"*9,-::84"
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
M=P+8U.ONU,@-&-U8@YS0&\U^K55G)N%(F$_E7JE@+6I^,>JO2<;L&T\2KUY
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
MAY=K7>!60V[Q[)FT)Q8I@].L1C$#IN@1A2D;*M3QMV>P13@8U8::/)]4QPU
M;-N-3JC0"OY\)+[8JOU@5ACCDN[89;V23GFRJ##'(]N=IH[/6ZD4;@Q[V6:
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
MT="CU])''::X7M9J@C1<C84QU9NY(Q$./9KKL*]BP_8Z)5A&0$_'Z7&FP?3
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
MC<N5C9L(%CT[.MZ?R<<'QO^X!R?)_R:\">!+F&^X\P1@IZX3@B]"4:1+ZF\
M194@/^/%T)Y<R0G S<4='DX O-T10%/=P*]^S2_"B1[E+/-X 5]RF:Q)]O%6
M7@GAFD0- I/XB5Q6!!(40[BN&,(KR'@."+M-M19Z+H4)1IH;AOYXFR]WQG I
MHKXK)P%Q!X&"E]C.S $/.1>QN?7*\_=B:F_OO.PP _</E,NVU:;QCN#-A8V7
M=?);L:^-&%ZAHK8IS)FM+4+3M3H3:.>^;>=N,51Q= <T"EFHCUGNFVM@^!<:
ML[M@649[B?82[>6W[R5RWO_DUMOSJV[P'V]<=BNOI_E..1\LA8W"!)G<JNV:
MVU"AXIKV+_CP=^?"PTS7Q9-#"]/S M76#$@,-&<^![+I38!P7*M#?Z&:Z+H(
M,-IQM.-HQV]JQQ$!^7BPK[2SD8U1-K*0DN]HU@D.0I!#K5@OEK>XJM;R\\7
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
M:P@T319/$Z&MUVK+U<C,34MN<<S^P'/HH8%UT%A*.V%GNB:GN6G)+>',X_A
MF&YX>W)LB+T.RXX<\ !WU**5:,JVM;".F!$D[30D_ ,Z!Z9WY&+:"@>T/19B
M63T:?<G(AFB8%*:E4OOU((N[ATF?MV4T/J!':12#D0^_)QC!<A$($S=UN!Z)
MRKW^&6>PPK3DELEEG:'(#*<8/8JY'<MF1W$&7M8=R1@+/8NM3Q>1G,0=%\T6
MOI.RK$+<D8PV$Q'HR0HPS+,IWJ+P52?9I;EI63*F*NMT!HXC]UDJ&=4W4DT6
MIKEIR:TC,1^X2V7HRYE3=X_L*9WMA.(!2FXY2D]VV($VP\9HO1F<A_&2EDV%
MN",9:T[H]K+=<B:#9GWBZ_R@Z5G@6>](AD"3;%^;;=>.ZIWL4W,W[HM+,S<M
ME;IH9/YV#Z)'F5N&]01?[0_#W30W+;FE3E6Z/5R2NIS,NBWAM,>HI58\0,DM
MPC#(.B;;!.\UI/EA>9"T]@R8W@M5:L/3NNV<"2<SA)!:-SB;;@+3.Y)AX>MQ
MW8\&'':0.MUT/=3Q@#)STU*IBM *V*AY[O&'S0:X'2XY>5J8EMRJ8=TS-VRI
M'7[1$KQ50+O+#FC:Q!W)6)S[T3"6#H2<N//]D;970L\ +^N.9/"F.-D9^/B,
MV8,A,5/0H;S50*EW)"-EAAU_OY="9R%DYVC.)WZM79B62O4.5(2:_)K'DJ;&
MFW-IR7E,85IRRPH4UC#DI<PGBUF7#A+9'A^FN6DY8G*\2%$WAZE,^[81U&V&
M5D$L0-R1C+I&Z)$D-TW9KLO\05^=]P,:F-Z1C#6C[T)JPQJ8ZO8RKS%)! Y$
MEL0=R9 #>3X+/4O"T!H_3^K:A*%FT]RTY);1&8U4;NJZ\J*W\T<8.?+(EIF;
MEL>M3<.9]/KC#B]2AX1<H_QJ[8-2[TC&3L5:6-#66,?;.#$VG"3]\19$UG<D
M8Z@.ME.UAZ^<Q&0<6:"S10_$ ^0=R3CV:KZSG#>/3H:SRUBKU:RVS>:F);>Z
MQPUZQ-B6R(-AKM[!D^-^KINY:<DM1CX._'TOF,A$Y"RV=3!XQR%;S(F7>H$'
M8E ^"Z<  VK!\91FQ@ ,>^0=R3@'V9!J]; #3]2MD[Y(>*;+3G/3<ALX'/LV
M?51#/JL[K:8C@TI;F;EIR:WV4C_O5'<N\"CO3TT<\Y<=OC MN36W7!8?-H63
M3(#:[:[W?=P FD7>D0S)',HSAJ)(/F/)$3_3AO71"+AU1S)D.K.TP:%A\FI'
M%\5IYZ#M+38W+=>6/G3K0I0N^2R8NM*F3V(L&&'(.Y(!&NJDO1,I'#,:W9-;
M!V @-@O3DEM+=UW?-^K[%$1OV\;236VT1X#W>D<R GMJ,LW%?L[3(=^;IFV7
M76R!6W<D8Y3N!JF A2 >.*VPVEFH9^U)85HJ==(7'-&CU"W6SRR>CR>9MD+9
MW+3DEH3B=&]E:D?9<'C?3CE_V1I-<].26^<XZ_;4#0"-9!^MVL*FKBL B,@[
MDI$>J#6^Z%%[7MV?=L-%9V<?5Z#4.Y(QF8R$<QPN;3E+-JD^BHF!>&!STW*I
M=?0P3%&)YQ<UAK.5=IOLV69N6G)KEF#CCJ=1,C;&^<9T:DT9>U^8EMRJM:0!
ML1$'!XPXAN=A>)Z.YQHPO2,9U*Y#'Y06GV'VMAU@_=1MF(?B6M>26Y'G)J>U
MD "*\ 4TQ*AN^\1,KW>=OS2EA[6^W6^>VK*-^2>&6Z$>E:6Y:<DM_,A->Z0S
MV<J'=;NV/JT[2DV]W2O[A1+*DW.\\/&Y8Q/F8-)91KULS2K4'<G09N!AVUEW
M@7$JGS6.C)"UE.)"K));C1GJ+M'ZTI0/O<7"SN2.TC)N=V=]$>RW6%-H6HR*
MT7M,X'L]?S?("M.26[3=(L=KOWO .NF6W9O;N30ZF=?+/UZ:9NGP'-K**>2Y
MSK&^$WH^UL5!J7<D@^,-EYBD5I/W/&MB[3,LZO79/#5CR:W>)J#5W0Z(FK'E
M]A[7!DZ>V6O.XR_:@-0\VD*,^Y@=R%/-E.GQX5)JR:VDUW!X?1\T'6\A-1?H
M"EO7,O.:&_*E*8F&5! PS3,F+D8KC3]G=KP&IG<DPY]UUEPM/F^Q#K\=*&VS
MJQAND0&GY);BH+OI.>J0V,%@,:\QZA@A=DN6\T7%NOT9R1WP'4;K,;<>+MNU
M>9+FIB6W%LI&V4\Z+9*G^R)^$+JHO^#,:U*"+S5+V$Y&6+R1Q^D:ERRW;G:B
MZ?5H\1=@@@VQ(TGM%'G!'!KB\DP,5DOP7N](QL#O+AM\K<TX?2E21)0Y#%L3
M,S<ME=JM=Y)Q#Y,);'&LG36,3OLT5I1:<@NKM8AFG^!7('B:LVMI=B!;?IJ;
MEMQ2-QT)^-XV'5$@!T:?V*_G0%VH.Y*!;IL+LALT<6P\]--]AR:&.ENLY9:5
M,)!8>H/VQHYQK+N3U6Y^'H$.4[LC&8K$N=U%Y+5D[G!8N)VI$0>@$=;N2$:2
M2(>82G$/(P29;2MUN>UP['4Q^8N9N?YVS]0HG987Q)*2%R)!4!(PO2,91YVF
M46[I#?E^:QJ/-N?Y:>X"TSN2L<'9H[WNCV094!<_.H4.F8(QMG9',DQMUCTT
M3P'#B[2Y:SO><ML4BE)+;O'VMHYSL9O*6>TPY Z+,3_KIKEI>3@^8/KTJ+@6
M;YP:(_' ;5MI Y1Z1S+2X:F#JP8V=^B%0G4.[5@P/5 %=R3CD AK<<QCHC,F
M(J&^'Z'UA"E,2Z6>L+ID9LEB)6?C_F&MG'5G,RU,2VYMXM8JM(E$QL PR,3#
M;3#LKPK3DEO&(IRD0G<*0EVS,^C6D]8D!,-Q[8YD#+9JM&FOO2-VR#JUQ.TM
M"*P+WL =R9AVIN>CB'*FPRV#-<&RPX.7NW5',NJM87_/=>T6GR2N1^Q[FD2%
MA6G)+?W<,6FF'?C.HK$59C:*C??UPK0,)@3*-P79G&!H9/0(?7ZJ'_,.<T<R
M3AV^L:,Q?X,1/:MSU'"F86V Z1W)((*>#SAORSB+H]'7G+D?+19I;EHJ]=QK
MSV@"8)%\V"OSEC_0]IM985IRJ^\=<2EUSKR3H:+DGY+3%D6+!RBYY6*&JT4]
MG9 ]?S5?$Y8D3([ ](YD.-U5CQUFFPX88U,K/9OAVDFG"GU',K3X5&-C=3S
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
M;OQQ[#F<TFO@$K^71*?JZ5Q5#_C-8,)$5LV40%4O<YHVH,,/GI3G'=(A[P(
M#&T-M ,D4N&U'Y %*\2"+4.[I' E&+B4"%D0LB!DP3==2A2%6W*=6Q9TR= L
M/W #\-$G,5E;0?(SP@4/GXLT.PA$Q ^#B),9!^$0PN%W7TF,[(OB7 7G26_$
MY S4!FC-L^PZ$TVNXUW&D9W,'3>XK7.:SD]57TE,NH:\&0NK,88ZG-MSVC-B
M;IL*^<&SZ[Q#5H0KB9 >WQ$]/EX @C?@2B*D1TB/D![?FAYO!QRO@ CY$/(A
MY$/(AZ^VTQ00EU\4I+I78+SF8QW8'GC?MQVG41@K''BYP'ROAG$V M3W@CF+
MXB9Y9,]9MJ\*OG9#3)NR,,7HNKI#Q&1_%&[-W7A7[5.0.WE7EY,]GLKT;'OT
M9J,FR7"I0A:)=)C&0ZWQ01'SG9^#_)VT.G&HZO"J24B:%2+-XK1CL42)P4RM
M$#(A9$+(?$/(S'_SBSM ('%"XH3$"8GS=58D@8<O+ONX+$)> 5$-SIEN3A4)
MHQLU?U;KX$T_K/I^5:RYW:K2''7X3FNQ5/DSUU M4R$_>**<__L05 A)$))@
M94A0]8O#BQ<8A/="0AB$, AAL!JI;X9 F[8@?DGRS'+(IT$29*IO_HSDL_MP
MJRH$0PB&$ Q?:RGRA=9<E0;HS)41UZ@@DZ:W/O$V(S.JWXF365CU?:IABY/'
M-"NKLG$>->F>9:+<&3#B!\]X\QX9\:GU&4\;5;U 3UQ09+Z&F*I;4/D0'"$X
M5@4<;VEO+JOUE]PW& WY$?(CY$?(CU7D1\X",5UD)>\;($M.(R^J&R(C1$:(
MC-\?&6_B\FSGZ9#:&%Z#.)G\PN*SJ(,Y3(M_L;!8JQHRGDQK?*B1LH5YFF7@
MYL)L[F16(3]X&ISWB(R3$.#AI3M\28P0$R$F5@43+]<V7B 1AXP(&1$R(F3$
MM]YPRAFN&\&T-Q ,(1A",'RM3::%J+Q,;Y,,V*YN[VP&ZZ\Q=Q0VG6AE3"N^
M;+B@+6*:2?8 ZZ3=,9%UUKW&P52H#Y[>YJ,PH)8W0TB D "K18 (04+Z@_0'
MZ0_2WUN.F)<DA(BH^EET72,$49$-8K'GF5'AZ4,(AA ,(1B^ AA>!.=1;Q[E
MYDEMN.#9643-XF=\5S_RXZ,[TU-+VM9G9J63U6RC@3O<LYT]KVY[L211JXDN
M 5PD("Z^!UR\+!DBWJU=0G*$Y%@Q<L0O=VG@D!PA.4)RA.3XUME0O]A6V@:Q
M97XJ\;U#8\GCOY:'#\+?^^J!$/Z^RZI@>:?H12^>4]^F/=^9W5.P=SKM0SA,
M=4KL955?)DSJ_8UL;[V-@XX;MB\M!^>F ;@/9J"I'/>]'+#RXX3%Q8E/$'@Y
M75C\!"X?0@BL% 0.U0PABOLP< H2("1 2("0 -^( *]'?!#),).BC-ML/EP[
MA&N'$!\A/KXV/A:"D^1R SR]B<W]E<,^,VQW];$N.7:?XJ=IY)V;1-4SU"AS
MFT@XE9$P8X8.^74:*]IJJE P0TWE&')F1(8::E8!B?K3O8J?\YL4;ZN*+]"2
MG[.W&Q?!HZMFSIY;V_4@7$*XK I<BL8^OERY2$#"A(0)"1,29C4(T\VSV$"4
MA"@)41*BY*NAI)44PO+RD&+SE.K2U%5Y7NP/A]N=$YIRN^KDN)JQ@Y9("J1S
M(/FY?5*ME&T"<H2):BI'CKW$OS3^37"Z+#$&OF]H<1 BX14J/_\Y44)JA-18
M%6IL&=H5&FE(C9 :(35":JQ0UE,Q\8W+98J?FFH0!\G[WYI:,>V"(/F1:A."
MY-_.@/HH-1>A><F5\_6ZO?#'W1UVX.5>N!RNM='B1?I3IFI4*5!I;#CB@I7'
MO?9@W5\=U-4Z56HP]4WEJ/+>64;PA4$,2?'KFA[$Q.]U?+%>0"),? ,A$4(B
MA,0W/+Z8_^;E'FRD]33?BGRZY*B F @Q$6(BQ,37P411* @1N'E1G(O&/-^Q
M>G!'Q$;*-,Y9J/'"2NM-,5&KONZXJRT:]#A$U\[A)#"#M=-QIGU B$6VFP8$
MQ.H 8LN(P&-]1@P??&88Q=%'T+2C.'RVM @*!:V@& 4?*7(?I$:8KT'N# W2
M)%QWK Y0/JX[7C+B8 V(E! I(5)"I'P[I.1=,$B&M@9<1,3BY,>GGJWZI@AQ
M$N(DQ,GWC9/5H<G(?B8TA<X4*A-]L>08<EBM.S57+I_@A\ZYL_=(]I!6'"F[
MM#_3NYOHX-@:$1.=C#EO:("4,)%.Y9CR^6@'=Z5".JP4'?94/P%*=5MOK$,X
MK"@<5L=?R(+5].Y]LN#P<OLP\JFEMHT7&5'A!8N0 "$!OD,"K-""8F1?]:6E
M;HV7^5-3AQ(=V=\9SD%*P<MG6-HAJXY]9]O1=T[BV,[BH/";U501Z]I4J16Y
M;VK, X4WF(^*?LC_O4?Z^_WK,R '0@ZL# ?F"5/QR\%$!C)@11D0+A!"*/PA
MH+"X%1OYM%)]S3(^PC49%9,KR(0?J3;? Q-6"0D+=2FT17V)A+-N=DR<PZC&
M&WUEV68#SQN05;]2HSMJ\UDRV^P< QMA)_8X(L1&JM2*I#8,^4!@-/F!D?"C
M,&%QA08"D1 B8:60L Z1L-)(6!U_(0%6T[OW28"/1X"03VO+*/9M00J$% @I
M$%+@:U#@L^LP(OM1:X#2[.POF+"UVF#:.<,VF+C8].=<1UZP?M69<%3O+,C^
MQ/<=D3]E'A?)R\T^56B8DJ9R+'BI]^(PH16X^7=!!H0,6!4&'&MQ\'1V$'(@
MY$#(@9 #OQ<'_FZ*4L"#)_M*A)>]HI_R ,P(W0QQ0&OT$35"7NPN??X;%X;\
M&4(DA$@(D>\/(JNXO?0J+\_!<=Z0NM(Y:*M8,MM+@C66E;C%5AP<10N?8L;N
M)#GC5D2R]<:6$4^L0A,0'*L&CG!C*23(=T"0H^!X23]#0H*L-$'"S:40*7\T
MI)Q801P< S=6;0UY6A- /@V2((-+CI 6(2U"6GQ%6ERH6R.\:LN+C:=K$V7/
MY(B2#1U/CIOF=*TTS4K?>M&1>HPH-%<+QVX3386)Z&@C 5*$"6C>!2E>MIOF
MV4S3O$U"9(3(6#UD)."J(V1&R(R0&:O$C$/53[8@IDF*Y."?)$NU73".0E3\
MB*AXJUW(BY 7W_32Q!>J<VN5+_.8CCOHWI":$TS.I*5?0P^-T#^]6'"L5PTB
M%6S:8.<[;B8GN)29,K:TK#!5Z"*=3:/QT,C_1T.4?"<H"9<?(4M6EB6Q@B5K
MD"4A2T*6A"Q909:<VT8,@C (DA\0)*]U"SD2<F1U./+:*"\8>:7(^CJV_'6C
MP<ITS6@1];K66K>K?L&B[-E80"O.U.&&!D]C[5X-15F%KL/%R/= D) ;(3=6
MC!M[B6\@1 TR(V1&R(R0&2O$C)]DD?T9$7P-7I#Q@?@05"ID0\B&;\J&H T"
M6;ER8+_C4Z05#":R37:&-MXF\ -6];PWVH#!:JEL\TY_VQ S<7"DMAM386#>
MF\IQX.7>WV+54 T=(\XG0 $00A2$*%A%%"SRH&)P)RHD04B"D 2K08+\D&>1
MCK?I0A#\."#8,4! [6<0!B$,OBD,YN*2:\L5![&C-!FHDUY+[I!;Y4@/T.V@
M5_5EP=#J)[1 A(+#!<UTH(IJBUI.%09FLX$X^$[E#N+@6^.@:.SCZY;2@@D;
MD DA$T(FA$Q8"2;LJ?E[Z#_TX>K@!X+"HE8A$D(D?%,D+%IAOW_+67-L]SB7
M$ARL[YT;@4>NF<FJZOE-.^;Y:$_K N.()V99:X=BPSRR"@.SUD B?*=J!XGP
MK8FP6"#$<4B#D 8A#4(:K! -"B $#/TB]%-=9&![H &^4BX3R(45X,)N (*B
M?O#\SC#(AI -WX -7RC-) QVAA9W+_?9767GMJ]4F9C[Q?C(8/2H'@?+/85C
M1EIQ;%S2_K+'!4>)IVM+,0H5,=4M@(TTQ$:(C>]3""$VOC4V#M50LVYG#''(
MC9 ;(3=";JP$-XI!$EL(KT8QPD:VBDQBXP%FI/E8["B"TM5]$!KOE!U+#OV_
M?^$T]BMDP#=CP$(U<M'(-0-(QE-2F6 N$.$IEH;. NUP+MW=*3I:=>@C&\JV
M$]AFBF6CA<+$89]A)U.%@4EE(/2]TU$)0M];0]^SW:,-"'X0_"#X0?"K$/@U
M0_5LNP@7>%X>.'U&! \@0EP,K?RI^"L85Z^7)ZJ^X480"S\6%EY:P#MEPHI5
M*&3)O\V2EV9XTZ&+"K&^?M&@\;:PN0C0R^7%T-O'<B)Q';E#!_8Y7F\G[:3J
MYQ3K++%4J0X38&K?:IR6._#H=*K48=J:]T*:+_*8?BY^?OG( $W!S/)_)$7U
M0Q:%+%H5%GV\&P.G"A0E((I"%(4H"E&T$B@JBKR8)SO].2=,")@?!C!AIE-(
MEV]-EV)D1,4':IY'^8J.IQ!'K3&%[V7[%$W&J:E;,[OJ&4]=K>4RAYZ#R>IF
M-)W7[62@MEFE#E/<5 X=I23T'2-#-FH,ZA8P81R$H,J1V- L/W #B(D0$ZN(
MB3W53X"(72F1P" E0DJ$E @IL4J4V(>4^,$HT<\7=9 ^^!(]@-<F0F!\XZLQ
MG*?-K(IEB#C-M)=.=HRG[6R=-L-3U9<81P3IAQU7JLN>:&;+*)%1;S-5ZC#Q
M3>4X,3]*Z[J&%B>JB^S#8 \>-T.LRV%:"(80#*L"ABU#NZX?%K=CX##W#21#
M2(8?B0S_$ZL;U_CMO[I]_*</RCP\/2EZ48%?GGT"WMGEG^#OEI&W42 %>,/P
M?MT'D9U')+^$QB4*NBD%AOT[=_?9LST-W*@6N$'XR[^PXG^_WDK,*Z!47/'5
M#S3XJFN+K#V DC=!J!MA'A(9C^\749,X0# $R[_W/^"+;W^^3C5>VP;J&EOP
MK/5;O[5]4%/Q+VCQR;/0.?^/?@R<_Z]<[[?GX$"SW(0V^-ZNX1Z-O*GFSP "
M1O3Z(+?#<^4_K^T"$4'#MK?@-_T8B6X!JPW<2^W8LGTDM@P0=8)8)=\-Q8G"
M%<_5T$ LP]7!ST&]F-:S'W'!P^=B\W#^&T >M,L/\S@G^NX4$(6QPH&& X+I
MO0K"K1&(T)^A0&1S("2++A>EW]:+VL/6)*HUHZ'36=B9B..8U&R\.-1&58H"
M1FH8*M3IM)%WH[TC=R*.[O467>,@IS_]QC0>:HT2!/P;,8I'08I1(WI9MX\5
M>!&-RZ^.$@\T*>W6,9YU3LTUU# ?_ZTO5(#,&_#+/OWJHU[^PHSPUGM([(DY
MK]VGC3+7B>VG;OV___-5XO+,L:O.$$5G-@UT$QJJ@ZIY[?RBNJF:1;=@K?Y
M4(\B@[UXL-I#O?YOY.FO3V+S[&D\]80^>V<OI./R6[>/BJJ[?582OY^^*/51
MC G\@?Y"CZD'ZAO4%/%'JO9?M3R2%77[$V*%><?^ES3F[HYY^=]!@P2]S[U\
M6WKQXOK13[])^=!6M.A<)_PX>AP"U<LP^(T;X<U9ZLG9S8MOO#[P!@AB/N_)
MCMB6P(X0<3Q@9Q=Q%D8<Z'R;*C[N:"SQ(B*-$6X\ D\LM%B);R%M8<2..($=
M(*($/ACR(TE$\@@$)WY%/N458?N)H?]<4:?:XQDB=7EDQ;,S$>%'+>!2B^?X
M89.?(21^@:#+(EFQ!3@?6KZW*WE_^AI?/@G^I1%)5I" 6$ OU%U^$!^05N "
M?8\^@U'7-2+P.1C<P]2.# 2$(B $B)_7T!_K_$N1NJ<^8-C0+O5>#-"7^:J-
M0HD$*D_V X4WVJL)8=/3T:K+*KDI_FH#Q#\+N%X]XKH*T!<K'$/53[9@/$["
M?*_Y)\Y2?3.RDNL5X&\3+OW^I&ED#R^;X%OJUO!-+GB:-_V3&.OY=.L+GV\>
M/]NJH^_6YL!1Z3IONYT#(6?NN=,R*QYZL<>:Z*2D,'&(X<E?GG=M?2V T(NB
M'QCR:T.OZ]M%/K74-GB_/S]%89\1%7$O9V&0_/U>GP_9@HCE\[,8&[:N[].Z
M\N_]Y=*<BN2(H"D!,=#9VX&ER:6.[K<5'5<2VT)Y3>:<$6EMG)D_6)L__4:4
M)^K_C406P*P(4:-R"RB&(154/9#T# U H]6?\"W[G7C^ U5[9%].B@6I$7*
M4Y_O]Z.7;":DW?D)XXY+@[$"K1&Q+_BM]D^JN9,?_5'=/ZSFC.OTY)-D.S)M
MA8U:$]6DG@(D 7O :.9/:MJ\E/^BIF'%55;]72K=QT/:MYW$8#:'S5#R5G7V
MI]]JY -QKZK_HOJ_8HCYUZ*B(A)ZE5#H%OX /XO9EDH+4O&$*]77\N'C+[7K
M.S-)&>^(>M1-0Z=S7!,RAC5"_>7.XPHV:+U!"]@X'9PQNR[MN5U=QH4N&*)J
MS /^U>',I:(_%2_R[X4SL+7\O=;RC\*3I+7L[<:;*2^+9_N@[;OK].@ ,2.9
M!_)>W?\ $<K?K^+?'^AJH^U(FK1XG<]6PY/$V=G4B_[R0/>/(A0]8O &&QXC
MK&_VUA$QZO1;XR)"P3]&@%+=>OO.>JZ==@MLG[0Y!\6WS#8\&/X:R,IO%/%0
M_^H Y??U_'&1X/EL3U470-_=V@7^JFL75Q^?+29</WF^EO!LK8#$[BYX' -;
M_YWUCJ?UTTV@9^#_K-AS?_O_4$L#!!0    ( #$P4E4JIB&U. D  +DT   8
M    8W-I<2TR,#(Q,3(S,7AE>#$R9#$N:'1M[5MM;]LX$OXK/!?=)H M^25.
M73D-D"8I-L#V95L7N_>1DBB+%TK4DI0=WZ^_&5)R9"=-G"9QVVL*-+;X,ISA
M/'QF2%H'_^IT3O.4YA&+R>^3=W^06$9EQG)#(L6H@=(Y-RF9R**@.7G'E.)"
MD#>*QU-&R"NOM^=UO5?[G<[A 8@ZKOK(/""]KM][Z?>[_3[I#H+A,.@.R=$[
MLO-E<KQKFY]\.)[\^^.I&_;CES=_G!V35L?W_QH<^_[)Y,15@/P>F2B::VZX
MS*GP_=/W+=)*C2D"WY_/Y]Y\X$DU]2>?_-1D8L\74FKFQ29N'1Y@"?QE-#X\
MR)BA)$JITLR\;GV9O.V,H(7A1K## [_^=&U#&2\.#V(^(]HL!'O=RJB:\KQC
M9!$,NH490T\?JM?:7'3F/#9IT.MVGX\+&L<\GW8$2TPP]$:CRR+%I^FR3#K3
M L4$-7S&4'9#:B0854$H33I>'^"ZGD7=+Y&YZ20TXV(1O)CPC&GRGLW))YG1
M_$7;E<"G9HHG+\:VM>;_92 :S#/LPG2HX%,0CKJZ I[' (U@L \MW(0$T)C@
M_U[??4$5PA45YLP:&TH10^7IW[^?O3F;_/:LM]\=]_I>[\ /82J+1U \ EV9
M:BAZFV['3!F>\(CBI))P04S*R''*64).+UA4XA23#PFT8&J+:M]I?C^62I<4
MUJ^1Y#.+T!(WUX-NG\C$FO29JI#F3'<^7 BV($>1P9I^M]M_/*O^4VJ8V\4-
M9IVUR>>4SG.R\S>G,BWI+OFS;)/(.@5]04WPN+HU,=X?>;V;48[R:DUBK@M!
M%P'/!<]9)Q0R.F^.@!2P(AYEN)7<[WG#X56)][+-/:*@()<JHV+<1$I5U#KL
M>0<^5AQ6'V<DI8!PQ6:<S8'&3<HUH7E>4@&%A52 DYR\A>X.4OUNYRTBYYCF
M-.80'SY+014YRR./["#0?GLVZO>[XV.90?18V*?>>+=-*(B%(!/#&+#*CO"K
MC3GOI4=Z"%'% +[56 2'\8_&6_7]8+@MYP^^C^_[:[Y_0[4-W"1;D/-<S@6#
M"-]V$*A\'TM0))>0&D 'RG. QH*4N5$E \TA\%L? AXHR>!)<8!-0I%<%)$9
MMY1DVUUID+.(:4W5 IMD])Q9FEK*U% 6@S(PI$ K:AZ+N()D!9I!^J)!DY@I
M,D]YE!)=XI_+_G- 5"4$#<BXAJ"*D=BE-XKI K@21T>Y!:@F8S!S!MUB%PB6
MT_"$PP?%X6!3'#*2\!P\C:"Y]"QP20[-D3(:]3Q/4+X-XSR/1(E, ^AIN+$-
MR.-*+$@!SD?<(IXAM5T"L\*$7AL:L!_;I*N-+4H!#0"-$B!CA]-6GXCJE"1"
MSG4-U8H"D?EDXI0&%=L-N.E:DRNJ/B'N01&WMX:XR:5[,$+U7HYU!:@J]4":
MD"[KLXX[(U0QBP_P-P\%0U<2!J ,!=<I-L=F&5 DTB0^PT1%0NH2^B%Y*BD<
M4 HE8><%Q9KL #1B!D!S_C^]@)U*#ILLS,X^E8+I*F4>T$YON,-VW2,*Z0UC
M5[1K97),'W,'51R)((TU$.Q A5K=;<CDZI )#(FVKR <JC&-V&:NYK!T'6AK
M0#\@<*^7N WD[M#=5>B>, W:@O=LO+L=9&T,Q1$M]>9=,":&#&!2C>2BK"P5
M" #BFG%MN1!:L=S*P3S]DD6;3.QVJ8"[*LQ6B&E7%(TU'.@4%-%2\-B>).@R
MU!QR2\51>^XR 1L8<A13:HS.=K5J&\HM<\+V'[2!#;WM5%! >U1"9@IL#S99
M#2ZC//1P.4,SU8%O(<.&P,G0G\7;Y.!?!<WAC6C>F,:N@'IS MP8V[ >9CQ&
MTJ=:YA0YGVJ .V:>4#BE*JYA!2CG-.2"FP4&_^N&Q15F$6C!Y1;'2M-&YFI#
MRT5E4%&J L"M;;(215+%5@&;PTY9#CF( (Q##2MP\6 3R,\=CF&1\0(X_0G)
M#X_D: W)IS,J2LM?Z&:6)'@0,P,'Z?6$<)EQ;,#$[O'Z'-&B%CH"D6J7AH:R
M-%\??I-809>M&>;8R>U[(Q+6V;M=B,Q- ^@S1N%/P'MPX,7K%.K<>A4>F)E5
MV9VMN0K .[ F1G@91:5"!%R-J"O88&L'2+9S2O4R14#"L@AEL65RJW/%L@O8
M[Y\S41T+K+5OW\^,;4/R%]A9#>^_L[('D'&-XO8EH2"_95(;<" >D#>X!9GI
M#LG":O*YU(M" FJDTLO@; M 7I9Q8QC[&F^'$F(_5L8<-+,2=@#%L!0TTC!\
M8@)<KQ#V3\E!<30@*7-[.J]WGW9*C[]3.A*058&^]GH'=,%M;\09H*,*K,L=
MRYS1<XR4+LNRL=+FA_84LS[FN1/FJOV%.S2XAMEH#!TU6Q+;]?BL4DIH#SB#
MS*_M8K6&0*W+##P*<V0MJ8CVVM.PISB\G:W,$83;1 &%M,'YS%(>P,<>/5<X
M:[M(R/.9%#.&X3"GT^H$754LR;)"R 6#VGDJ'372%10#ZNX?SSV+![QPME/\
MNH5SC!?C=IM3S6((B&.J$TDA:*%94']I3AC>"J=N9O"B&L<%<U:OP7%25R_!
M+8QPJ [X'7+6@)9&CANWW*B*JO6HY/><GPTF&T*#W:];_5;=9H;!):*B@HR1
M125N#P#RO'D?7&E2WPTW+MT;X^"\X5END/(8(+=\[LP5+8(0EO1Y9P[3<^M%
M_K*>AEJ*TK Q_IK@$L"UM0^S-%>OO:^L"-<0*G&7Z[BE-K!UB"#J#L9+3!?U
MCQVJOR:V<W_;?.][H\%/,-_?8MK@E=?=^S^U;>^5]W+_)[#MYU@GOE%(8)O-
MO->[<>*W\*L,&.8$0I3+26O$+$EVL ')[GO='\"(#Y"+AQ#P>J,VP1^AK=AS
M[Q6P'1M6T+@I_M8QM_3=WNV^&W:]_HV,_8/;_:NZ]@%RG^V8_6;Q%6+9Q(*A
M-WKY?%QEHJ$T1F; S!?$WA:19UW[[[N;Z&O_FM^Q/6'TI\'H8[*/RX@K"&-6
M\^/A]SW-UJ+_AKGP#VW5TXI\6I'?M$?=CH43?/G@FU;=]];\JS^/_]56EV\/
ML>JMWV/O3;]A-YHN#]%"&IU/E2SS& _TI IJEFZ\:K):46WS^Z"(/9>MGFM>
M;[[B4I4TWW!9?W>FH%/6<0<"-#%,!70F>5R!833R^I?1Q)5U[5&&>R?'ON1S
M^#]02P,$%     @ ,3!250T.6!XY"0  I30  !@   !C<VEQ+3(P,C$Q,C,Q
M>&5X,3)D,BYH=&WM6VMOVSH2_2M<%_<V 6S)CSA-Y#1 7D4#W#[0NMC=CY1$
M6=Q0HBY)V?'^^ITA)4=VDL9I$K?=I$!CBX_A#.?PS)"T#O[1Z9SE*<TC%I/W
MXP]_D5A&9<9R0R+%J('2&3<I&<NBH#GYP)3B0I!CQ>,)(V3?Z^UX76]_M],Y
M/ !1)U4?F0>DU_5[;_Q^M]\GW4$P' ;=(3GZ0+:^C4^V;?/33R?C?W\^<\-^
M_G;\U_D):75\_Y^#$]\_'9^Z"I#?(V-%<\T-ESD5OG_VL45:J3%%X/NSV<R;
M#3RI)O[XBY^:3.SX0DK-O-C$K<,#+(&_C,:'!QDSE$0I59J9MZUOXW>=/6AA
MN!'L\,"O/UW;4,;SPX.83XDV<\'>MC*J)CSO&%D$@VYA1M#3A^J5-I>=&8]-
M&O2ZW3]&!8UCGD\Z@B4F&'I[>U=%BD_219ETI@6*"6KXE*'LAM1(,*J"4)IT
MM#K 33V+NE\B<]-):,;%/'@]YAG3Y".;D2\RH_GKMBN!3\T43UZ/;&O-_\M
M-)AGV*7I4,$G(!QU=04\CP$:P6 76K@)": QP?^]OON"*H1+*LR8-3:4(H;*
MLW^]/S\^'__YJK?;'?7Z7O_ #V$JBR=0/ )=F6HH>I=N)TP9GO"(XJ22<$Y,
MRLA)REE"WO$<%@FG@GQ*H 53&U3[7O/[N52ZI+!^C21?6826N+D>=/M$)M:D
MKU2%-&>Z\^E2L#DYB@S6]+O=)W3&?TH-<SO_CEGG;?*^Y G+)S#G-)^T263]
M@6Z@)GA:M9KP[N]YO>\#'.75FL1<%X+. YX+GK-.*&1TT1P!5_^2>)3A%G&_
MYPV'UR4^R#;WB(*"7*J,BE$3)%51Z[#G'?A8<5A]G).43AE1;,K9#!C<I%P3
MFN<E(%ZQ0BJ 2$[>07>'IGZW\PY!<T)S&G,(#5^EH(J<YY%'MA!C?[[:Z_>[
MHQ.90>"8VZ?>:+M-*(B%^!+#&+# CO"K#3<?I4=ZB$[% +G56 2'\8]&+[Y_
M3-_W5WQ_3+6-V22;DXM<S@2#X-YV$*A\'TM0))>0%4 'RG. QIR4N5$E \TA
MYEL? AXHR>!)(5$F%'E%$9EQRT:VW;4&.8N8UE3-L4E&+YAEJ(5,#64Q* -#
M"K2BIK"(*\A3H!ED+AHTB9DBLY1'*=$E_KGJ/P-$54+0@(QKB*<8A%UFHY@N
M@"9Q=)1;@&HR!C.GT"UV,6 Q#2\X?%0<#M;%(2/)(OQ>>1:X)(?F2!F->IXG
M*-]&<)Y'HD2F ?0TW-@&Y'$EYJ0 YR-N$<^0U2Z 66%"KPP-V(]MOM7&%J6
M!H!&"9"QPVFK3T1U2A(A9[J&:D6!R'PR<4J#BNT&W'2MR355-XNXP7!3D!O\
M',3MK"!N?.4>C%"]-R-= :I*/9 FI$OXK./."57,X@/\S4/!T)6$ 2A#P76*
MS;%9!A2)-(G/,%&1D+J$?DB>2@H'E$))V'1!L29; (V8 ="<_\\N(\Q_F$W,
MOI2"Z2I;'M!.;[C%MMTC"ND-8U>T;65RS!QS!U4<B2"--1#L0(5:W6_(Y/J0
M"0R)MB\A'*HQC=ADKN:P=!-H:T _(G!OEK@)Y&[1[67HGC(-VH+W;+R[&V1M
M#,41+?7Z73 FA@Q@4HWDHJPL%0@ XIIR;;D06K'<RL$\_8I%FTSL-JB NRK,
M5HAI5Q2--1SH%!314O#8'B+H,M0<<DO%47ON,@$;&'(44VJ,SG:U:AO*+7/"
MSA^T@;V\[5100'M40F8*; \V60VNHCST<#E#,]6!;R'#AL#)T)_%F^3@YX+F
M\+MH7IO&KH%Z?0)<&]NP'J8\1M*G6N84.9]J@#MFGE XH2JN804HYS3D@ILY
M!O^;AL459A%HP>46QU+31N9J0\ME95!1J@+ K6VR$D52Q58!F\-.6 XYB ",
M0PTK</%@$\C/'8YAD?$"./T%R8^/Y&@%R6=3*DK+7^AFEB1X!C,%!^G5A'"1
M<:S!Q.[QYAS1HA8Z I%JEX:&LC2W#[].K*"+U@QS[.3NO1$)Z^S=+D3FI@'T
M&:'P%^ ].O#B50IU;KT.#\S,JNS.UEP'X#U8$R.\C*)2(0*N1]0E;+"5 R3;
M.:5ZD2(@85F$LM@RN=6Y8MDY[/<OF*B.!5;:MQ]FQJ8A^0QV5L.'[ZSL 61<
MH[A]12C(;YG4!AR(9^,-;D%FND>RL)Q\+O2BD( :J?0B.-L"D)=EW!C&;N/M
M4$+LQ\J8@V96PA:@&):"1AJ&3TR ZQ7"_BXY*(X&)&5N#^;U]F9W2K==VU2'
M38_+B[_(/NE(0$X%ZMI['= %-[T19X"-*JPN]BLS1B\P3KH<RT9*FQW:,\SZ
MD.=>B*MV%^[(X 9>HS%TU&Q!:S>CLTHHH3V@#/*^MHO4&L*T+C/P)\R1M:2B
MV1O/PC8?A9\#V%:W,4<0:A,%]-$&US-+=P >>^Q<H:SMHB#/IU),&8;"G$ZJ
MTW-5,23+"B'G#&IGJ72T2)<P#)A[>"SW+!KPGMG.\-L63C'>A]LM3C6+(>"-
MJ4XDA:"%9D']I3EAZ.C4S0S>3^.X8,[R[3=.ZO+=MP41#M4!MT.^&M#2R%'C
M<AM54;4>E?P*. 83#:'![K>M?JMN,\7 $E%1(<;(HA*W ^'WC^8U<*5)?27<
MN&MOC(/SAN>X0<IC0-SBN3-3M A"6- 7G1E,SYWW]XMZ&FHI2L-&^"."*_S6
MUC[.PER^[;ZV(EQ#J,0=KF.6VL#6(8*H.Q@M,%W4OW&H_IK8SOU=\[WK=?=^
M@_G^$=,&^][>X/_4MIU][\WO8-OOL4Y\HY# UIMYK[?[O8G?P(\Q8)A3"%$N
M'ZT1LR#9P1HDN^OU?KX-GR -#R'>]?;:!']ZMF3.@Q? 9FQ8 N.Z\%N%W,)U
M.W>[;MCU^K\ _G[8[N?JVD=(?39C]O'\%EY9QX*AMP_$4B6BH31&9D#,E\1>
M%)%77?OOIYOH:W_YUVLO\/QMX/F4Q.-RX0J]F,_\>M#]2+.5N+]F%OQ+6_6R
M&%\6XWTWIINQ<(PO&OS0@OO9FM_Z4_CGMKI\>W)5[_>>>D/Z UO0='%R%M+H
M8J)DF<=XBB=54!-TX[62Y8IJ;]\'1>Q9;/5<4WKS=9:JI/DVR^I[,@6=L(X[
M!:")82J@4\GC"@Q[>UY_9Q%(7%G7GE^X]V_L"SV'_P-02P,$%     @ ,3!2
M5<G.:'O/!0  XAX  !@   !C<VEQ+3(P,C$Q,C,Q>&5X,3-D,2YH=&WM66U3
MVS@0_BNZ=-K"3/R>I,$)F:&!3IEIH5?"7.^C;,NQ#EGRR3(A]^MO9=EIDKY
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
M-;8/<+TAM'UA"'W>BN+B5LX$MB)&. ;T;*-I-85$D(QA ]I+3A2L1&IVL%H9
MFN<T;9-?T.8UYM_?>:XS"1H,#N8)-I$VGEI)#O*)JBNS/5Q$- 12UUAW+3B,
M:&MH+L0!678=2^OK'/%EES@XK0^=]ZYM+"&7JA,ZH0Y -G1^05-:)6ANY'3^
M.^:;)(_56&B:2Z8UQ3Y^2,MV*RNBFP.$%+W-&:+;'A+.4IBGJ3P(3=K W]]O
MWP3A'N=/41(VA+#$EW@3FYM4R_8MG',N=D;[AMZOI;H@2$CZHU 8E<Q()9?*
M?V=WO^"J,?]**/OV@M8"S@0USF?[C.=Z()QOKN?!RTE3DX(:"4[6'P;),7U]
M\B19%O1SP/-,=_P^2*3*J#K/!KL;3OT$ZT;B["]02P$"% ,4    "  Q,%)5
M8W8QRVDO  "_-@( $0              @ $     8W-I<2TR,#(Q,3(S,2YX
M<V102P$"% ,4    "  Q,%)53FGAGA$H  #FCP( %0              @ &8
M+P  8W-I<2TR,#(Q,3(S,5]C86PN>&UL4$L! A0#%     @ ,3!25=F-+ N\
M@@  I8H( !4              ( !W%<  &-S:7$M,C R,3$R,S%?9&5F+GAM
M;%!+ 0(4 Q0    ( #$P4E73;4$#X!<! "I5$0 5              "  <O:
M  !C<VEQ+3(P,C$Q,C,Q7VQA8BYX;6Q02P$"% ,4    "  Q,%)5_M*FLO#%
M  "!!@X %0              @ '>\@$ 8W-I<2TR,#(Q,3(S,5]P<F4N>&UL
M4$L! A0#%     @ ,3!25=Z(9TF0$ @ O893 !8              ( ! ;D"
M &-S:7$M,C R,3$R,S%X,C!F82YH=&U02P$"% ,4    "  Q,%)5*J8AM3@)
M  "Y-   &               @ '%R0H 8W-I<2TR,#(Q,3(S,7AE>#$R9#$N
M:'1M4$L! A0#%     @ ,3!250T.6!XY"0  I30  !@              ( !
M,],* &-S:7$M,C R,3$R,S%X97@Q,F0R+FAT;5!+ 0(4 Q0    ( #$P4E7)
MSFA[SP4  .(>   8              "  :+<"@!C<VEQ+3(P,C$Q,C,Q>&5X
M,3-D,2YH=&U02P$"% ,4    "  Q,%)54]_$=L,%   ;'P  &
M    @ &GX@H 8W-I<2TR,#(Q,3(S,7AE>#$S9#(N:'1M4$L! A0#%     @
M,3!256-W Y%N P  YP<  !@              ( !H.@* &-S:7$M,C R,3$R
C,S%X97@Q-60Q+FAT;5!+!08     "P + .T"  !$[ H    !

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